• David Howells's avatar
    afs: Fix missing lock when replacing VL server list · 6b8812fc
    David Howells authored
    When afs_update_cell() replaces the cell->vl_servers list, it uses RCU
    protocol so that proc is protected, but doesn't take ->vl_servers_lock to
    protect afs_start_vl_iteration() (which does actually take a shared lock).
    
    Fix this by making afs_update_cell() take an exclusive lock when replacing
    ->vl_servers.
    
    Fixes: 0a5143f2 ("afs: Implement VL server rotation")
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    6b8812fc
cell.c 19.5 KB