summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndré Almeida <andrealmeid@collabora.com>2019-09-11 11:46:36 -0300
committerJens Axboe <axboe@kernel.dk>2019-09-11 16:04:25 -0600
commitf7c4ce890dd23f2d41ad9630263aad6e9720af58 (patch)
tree342c22408ea5245be96bf4c4461d74555c90ea09
parent4e47ee8fbef08f1711ffcc2063ce0e3250141b16 (diff)
downloadlinux-f7c4ce890dd23f2d41ad9630263aad6e9720af58.tar.bz2
null_blk: validate the number of devices
A negative number of devices is nonsensical, so change the type to unsigned. If the number of devices is 0, it is impossible for userspace to interact with the module, so refuse loading the driver for that case. Signed-off-by: André Almeida <andrealmeid@collabora.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--drivers/block/null_blk_main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/block/null_blk_main.c b/drivers/block/null_blk_main.c
index bd6e5cd02a57..53d4c1529984 100644
--- a/drivers/block/null_blk_main.c
+++ b/drivers/block/null_blk_main.c
@@ -141,7 +141,7 @@ static int g_bs = 512;
module_param_named(bs, g_bs, int, 0444);
MODULE_PARM_DESC(bs, "Block size (in bytes)");
-static int nr_devices = 1;
+static unsigned int nr_devices = 1;
module_param(nr_devices, int, 0444);
MODULE_PARM_DESC(nr_devices, "Number of devices to register");
@@ -1767,6 +1767,10 @@ static int __init null_init(void)
pr_err("null_blk: legacy IO path no longer available\n");
return -EINVAL;
}
+ if (!nr_devices) {
+ pr_err("null_blk: invalid number of devices\n");
+ return -EINVAL;
+ }
if (g_queue_mode == NULL_Q_MQ && g_use_per_node_hctx) {
if (g_submit_queues != nr_online_nodes) {
pr_warn("null_blk: submit_queues param is set to %u.\n",