[ofa-general] [PATCH 1/1] SDP - bug793: skbuff changes in 2.6.22+

Jim Mott jim at mellanox.com
Mon Nov 26 11:49:53 PST 2007


In recent 64 bit kernels the struct sk_buff fields 'tail' and 'end' 
have changed from pointers to offsets.  This fix for SDP supports
the change and fixes a "kernel BUG at net/core/skbuff.c:95!" problem.


Signed-off-by: Jim Mott <jim at mellanox.com>
---

Index: ofa_1_3_dev_kernel/drivers/infiniband/ulp/sdp/sdp_bcopy.c
===================================================================
--- ofa_1_3_dev_kernel.orig/drivers/infiniband/ulp/sdp/sdp_bcopy.c
2007-11-26 11:49:30.000000000 -0600
+++ ofa_1_3_dev_kernel/drivers/infiniband/ulp/sdp/sdp_bcopy.c
2007-11-26 11:55:48.000000000 -0600
@@ -633,7 +633,11 @@ static void sdp_handle_wc(struct sdp_soc
                        else
                                skb->data_len = 0;
                        skb->data = skb->head;
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
+                       skb->tail = skb_headlen(skb);
+#else
                        skb->tail = skb->head + skb_headlen(skb);
+#endif
                        h = (struct sdp_bsdh *)skb->data;
                        skb_reset_transport_header(skb);
                        ssk->mseq_ack = ntohl(h->mseq);




More information about the general mailing list