diff options
author | Bernard Metzler <bmt@zurich.ibm.com> | 2019-10-04 14:53:56 +0200 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2019-10-22 13:43:10 -0300 |
commit | cf049bb31f7101d9672eaf97ade4fdd5171ddf26 (patch) | |
tree | ec34cda94a0a96727517047b36929af1bced3a7f /drivers/infiniband/sw/siw/siw_cm.c | |
parent | 5a0d523781075529e9c2ff3ba7312ddf4e32609a (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