From 4d778ab5cd7b57274ac69f6e7f73b263c212ff46 Mon Sep 17 00:00:00 2001 From: Eldad Zinger Date: Sun, 18 Apr 2010 14:34:33 +0300 Subject: [PATCH] sdp: fix for brutal device removing Kernel always crashed in the following test case: user program: socket+bind+listen+accept. socket accpted. shell: rmmod mlx4_ib user program: close <<< CRASH The fix closes any socket that its ib_device is the device being removed. Signed-off-by: Eldad Zinger --- drivers/infiniband/ulp/sdp/sdp_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c b/drivers/infiniband/ulp/sdp/sdp_main.c index 27a563cf9d90..4aca949bfeea 100644 --- a/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/drivers/infiniband/ulp/sdp/sdp_main.c @@ -2715,6 +2715,8 @@ kill_socks: sk->sk_shutdown |= RCV_SHUTDOWN; sdp_reset(sk); + sdp_close(sk,0); + if ((1 << sk->sk_state) & (TCPF_FIN_WAIT1 | TCPF_CLOSE_WAIT | TCPF_LAST_ACK | TCPF_TIME_WAIT)) { -- 2.50.1