summaryrefslogtreecommitdiffstats
path: root/drivers/nvme/host/fabrics.c
diff options
context:
space:
mode:
authorJianchao Wang <jianchao.w.wang@oracle.com>2018-05-24 03:27:38 +0200
committerChristoph Hellwig <hch@lst.de>2018-05-25 16:50:12 +0200
commit2e050f00a0f0e07467050cb4afae0234941e5bf3 (patch)
treed4758c5ca476451664c39c938f83d08cecae86cd /drivers/nvme/host/fabrics.c
parentnvme-pci: Fix AER reset handling (diff)
downloadlinux-2e050f00a0f0e07467050cb4afae0234941e5bf3.tar.xz
linux-2e050f00a0f0e07467050cb4afae0234941e5bf3.zip
nvme-rdma: stop admin queue before freeing it
For any failure after nvme_rdma_start_queue in nvme_rdma_configure_admin_queue, the admin queue will be freed with the NVME_RDMA_Q_LIVE flag still set. Once nvme_rdma_stop_queue is invoked, that will cause a use-after-free. BUG: KASAN: use-after-free in rdma_disconnect+0x1f/0xe0 [rdma_cm] To fix it, call nvme_rdma_stop_queue for all the failed cases after nvme_rdma_start_queue. Signed-off-by: Jianchao Wang <jianchao.w.wang@oracle.com> Suggested-by: Sagi Grimberg <sagi@grimberg.me> Reviewed-by: Max Gurtovoy <maxg@mellanox.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/nvme/host/fabrics.c')
0 files changed, 0 insertions, 0 deletions