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 <[EMAIL PROTECTED]>
---

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);

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to