From: Christoph Hellwig Date: Wed, 23 Jun 2021 14:59:06 +0000 (+0200) Subject: loop: don't allow deleting an unspecified loop device X-Git-Tag: microblaze-v5.15~28^2~18 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=e5d66a10324f2a0c31153fd6210d99a9d00ef047;p=linux-2.6-microblaze.git loop: don't allow deleting an unspecified loop device Passing a negative index to loop_lookup while return any unbound device. Doing that for a delete does not make much sense, so add check to explicitly reject that case. Signed-off-by: Christoph Hellwig Link: https://lore.kernel.org/r/20210623145908.92973-8-hch@lst.de Signed-off-by: Jens Axboe --- diff --git a/drivers/block/loop.c b/drivers/block/loop.c index c18e2930ca11..b217065a6d67 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -2404,6 +2404,11 @@ static int loop_control_remove(int idx) { struct loop_device *lo; int ret; + + if (idx < 0) { + pr_warn("deleting an unspecified loop device is not supported.\n"); + return -EINVAL; + } ret = mutex_lock_killable(&loop_ctl_mutex); if (ret)