[openib-general] [PATCH] sdp: fix oops in sdp_link.c
Michael S. Tsirkin
mst at mellanox.co.il
Mon Aug 22 08:47:33 PDT 2005
Hi!
I was getting the following oopsen in sdp_link.c
I plan to commit the fix (below) tomorrow, after some more testing.
Comments?
Unable to handle kernel NULL pointer dereference at 0000000000000090 RIP:
<ffffffff80379274>{arp_send+4}
PGD 17c8f4067 PUD 17cfa3067 PMD 0
Oops: 0000 [1] SMP
CPU 0
Modules linked in: ib_sdp ib_cm ib_ipoib ib_sa ib_umad ib_mthca ib_mad ib_core
Pid: 2715, comm: sdp_wq/0 Not tainted 2.6.12.2
RIP: 0010:[<ffffffff80379274>] <ffffffff80379274>{arp_send+4}
RSP: 0018:ffff8101775e9d48 EFLAGS: 00010296
RAX: 00000000000000d0 RBX: ffff8101787dee80 RCX: 0000000000000000
RDX: 000000009b08040b RSI: 0000000000000806 RDI: 0000000000000001
RBP: ffff8101787dee00 R08: 000000009c08040b R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000292 R15: ffffffff8805bd77
FS: 0000000000000000(0000) GS:ffffffff80579f00(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000090 CR3: 000000017d45b000 CR4: 00000000000006e0
Process sdp_wq/0 (pid: 2715, threadinfo ffff8101775e8000, task ffff8101760482f0)
Stack: 0000000200000018 0000000000000000 ffff8101760482f0 ffffffff8805c102
00000000000000d0 0000000000000000 00000234b5c208f9 ffffffff803bfeb2
ffff8101775e9e58 ffffffff803bff0b
Call Trace:<ffffffff8805c102>{:ib_sdp:do_link_path_lookup+907}
<ffffffff803bfeb2>{thread_return+0} <ffffffff803bff0b>{thread_return+89}
<ffffffff801412df>{worker_thread+476} <ffffffff8012d7c5>{default_wake_function+0}
<ffffffff8012d7c5>{default_wake_function+0} <ffffffff80145292>{keventd_create_kthread+0}
<ffffffff80141103>{worker_thread+0} <ffffffff80145292>{keventd_create_kthread+0}
<ffffffff801453c3>{kthread+204} <ffffffff8010e14f>{child_rip+8}
<ffffffff80145292>{keventd_create_kthread+0} <ffffffff801452f7>{kthread+0}
<ffffffff8010e147>{child_rip+0}
Code: 80 b9 90 00 00 00 00 4c 8b 54 24 20 48 8b 44 24 28 3e 78 1f
RIP <ffffffff80379274>{arp_send+4} RSP <ffff8101775e9d48>
CR2: 0000000000000090
<6>ib_sdp CRTL: <13> <2100> RELEASE: linger <0:0> data <0:0>
nfs warning: mount version older than kernel
---
Signed-off-by: Michael S. Tsirkin <mst at mellanox.co.il>
If info->ca is present, go to path query, dont arp:
we dont have the net device, anyway.
Index: linux-2.6.12.2/drivers/infiniband/ulp/sdp/sdp_link.c
===================================================================
--- linux-2.6.12.2.orig/drivers/infiniband/ulp/sdp/sdp_link.c 2005-08-22 18:23:27.000000000 +0300
+++ linux-2.6.12.2/drivers/infiniband/ulp/sdp/sdp_link.c 2005-08-22 18:23:24.000000000 +0300
@@ -354,10 +354,10 @@ static void do_link_path_lookup(void *da
if (info->query)
goto done;
/*
- * route information present, but no path query, goto re-arp.
+ * route information present, but no path query.
*/
if (info->ca)
- goto arp;
+ goto path;
result = ip_route_output_key(&rt, &fl);
if (result < 0 || !rt) {
--
MST
More information about the general
mailing list