IB/rds_rdma: unloading of ofed stack causes page fault panic
This issue surfaced at the tail end of OFED functional automatic test suite
while unloading ofed modules resulting in following stack trace:
BUG: unable to handle kernel paging request at
ffffffffa0abd1a0
IP: [<
ffffffffa0abd1a0>] 0xffffffffa0abd1a0
Modules linked in: rds(-) ib_ipoib ... dm_mod [last unloaded: rds_rdma]
Workqueue: krdsd 0xffffffffa0abd1a0
task:
ffff880670ac8df0 ti:
ffff880666654000 task.ti:
ffff880666654000
RIP: 0010:[<
ffffffffa0abd1a0>] [<
ffffffffa0abd1a0>] 0xffffffffa0abd1a0
RSP: 0018:
ffff880666657de0 EFLAGS:
00010286
RAX:
0000000000000600 RBX:
ffff880664a03380 RCX:
dead000000200200
RDX:
0000000000000001 RSI:
0000000000000000 RDI:
ffff880664a03380
RBP:
ffff880666657e38 R08:
ffff880664a03388 R09:
0000000000000000
R10:
0000000000000000 R11:
0000000000000000 R12:
ffff880674279c80
R13:
ffff880675169800 R14:
ffff880671a5dd00 R15:
0000000000000000
FS:
0000000000000000(0000) GS:
ffff88067fc00000(0000) GS:
0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0:
000000008005003b
CR2:
ffffffffa0abd1a0 CR3:
0000000001a56000 CR4:
00000000000007e0
Stack:
ffffffff810962d6 000000000000000b ffff880664a03388 ffff880675169800
ffff880671a5dd15 ffff880674279cb0 ffff880674279c80 ffff880675169800
ffff880675169bc0 ffff880674279cb0 ffff880675169818 ffff880666657eb8
Call Trace:
[<
ffffffff810962d6>] ? process_one_work+0x146/0x450
The root cause for panic is failure to purge an active delayed work
request for active bonding initial failover work.
The fix is to cancel active bonding initial failover delayed work if
still active at module unload.
Orabug:
20861212
Signed-off-by: Rama Nichanamatlu <rama.nichanamatlu@oracle.com>
Acked-by: Mukesh Kacker <mukesh.kacker@oracle.com>