]> git.ipfire.org Git - people/ms/linux.git/commit
nvmet-rdma: fix bonding failover possible NULL deref
authorSagi Grimberg <sagi@grimberg.me>
Thu, 2 Apr 2020 15:48:53 +0000 (08:48 -0700)
committerChristoph Hellwig <hch@lst.de>
Sat, 4 Apr 2020 07:06:55 +0000 (09:06 +0200)
commita032e4f6d60d0aca4f6570d2ad33105a2b9ba385
tree8fdfd46d3a31155556ae3a5f74b518ad6b3b0781
parentf0e656e4f253120eb871a53ffab7664530c1d9f4
nvmet-rdma: fix bonding failover possible NULL deref

RDMA_CM_EVENT_ADDR_CHANGE event occur in the case of bonding failover
on normal as well as on listening cm_ids. Hence this event will
immediately trigger a NULL dereference trying to disconnect a queue
for a cm_id that actually belongs to the port.

To fix this we provide a different handler for the listener cm_ids
that will defer a work to disable+(re)enable the port which essentially
destroys and setups another listener cm_id

Reported-by: Alex Lyakas <alex@zadara.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
Tested-by: Alex Lyakas <alex@zadara.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/rdma.c