1) The original kernel oops is in __neigh_event_send in
net/core/neighbour.c. When the function tries to call the
neigh->ops->solicit() routine, the value for neigh->ops->solicit is NULL.
2) I put in some code to check if the aformentioned variable is null and
to 'return 1;' if it is. I'm having trouble determining where the values
are set up in the first place though.
3) After doing #2, the system pulls an Oops again, but this time it's in
schedule() and I get the message 'Scheduling in interrupt'. This traces
back to interruptible_sleep_on() which is called from wait_for_packet()
which is called from skb_recv_datagram().
This is about all the information I currently have, as scribbling down
crash dumps by hand is not a lot of fun, and I am unsure where to go
looking next to fix this. Any comments, pointers (non-NULL please) or
suggestions?
Jason
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu