diff options
author | Ronnie Sahlberg <rsahlberg@whamcloud.com> | 2025-06-26 05:20:45 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-06-26 16:31:24 +0300 |
commit | 969127bf0783a4ac0c8a27e633a9e8ea1738583f (patch) | |
tree | 74f3758ffd2ce1654b7e8d110e4034baa116878a | |
parent | 4c8a951787ffc4b61a547db9866196104971b5fd (diff) | |
download | linux-969127bf0783a4ac0c8a27e633a9e8ea1738583f.tar.xz |
ublk: sanity check add_dev input for underflow
Add additional checks that queue depth and number of queues are
non-zero.
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250626022046.235018-1-ronniesahlberg@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | drivers/block/ublk_drv.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c index d441d3259edb..c3e3c3b65a6d 100644 --- a/drivers/block/ublk_drv.c +++ b/drivers/block/ublk_drv.c @@ -2849,7 +2849,8 @@ static int ublk_ctrl_add_dev(const struct ublksrv_ctrl_cmd *header) if (copy_from_user(&info, argp, sizeof(info))) return -EFAULT; - if (info.queue_depth > UBLK_MAX_QUEUE_DEPTH || info.nr_hw_queues > UBLK_MAX_NR_QUEUES) + if (info.queue_depth > UBLK_MAX_QUEUE_DEPTH || !info.queue_depth || + info.nr_hw_queues > UBLK_MAX_NR_QUEUES || !info.nr_hw_queues) return -EINVAL; if (capable(CAP_SYS_ADMIN)) |