RDS: IB: fix panic due to handlers running post teardown
authorSantosh Shilimkar <santosh.shilimkar@oracle.com>
Thu, 29 Sep 2016 18:07:11 +0000 (11:07 -0700)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Mon, 2 Jan 2017 22:02:55 +0000 (14:02 -0800)
commitcf657269d311d575eb196c7045579b3443631b8b
treea2f7b323eff54290c57c0b04f30377d4024c0877
parent941f8d55f6d613a460a5e080d25a38509f45eb75
RDS: IB: fix panic due to handlers running post teardown

Shutdown code reaping loop takes care of emptying the
CQ's before they being destroyed. And once tasklets are
killed, the hanlders are not expected to run.

But because of core tasklet code issues, tasklet handler could
still run even after tasklet_kill,
RDS IB shutdown code already reaps the CQs before freeing
cq/qp resources so as such the handlers have nothing left
to do post shutdown.

On other hand any handler running after teardown and trying
to access already freed qp/cq resources causes issues
Patch fixes this race by  makes sure that handlers returns
without any action post teardown.

Reviewed-by: Wengang <wen.gang.wang@oracle.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
net/rds/ib.h
net/rds/ib_cm.c