• Jan Kara's avatar
    bdev: Fixup error handling in blkdev_get() · e91455ba
    Jan Kara authored
    Commit 89e524c0 ("loop: Fix mount(2) failure due to race with
    LOOP_SET_FD") converted blkdev_get() to use the new helpers for
    finishing claiming of a block device. However the conversion botched the
    error handling in blkdev_get() and thus the bdev has been marked as held
    even in case __blkdev_get() returned error. This led to occasional
    warnings with block/001 test from blktests like:
    
    kernel: WARNING: CPU: 5 PID: 907 at fs/block_dev.c:1899 __blkdev_put+0x396/0x3a0
    
    Correct the error handling.
    
    CC: stable@vger.kernel.org
    Fixes: 89e524c0 ("loop: Fix mount(2) failure due to race with LOOP_SET_FD")
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    e91455ba
block_dev.c 56.6 KB