]> git.baikalelectronics.ru Git - kernel.git/commit
nvme-rdma: Avoid double freeing of async event data
authorPrabhath Sajeepa <psajeepa@purestorage.com>
Mon, 9 Mar 2020 21:07:53 +0000 (15:07 -0600)
committerKeith Busch <kbusch@kernel.org>
Tue, 10 Mar 2020 20:57:39 +0000 (13:57 -0700)
commit9f774b2a9576d0592a1faf5cbdcbfa31f34746d4
tree754f9cc01c8d3c671a63d23ed841aa36d5e4a7d8
parentd798b5ac4e4b720c7ba779b8bfdd9044e8ec3cbe
nvme-rdma: Avoid double freeing of async event data

The timeout of identify cmd, which is invoked as part of admin queue
creation, can result in freeing of async event data both in
nvme_rdma_timeout handler and error handling path of
nvme_rdma_configure_admin queue thus causing NULL pointer reference.
Call Trace:
 ? nvme_rdma_setup_ctrl+0x223/0x800 [nvme_rdma]
 nvme_rdma_create_ctrl+0x2ba/0x3f7 [nvme_rdma]
 nvmf_dev_write+0xa54/0xcc6 [nvme_fabrics]
 __vfs_write+0x1b/0x40
 vfs_write+0xb2/0x1b0
 ksys_write+0x61/0xd0
 __x64_sys_write+0x1a/0x20
 do_syscall_64+0x60/0x1e0
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reviewed-by: Roland Dreier <roland@purestorage.com>
Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Prabhath Sajeepa <psajeepa@purestorage.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/rdma.c