diff --git a/[refs] b/[refs] index f66117a9fe33..5e9ae2daa176 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22e6c1b39c648850438decd491f62d311800c7db +refs/heads/master: 3e88c17d404c5787afd5bd1763380317f5ccbf84 diff --git a/trunk/drivers/block/loop.c b/trunk/drivers/block/loop.c index 74bf0255e98f..9c3b94e8f03b 100644 --- a/trunk/drivers/block/loop.c +++ b/trunk/drivers/block/loop.c @@ -839,7 +839,9 @@ static int loop_set_fd(struct loop_device *lo, struct file *lo_file, set_blocksize(bdev, lo_blocksize); - kernel_thread(loop_thread, lo, CLONE_KERNEL); + error = kernel_thread(loop_thread, lo, CLONE_KERNEL); + if (error < 0) + goto out_putf; wait_for_completion(&lo->lo_done); return 0;