]> git.pld-linux.org Git - packages/cisco-vpnclient.git/blame - cisco-vpnclient-skbuff_offset.patch
- export KBUILD_NOPEDANTIC=1 for x86_64
[packages/cisco-vpnclient.git] / cisco-vpnclient-skbuff_offset.patch
CommitLineData
51abe00e 1diff -ur vpnclient.old/frag.c vpnclient.new/frag.c
2--- vpnclient.old/frag.c 2007-08-22 15:30:31.000000000 -0400
3+++ vpnclient/frag.c 2007-11-09 09:19:48.000000000 -0500
4@@ -22,7 +22,11 @@
5 #include "frag.h"
6
7 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
8+#ifdef NET_SKBUFF_DATA_USES_OFFSET
9+#define SKB_IPHDR(skb) ((struct iphdr*)(skb->head+skb->network_header))
10+#else
11 #define SKB_IPHDR(skb) ((struct iphdr*)skb->network_header)
12+#endif
13 #else
14 #define SKB_IPHDR(skb) skb->nh.iph
15 #endif
16diff -ur vpnclient.old/interceptor.c vpnclient.new/interceptor.c
17--- vpnclient.old/interceptor.c 2007-08-22 15:30:31.000000000 -0400
18+++ vpnclient/interceptor.c 2007-11-09 10:03:01.000000000 -0500
19@@ -630,19 +630,31 @@
20
21 reset_inject_status(&pBinding->recv_stat);
22 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
23+#ifdef NET_SKBUFF_DATA_USES_OFFSET
24+ if (skb->mac_header >= (skb->data-skb->head))
25+#else
26 if (skb->mac_header)
27+#endif
28 #else
29 if (skb->mac.raw)
30 #endif
31 {
32 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
33+#ifdef NET_SKBUFF_DATA_USES_OFFSET
34+ hard_header_len = skb->mac_header - (skb->data - skb->head);
35+#else
36 hard_header_len = skb->data - skb->mac_header;
37+#endif
38 #else
39 hard_header_len = skb->data - skb->mac.raw;
40 #endif
41 if ((hard_header_len < 0) || (hard_header_len > skb_headroom(skb)))
42 {
43- printk(KERN_DEBUG "bad hh len %d\n", hard_header_len);
44+ printk(KERN_DEBUG "bad hh len %d, mac: %d, data: %p, head: %p\n",
45+ hard_header_len,
46+ skb->mac_header,
47+ skb->data,
48+ skb->head);
49 hard_header_len = 0;
50 }
51 }
52@@ -657,7 +669,11 @@
53 {
54 case ETH_HLEN:
55 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
56+#ifdef NET_SKBUFF_DATA_USES_OFFSET
57+ CniNewFragment(ETH_HLEN, skb->head+skb->mac_header, &MacHdr, CNI_USE_BUFFER);
58+#else
59 CniNewFragment(ETH_HLEN, skb->mac_header, &MacHdr, CNI_USE_BUFFER);
60+#endif
61 #else
62 CniNewFragment(ETH_HLEN, skb->mac.raw, &MacHdr, CNI_USE_BUFFER);
63 #endif
64@@ -775,7 +791,11 @@
65 #endif //LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
66 reset_inject_status(&pBinding->send_stat);
67 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
68+#ifdef NET_SKBUFF_DATA_USES_OFFSET
69+ hard_header_len = skb->network_header - (skb->data - skb->head);
70+#else
71 hard_header_len = skb->network_header - skb->data;
72+#endif
73 #else
74 hard_header_len = skb->nh.raw - skb->data;
75 #endif
76diff -ur vpnclient.old/linuxcniapi.c vpnclient.new/linuxcniapi.c
77--- vpnclient.old/linuxcniapi.c 2007-08-22 15:30:31.000000000 -0400
78+++ vpnclient/linuxcniapi.c 2007-11-09 09:17:50.000000000 -0500
79@@ -338,8 +338,13 @@
80 skb->ip_summed = CHECKSUM_UNNECESSARY;
81
82 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
83+#ifdef NET_SKBUFF_DATA_USES_OFFSET
84+ skb->network_header = skb->data - skb->head;
85+ skb->mac_header = pMac - skb->head;
86+#else
87 skb->network_header = (sk_buff_data_t) skb->data;
88 skb->mac_header = (sk_buff_data_t)pMac;
89+#endif
90 #else
91 skb->nh.iph = (struct iphdr *) skb->data;
92 skb->mac.raw = pMac;
93@@ -478,8 +483,13 @@
94 skb->dev = pBinding->pDevice;
95
96 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
97+#ifdef NET_SKBUFF_DATA_USES_OFFSET
98+ skb->network_header = skb->data - skb->head;
99+ skb->mac_header = pMac - skb->head;
100+#else
101 skb->mac_header = (sk_buff_data_t)pMac;
102 skb->network_header = (sk_buff_data_t)pIP;
103+#endif
104 #else
105 skb->mac.raw = pMac;
106 skb->nh.raw = pIP;
107@@ -487,8 +497,13 @@
108
109 /*ip header length is in 32bit words */
110 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
111+#ifdef NET_SKBUFF_DATA_USES_OFFSET
112+ skb->transport_header =
113+ (pIP + (((struct iphdr*)(skb->head+skb->network_header))->ihl * 4)) - skb->head;
114+#else
115 skb->transport_header = (sk_buff_data_t)
116 (pIP + (((struct iphdr*)(skb->network_header))->ihl * 4));
117+#endif
118 #else
119 skb->h.raw = pIP + (skb->nh.iph->ihl * 4);
120 #endif
121diff -ur vpnclient.old/linuxkernelapi.c vpnclient.new/linuxkernelapi.c
122--- vpnclient.old/linuxkernelapi.c 2007-08-22 15:30:31.000000000 -0400
123+++ vpnclient/linuxkernelapi.c 2007-11-09 09:23:21.000000000 -0500
124@@ -9,7 +9,7 @@
125 void*rc = kmalloc(size, GFP_ATOMIC);
126 if(NULL == rc)
127 {
128- printk("<1> os_malloc size %d failed\n",size);
129+ printk("<1> os_malloc size %ld failed\n",size);
130 }
131
132 return rc;
This page took 0.07717 seconds and 4 git commands to generate.