]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit18f7e8d257bd704e8976540835fd9d3241d769aa
treea2f7b323eff54290c57c0b04f30377d4024c0877
parent177ca39b5310a4c248fe731f63c255d16754ae32
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