• Alasdair G Kergon's avatar
    dm table: fix upgrade mode race · 570b9d96
    Alasdair G Kergon authored
    upgrade_mode() sets bdev to NULL temporarily, and does not have any
    locking to exclude anything from seeing that NULL.
    
    In dm_table_any_congested() bdev_get_queue() can dereference that NULL and
    cause a reported oops.
    
    Fix this by not changing that field during the mode upgrade.
    
    Cc: stable@kernel.org
    Cc: Neil Brown <neilb@suse.de>
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    570b9d96
dm-table.c 22 KB