]> git.baikalelectronics.ru Git - kernel.git/commit
nvme-tcp: fix possible crash in write_zeroes processing
authorSagi Grimberg <sagi@grimberg.me>
Mon, 23 Mar 2020 22:06:30 +0000 (15:06 -0700)
committerChristoph Hellwig <hch@lst.de>
Tue, 31 Mar 2020 15:57:28 +0000 (17:57 +0200)
commit527ac16c0d853a0883b958161d93182f9ae5be6c
tree96ef86307c52bda1f9f810b700777d4b5b78791e
parentd9c8366b193d8e3c462cddef822848021d04e555
nvme-tcp: fix possible crash in write_zeroes processing

We cannot look at blk_rq_payload_bytes without first checking
that the request has a mappable physical segments first (e.g.
blk_rq_nr_phys_segments(rq) != 0) and only then to take the
request payload bytes. This caused us to send a wrong sgl to
the target or even dereference a non-existing buffer in case
we actually got to the data send sequence (if it was in-capsule).

Reported-by: Tony Asleson <tasleson@redhat.com>
Suggested-by: Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/tcp.c