diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 4f968e3071ed..3572b50dbf0a 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1044,6 +1044,10 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, if (!file) return -EBADF; + + if (unlikely(!file->f_op->read_iter)) + return -EINVAL; + is_loop = is_loop_device(file); /* This is safe, since we have a reference from open(). */