]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
scsi: sd: reject invalid pr_read_keys() num_keys values
authorStefan Hajnoczi <stefanha@redhat.com>
Mon, 1 Dec 2025 21:43:26 +0000 (16:43 -0500)
committerJens Axboe <axboe@kernel.dk>
Thu, 4 Dec 2025 14:19:26 +0000 (07:19 -0700)
commitab4fb1d8f6e98575703474491538febff6b1a2c9
tree832c38b257f2e31410af3a8f331fb1e78415c056
parent48f22f80938d94c34319f90674de6102ca37eabc
scsi: sd: reject invalid pr_read_keys() num_keys values

The pr_read_keys() interface has a u32 num_keys parameter. The SCSI
PERSISTENT RESERVE IN command has a maximum READ KEYS service action
size of 65536 bytes. Reject num_keys values that are too large to fit
into the SCSI command.

This will become important when pr_read_keys() is exposed to untrusted
userspace via an <linux/pr.h> ioctl.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/scsi/sd.c