summaryrefslogtreecommitdiff
path: root/drivers/infiniband/sw/siw/siw_cm.c
diff options
context:
space:
mode:
authorBernard Metzler <bmt@zurich.ibm.com>2019-10-04 14:53:56 +0200
committerJason Gunthorpe <jgg@mellanox.com>2019-10-22 13:43:10 -0300
commitcf049bb31f7101d9672eaf97ade4fdd5171ddf26 (patch)
treeec34cda94a0a96727517047b36929af1bced3a7f /drivers/infiniband/sw/siw/siw_cm.c
parent5a0d523781075529e9c2ff3ba7312ddf4e32609a (diff)
RDMA/siw: Fix SQ/RQ drain logic
Storage ULPs (e.g. iSER & NVMeOF) use ib_drain_qp() to drain QP/CQ. Current SIW's own drain routines do not properly wait until all SQ/RQ elements are completed and reaped from the CQ. This may cause touch after free issues. New logic relies on generic __ib_drain_sq()/__ib_drain_rq() posting a final work request, which SIW immediately flushes to CQ. Fixes: 303ae1cdfdf7 ("rdma/siw: application interface") Link: https://lore.kernel.org/r/20191004125356.20673-1-bmt@zurich.ibm.com Signed-off-by: Krishnamraju Eraparaju <krishna2@chelsio.com> Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/sw/siw/siw_cm.c')
0 files changed, 0 insertions, 0 deletions