git://git.onelab.eu
/
linux-2.6.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ea2b965
)
Fixed the skb->sk dereference prolblem.
author
Sapan Bhatia
<sapanb@cs.princeton.edu>
Mon, 14 Jul 2008 03:55:52 +0000
(
03:55
+0000)
committer
Sapan Bhatia
<sapanb@cs.princeton.edu>
Mon, 14 Jul 2008 03:55:52 +0000
(
03:55
+0000)
linux-2.6-526-tun-tap.patch
patch
|
blob
|
history
diff --git
a/linux-2.6-526-tun-tap.patch
b/linux-2.6-526-tun-tap.patch
index
2701324
..
d5529ec
100644
(file)
--- a/
linux-2.6-526-tun-tap.patch
+++ b/
linux-2.6-526-tun-tap.patch
@@
-1,6
+1,6
@@
diff -Nurb linux-2.6.22-525/drivers/net/Makefile linux-2.6.22-526/drivers/net/Makefile
diff -Nurb linux-2.6.22-525/drivers/net/Makefile linux-2.6.22-526/drivers/net/Makefile
---- linux-2.6.22-525/drivers/net/Makefile 2008-07-
09 15:41:30
.000000000 -0400
-+++ linux-2.6.22-526/drivers/net/Makefile 2008-07-
09 15:42:38
.000000000 -0400
+--- linux-2.6.22-525/drivers/net/Makefile 2008-07-
10 10:37:08
.000000000 -0400
++++ linux-2.6.22-526/drivers/net/Makefile 2008-07-
10 10:37:22
.000000000 -0400
@@ -1,7 +1,7 @@
#
# Makefile for the Linux network (ethercard) device drivers.
@@ -1,7 +1,7 @@
#
# Makefile for the Linux network (ethercard) device drivers.
@@
-12,8
+12,8
@@
diff -Nurb linux-2.6.22-525/drivers/net/Makefile linux-2.6.22-526/drivers/net/Ma
obj-$(CONFIG_IBM_EMAC) += ibm_emac/
diff -Nurb linux-2.6.22-525/drivers/net/vnet_tun.c linux-2.6.22-526/drivers/net/vnet_tun.c
--- linux-2.6.22-525/drivers/net/vnet_tun.c 1969-12-31 19:00:00.000000000 -0500
obj-$(CONFIG_IBM_EMAC) += ibm_emac/
diff -Nurb linux-2.6.22-525/drivers/net/vnet_tun.c linux-2.6.22-526/drivers/net/vnet_tun.c
--- linux-2.6.22-525/drivers/net/vnet_tun.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.22-526/drivers/net/vnet_tun.c 2008-07-
09 15:38:35
.000000000 -0400
-@@ -0,0 +1,
697
@@
++++ linux-2.6.22-526/drivers/net/vnet_tun.c 2008-07-
13 23:56:16
.000000000 -0400
+@@ -0,0 +1,
713
@@
+/*
+ * TUN - Universal TUN/TAP device driver.
+ * Copyright (C) 1999-2002 Maxim Krasnyansky <maxk@qualcomm.com>
+/*
+ * TUN - Universal TUN/TAP device driver.
+ * Copyright (C) 1999-2002 Maxim Krasnyansky <maxk@qualcomm.com>
@@
-91,7
+91,23
@@
diff -Nurb linux-2.6.22-525/drivers/net/vnet_tun.c linux-2.6.22-526/drivers/net/
+struct net_device tun_netdev;
+static struct net_device_stats tun_stats;
+
+struct net_device tun_netdev;
+static struct net_device_stats tun_stats;
+
-+#define get_sk_xid(sk) sk->sk_nid
++int print_once=1;
++
++static inline xid_t
++get_sk_xid(struct sock *sk)
++{
++ if (sk) {
++ return (int) sk->sk_nid >= 0 ? sk->sk_nid : 0;
++ }
++ else {
++ if (in_interrupt() && print_once) {
++ print_once=0;
++ printk(KERN_EMERG "vnet_tun: get-sk_xid called in interrupt context!\n");
++ }
++ return current->xid;
++ }
++}
++
+#define set_sk_xid(sk,xid) sk->sk_nid=xid
+#define set_skb_xid(skb,xid) skb->skb_tag=xid
+
+#define set_sk_xid(sk,xid) sk->sk_nid=xid
+#define set_skb_xid(skb,xid) skb->skb_tag=xid
+