]> www.infradead.org Git - users/dwmw2/linux.git/commit
nvme-pci: use sgls for all user requests if possible
authorKeith Busch <kbusch@kernel.org>
Fri, 8 Nov 2024 23:41:08 +0000 (15:41 -0800)
committerKeith Busch <kbusch@kernel.org>
Mon, 18 Nov 2024 17:27:47 +0000 (09:27 -0800)
commit6fad84a4d624c300d03ebba457cc641765050c43
treeafba7e04889f8d75bffbcdd8eab4d1fe133c2b41
parent6399a0db8cd61eedbfb4b7809a4f4699157a9bf8
nvme-pci: use sgls for all user requests if possible

If the device supports SGLs, use these for all user requests. This
format encodes the expected transfer length so it can catch short buffer
errors in a user command, whether it occurred accidently or maliciously.

For controllers that support SGL data mode, this is a viable mitigation
to CVE-2023-6238. For controllers that don't support SGLs, log a warning
in the passthrough path since not having the capability can corrupt
data if the interface is not used correctly.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/ioctl.c
drivers/nvme/host/pci.c