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.
 #