Bug fix that makes the kernel pass the test suite again.
authorSapan Bhatia <sapanb@cs.princeton.edu>
Wed, 25 Nov 2009 22:30:09 +0000 (22:30 +0000)
committerSapan Bhatia <sapanb@cs.princeton.edu>
Wed, 25 Nov 2009 22:30:09 +0000 (22:30 +0000)
linux-2.6-521-packet-tagging.patch

index 3101e30..5ad9a15 100644 (file)
@@ -1,7 +1,7 @@
-diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/include/linux/skbuff.h linux-2.6.27.10-vs2.3.x-P521/include/linux/skbuff.h
---- linux-2.6.27.10-vs2.3.x-P/include/linux/skbuff.h   2008-10-13 14:52:09.000000000 +0200
-+++ linux-2.6.27.10-vs2.3.x-P521/include/linux/skbuff.h        2009-01-12 01:18:23.000000000 +0100
-@@ -330,6 +330,7 @@ struct sk_buff {
+diff -Nurb linux-2.6.27-510/include/linux/skbuff.h linux-2.6.27-521/include/linux/skbuff.h
+--- linux-2.6.27-510/include/linux/skbuff.h    2008-10-09 18:13:53.000000000 -0400
++++ linux-2.6.27-521/include/linux/skbuff.h    2009-07-23 10:51:52.000000000 -0400
+@@ -330,6 +330,7 @@
  #endif
  
        __u32                   mark;
@@ -9,9 +9,9 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/inclu
  
        __u16                   vlan_tci;
  
-diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/core/skbuff.c linux-2.6.27.10-vs2.3.x-P521/net/core/skbuff.c
---- linux-2.6.27.10-vs2.3.x-P/net/core/skbuff.c        2008-10-13 14:52:09.000000000 +0200
-+++ linux-2.6.27.10-vs2.3.x-P521/net/core/skbuff.c     2009-01-12 01:56:55.000000000 +0100
+diff -Nurb linux-2.6.27-510/net/core/skbuff.c linux-2.6.27-521/net/core/skbuff.c
+--- linux-2.6.27-510/net/core/skbuff.c 2008-10-09 18:13:53.000000000 -0400
++++ linux-2.6.27-521/net/core/skbuff.c 2009-07-23 10:51:52.000000000 -0400
 @@ -55,6 +55,7 @@
  #include <linux/rtnetlink.h>
  #include <linux/init.h>
@@ -20,7 +20,7 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/c
  
  #include <net/protocol.h>
  #include <net/dst.h>
-@@ -209,6 +210,7 @@ struct sk_buff *__alloc_skb(unsigned int
+@@ -209,6 +210,7 @@
        skb->data = data;
        skb_reset_tail_pointer(skb);
        skb->end = skb->tail + size;
@@ -28,7 +28,7 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/c
        /* make sure we initialize shinfo sequentially */
        shinfo = skb_shinfo(skb);
        atomic_set(&shinfo->dataref, 1);
-@@ -460,6 +462,7 @@ static void __copy_skb_header(struct sk_
+@@ -460,6 +462,7 @@
  #endif
  #endif
        new->vlan_tci           = old->vlan_tci;
@@ -36,7 +36,7 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/c
  
        skb_copy_secmark(new, old);
  }
-@@ -490,6 +493,8 @@ static struct sk_buff *__skb_clone(struc
+@@ -490,6 +493,8 @@
  #endif
        atomic_set(&n->users, 1);
  
@@ -45,10 +45,22 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/c
        atomic_inc(&(skb_shinfo(skb)->dataref));
        skb->cloned = 1;
  
-diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/af_inet.c linux-2.6.27.10-vs2.3.x-P521/net/ipv4/af_inet.c
---- linux-2.6.27.10-vs2.3.x-P/net/ipv4/af_inet.c       2008-10-13 14:54:20.000000000 +0200
-+++ linux-2.6.27.10-vs2.3.x-P521/net/ipv4/af_inet.c    2009-01-12 01:18:23.000000000 +0100
-@@ -181,6 +181,8 @@ static int inet_autobind(struct sock *sk
+diff -Nurb linux-2.6.27-510/net/core/sock.c linux-2.6.27-521/net/core/sock.c
+--- linux-2.6.27-510/net/core/sock.c   2009-07-23 10:51:44.000000000 -0400
++++ linux-2.6.27-521/net/core/sock.c   2009-11-25 17:36:26.000000000 -0500
+@@ -954,6 +954,8 @@
+               sk->sk_prot = sk->sk_prot_creator = prot;
+               sock_lock_init(sk);
+               sock_net_set(sk, get_net(net));
++        if (!in_interrupt())
++            sk->sk_mark = nx_current_nid();
+       }
+       return sk;
+diff -Nurb linux-2.6.27-510/net/ipv4/af_inet.c linux-2.6.27-521/net/ipv4/af_inet.c
+--- linux-2.6.27-510/net/ipv4/af_inet.c        2009-07-23 10:51:44.000000000 -0400
++++ linux-2.6.27-521/net/ipv4/af_inet.c        2009-07-23 10:51:52.000000000 -0400
+@@ -181,6 +181,8 @@
                        return -EAGAIN;
                }
                inet->sport = htons(inet->num);
@@ -57,10 +69,10 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/i
        }
        release_sock(sk);
        return 0;
-diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/netfilter/ipt_LOG.c linux-2.6.27.10-vs2.3.x-P521/net/ipv4/netfilter/ipt_LOG.c
---- linux-2.6.27.10-vs2.3.x-P/net/ipv4/netfilter/ipt_LOG.c     2008-07-13 23:51:29.000000000 +0200
-+++ linux-2.6.27.10-vs2.3.x-P521/net/ipv4/netfilter/ipt_LOG.c  2009-01-12 01:18:23.000000000 +0100
-@@ -45,6 +45,8 @@ static void dump_packet(const struct nf_
+diff -Nurb linux-2.6.27-510/net/ipv4/netfilter/ipt_LOG.c linux-2.6.27-521/net/ipv4/netfilter/ipt_LOG.c
+--- linux-2.6.27-510/net/ipv4/netfilter/ipt_LOG.c      2008-10-09 18:13:53.000000000 -0400
++++ linux-2.6.27-521/net/ipv4/netfilter/ipt_LOG.c      2009-07-23 10:51:52.000000000 -0400
+@@ -45,6 +45,8 @@
        else
                logflags = NF_LOG_MASK;