• NeilBrown's avatar
    md/bitmap: protect against bitmap removal while being updated. · f1416ea0
    NeilBrown authored
    commit aa5cbd10 upstream.
    
    A write intent bitmap can be removed from an array while the
    array is active.
    When this happens, all IO is suspended and flushed before the
    bitmap is removed.
    However it is possible that bitmap_daemon_work is still running to
    clear old bits from the bitmap.  If it is, it can dereference the
    bitmap after it has been freed.
    
    So introduce a new mutex to protect bitmap_daemon_work and get it
    before destroying a bitmap.
    
    This is suitable for any current -stable kernel.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    f1416ea0
md.c 179 KB