diff --git a/drivers/block/zloop.c b/drivers/block/zloop.c index f0aca9d43851..65634a39b0bf 100644 --- a/drivers/block/zloop.c +++ b/drivers/block/zloop.c @@ -1132,6 +1132,11 @@ static int zloop_init_zone(struct zloop_device *zlo, struct zloop_options *opts, return PTR_ERR(zone->file); } + if (!zone->file->f_op->read_iter || !zone->file->f_op->write_iter) { + ret = -EINVAL; + goto out_fput; + } + if (zlo->block_size) { ret = zloop_get_block_size(zlo, zone); if (ret)