r1134 - trunk/kernel-2.4/source/kernel-source-2.4.26-2.4.26/debian/patches
Simon Horman
horms@haydn.debian.org
Sun, 15 Aug 2004 19:03:31 -0600
Author: horms
Date: 2004-08-15 19:03:14 -0600 (Sun, 15 Aug 2004)
New Revision: 1134
Modified:
trunk/kernel-2.4/source/kernel-source-2.4.26-2.4.26/debian/patches/patch-2.4.26-6
Log:
Fix symbol problems in xfrm update
Modified: trunk/kernel-2.4/source/kernel-source-2.4.26-2.4.26/debian/patches/patch-2.4.26-6
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.26-2.4.26/debian/patches/patch-2.4.26-6 2004-08-16 00:55:01 UTC (rev 1133)
+++ trunk/kernel-2.4/source/kernel-source-2.4.26-2.4.26/debian/patches/patch-2.4.26-6 2004-08-16 01:03:14 UTC (rev 1134)
@@ -5746,8 +5746,8 @@
EXPORT_SYMBOL(xfrm_get_acqseq);
diff -Nru a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
--- a/net/xfrm/xfrm_output.c 2004-07-28 21:35:50 -07:00
-+++ /dev/null Wed Dec 31 16:00:00 196900
-@@ -1,46 +0,0 @@
+--- b/net/xfrm/xfrm_output.c 2004-07-28 21:35:50 -07:00
+@@ -1,46 +1 @@
-/*
- * generic xfrm output routines
- *
@@ -5794,6 +5794,7 @@
-out:
- return err;
-}
++/* Dummy File as dpkg-source does not handle file deletion */
diff -Nru a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
--- a/net/xfrm/xfrm_state.c 2004-07-28 21:35:50 -07:00
+++ b/net/xfrm/xfrm_state.c 2004-07-28 21:35:50 -07:00
@@ -5814,6 +5815,146 @@
struct xfrm_state *
xfrm_state_lookup(xfrm_address_t *daddr, u32 spi, u8 proto,
unsigned short family)
+diff -u a/net/ipv6/ah6.c b/net/ipv6/ah6.c
+--- a/net/ipv6/ah6.c.orig 2004-08-12 16:54:08.000000000 +0900
++++ b/net/ipv6/ah6.c 2004-08-15 11:56:43.000000000 +0900
+@@ -174,11 +174,15 @@
+ }
+
+ spin_lock_bh(&x->lock);
+- err = xfrm_check_output(x, skb, AF_INET);
++ err = xfrm_state_check(x, skb);
+ if (err)
+ goto error;
+
+ if (x->props.mode) {
++ err = xfrm6_tunnel_check_size(skb);
++ if (err)
++ goto error;
++
+ iph = skb->nh.ipv6h;
+ skb->nh.ipv6h = (struct ipv6hdr*)skb_push(skb, x->props.header_len);
+ skb->nh.ipv6h->version = 6;
+diff -u a/net/ipv6/esp6.c b/net/ipv6/esp6.c
+--- a/net/ipv6/esp6.c.orig 2004-08-12 16:54:08.000000000 +0900
++++ b/net/ipv6/esp6.c 2004-08-15 11:57:00.000000000 +0900
+@@ -76,14 +76,16 @@
+ }
+
+ spin_lock_bh(&x->lock);
+- err = xfrm_check_output(x, skb, AF_INET6);
++ err = xfrm_state_check(x, skb);
+ if (err)
+ goto error;
+- err = -ENOMEM;
+-
+- /* Strip IP header in transport mode. Save it. */
+
+- if (!x->props.mode) {
++ if (x->props.mode) {
++ err = xfrm6_tunnel_check_size(skb);
++ if (err)
++ goto error;
++ } else {
++ /* Strip IP header in transport mode. Save it. */
+ hdr_len = ip6_find_1stfragopt(skb, &prevhdr);
+ nexthdr = *prevhdr;
+ *prevhdr = IPPROTO_ESP;
+@@ -97,6 +99,7 @@
+ }
+
+ /* Now skb is pure payload to encrypt */
++ err = -ENOMEM;
+
+ /* Round to block size */
+ clen = skb->len;
+diff -u a/net/ipv6/ipcomp6.c b/net/ipv6/ipcomp6.c
+--- a/net/ipv6/ipcomp6.c.orig 2004-08-12 16:54:08.000000000 +0900
++++ b/net/ipv6/ipcomp6.c 2004-08-15 11:42:38.000000000 +0900
+@@ -150,11 +150,15 @@
+
+ spin_lock_bh(&x->lock);
+
+- err = xfrm_check_output(x, skb, AF_INET6);
++ err = xfrm_state_check(x, skb);
+ if (err)
+ goto error;
+
+ if (x->props.mode) {
++ err = xfrm6_tunnel_check_size(skb);
++ if (err)
++ goto error;
++
+ hdr_len = sizeof(struct ipv6hdr);
+ nexthdr = IPPROTO_IPV6;
+ iph = skb->nh.ipv6h;
+diff -u a/net/ipv4/ah4.c b/net/ipv4/ah4.c
+--- a/net/ipv4/ah4.c.orig 2004-08-12 16:54:08.000000000 +0900
++++ b/net/ipv4/ah4.c 2004-08-15 11:46:18.000000000 +0900
+@@ -73,12 +73,15 @@
+ }
+
+ spin_lock_bh(&x->lock);
+- err = xfrm_check_output(x, skb, AF_INET);
++ err = xfrm_state_check(x, skb);
+ if (err)
+ goto error;
+
+ iph = skb->nh.iph;
+ if (x->props.mode) {
++ err = xfrm4_tunnel_check_size(skb);
++ if (err)
++ goto error;
+ top_iph = (struct iphdr*)skb_push(skb, x->props.header_len);
+ top_iph->ihl = 5;
+ top_iph->version = 4;
+diff -u a/net/ipv4/esp4.c b/net/ipv4/esp4.c
+--- a/net/ipv4/esp4.c.orig 2004-08-12 16:54:08.000000000 +0900
++++ b/net/ipv4/esp4.c 2004-08-15 11:48:12.000000000 +0900
+@@ -48,13 +48,16 @@
+ }
+
+ spin_lock_bh(&x->lock);
+- err = xfrm_check_output(x, skb, AF_INET);
++ err = xfrm_state_check(x, skb);
+ if (err)
+ goto error;
+- err = -ENOMEM;
+
+- /* Strip IP header in transport mode. Save it. */
+- if (!x->props.mode) {
++ if (x->props.mode) {
++ err = xfrm4_tunnel_check_size(skb);
++ if (err)
++ goto error;
++ } else {
++ /* Strip IP header in transport mode. Save it. */
+ iph = skb->nh.iph;
+ memcpy(&tmp_iph, iph, iph->ihl*4);
+ __skb_pull(skb, iph->ihl*4);
+diff -u a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c
+--- a/net/ipv4/ipcomp.c.orig 2004-08-15 11:25:51.000000000 +0900
++++ b/net/ipv4/ipcomp.c 2004-08-15 11:50:12.000000000 +0900
+@@ -168,12 +168,16 @@
+ }
+
+ spin_lock_bh(&x->lock);
+- err = xfrm_check_output(x, skb, AF_INET);
++ err = xfrm_state_check(x, skb);
+ if (err)
+ goto error;
+
+- /* Don't bother compressing */
+- if (!x->props.mode) {
++ if (x->props.mode) {
++ err = xfrm4_tunnel_check_size(skb);
++ if (err)
++ goto error;
++ } else {
++ /* Don't bother compressing */
+ iph = skb->nh.iph;
+ hdr_len = iph->ihl * 4;
+ }
#ChangeSet1.1722.2.41
# This is a BitKeeper generated diff -Nru style patch.
#