Commit 8c847285 authored by Ronnie Sahlberg's avatar Ronnie Sahlberg Committed by Jens Axboe
Browse files

ublk: santizize the arguments from userspace when adding a device



Sanity check the values for queue depth and number of queues
we get from userspace when adding a device.

Signed-off-by: default avatarRonnie Sahlberg <rsahlberg@whamcloud.com>
Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
Fixes: 71f28f31 ("ublk_drv: add io_uring based userspace block driver")
Fixes: 62fe99ce ("ublk: add read()/write() support for ublk char device")
Link: https://lore.kernel.org/r/20250619021031.181340-1-ronniesahlberg@gmail.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent cffc873d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2825,6 +2825,9 @@ 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)
		return -EINVAL;

	if (capable(CAP_SYS_ADMIN))
		info.flags &= ~UBLK_F_UNPRIVILEGED_DEV;
	else if (!(info.flags & UBLK_F_UNPRIVILEGED_DEV))