Skip to content

Commit 2704024

Browse files
Tetsuo Handaaxboe
authored andcommitted
loop: add missing bd_abort_claiming in loop_set_status
Commit 08e136e ("loop: don't change loop device under exclusive opener in loop_set_status") forgot to call bd_abort_claiming() when mutex_lock_killable() failed. Fixes: 08e136e ("loop: don't change loop device under exclusive opener in loop_set_status") Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 6acd4ac commit 2704024

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/block/loop.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1245,7 +1245,8 @@ loop_set_status(struct loop_device *lo, blk_mode_t mode,
12451245

12461246
err = mutex_lock_killable(&lo->lo_mutex);
12471247
if (err)
1248-
return err;
1248+
goto out_abort_claiming;
1249+
12491250
if (lo->lo_state != Lo_bound) {
12501251
err = -ENXIO;
12511252
goto out_unlock;
@@ -1284,6 +1285,7 @@ loop_set_status(struct loop_device *lo, blk_mode_t mode,
12841285
}
12851286
out_unlock:
12861287
mutex_unlock(&lo->lo_mutex);
1288+
out_abort_claiming:
12871289
if (!(mode & BLK_OPEN_EXCL))
12881290
bd_abort_claiming(bdev, loop_set_status);
12891291
out_reread_partitions:

0 commit comments

Comments
 (0)