diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/include/linux/vserver/base.h linux-2.6.31.5-vs2.3.0.36.21.3/include/linux/vserver/base.h --- linux-2.6.31.5-vs2.3.0.36.21.2/include/linux/vserver/base.h 2009-09-30 02:18:43.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/include/linux/vserver/base.h 2009-11-05 03:48:10.000000000 +0100 @@ -70,7 +70,7 @@ enum { #define __nx_flags(n) ((n) ? (n)->nx_flags : 0) -#define nx_current_flags() __nx_flags(current->nx_info) +#define nx_current_flags() __nx_flags(current_nx_info()) #define nx_info_flags(n, m, f) \ vs_check_flags(__nx_flags(n), m, f) @@ -78,18 +78,18 @@ enum { #define task_nx_flags(t, m, f) \ ((t) && nx_info_flags((t)->nx_info, m, f)) -#define nx_flags(m, f) nx_info_flags(current->nx_info, m, f) +#define nx_flags(m, f) nx_info_flags(current_nx_info(), m, f) /* network caps */ #define __nx_ncaps(n) ((n) ? (n)->nx_ncaps : 0) -#define nx_current_ncaps() __nx_ncaps(current->nx_info) +#define nx_current_ncaps() __nx_ncaps(current_nx_info()) #define nx_info_ncaps(n, c) (__nx_ncaps(n) & (c)) -#define nx_ncaps(c) nx_info_ncaps(current->nx_info, c) +#define nx_ncaps(c) nx_info_ncaps(current_nx_info(), c) /* context mask capabilities */ diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/include/net/route.h linux-2.6.31.5-vs2.3.0.36.21.3/include/net/route.h --- linux-2.6.31.5-vs2.3.0.36.21.2/include/net/route.h 2009-09-10 16:11:43.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/include/net/route.h 2009-11-05 03:48:31.000000000 +0100 @@ -167,7 +167,7 @@ static inline int ip_route_connect(struc int err; struct net *net = sock_net(sk); - struct nx_info *nx_info = current->nx_info; + struct nx_info *nx_info = current_nx_info(); if (inet_sk(sk)->transparent) fl.flags |= FLOWI_FLAG_ANYSRC; diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/kernel/fork.c linux-2.6.31.5-vs2.3.0.36.21.3/kernel/fork.c --- linux-2.6.31.5-vs2.3.0.36.21.2/kernel/fork.c 2009-10-15 03:49:19.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/kernel/fork.c 2009-11-05 03:48:49.000000000 +0100 @@ -997,7 +997,7 @@ static struct task_struct *copy_process( DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); #endif init_vx_info(&p->vx_info, current->vx_info); - init_nx_info(&p->nx_info, current->nx_info); + init_nx_info(&p->nx_info, current_nx_info()); /* check vserver memory */ if (p->mm && !(clone_flags & CLONE_VM)) { diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/kernel/vserver/network.c linux-2.6.31.5-vs2.3.0.36.21.3/kernel/vserver/network.c --- linux-2.6.31.5-vs2.3.0.36.21.2/kernel/vserver/network.c 2009-09-10 16:11:43.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/kernel/vserver/network.c 2009-11-05 03:49:07.000000000 +0100 @@ -356,7 +356,7 @@ struct nx_info *lookup_nx_info(int id) struct nx_info *nxi = NULL; if (id < 0) { - nxi = get_nx_info(current->nx_info); + nxi = get_nx_info(current_nx_info()); } else if (id > 1) { spin_lock(&nx_info_hash_lock); nxi = get_nx_info(__lookup_nx_info(id)); diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/net/core/dev.c linux-2.6.31.5-vs2.3.0.36.21.3/net/core/dev.c --- linux-2.6.31.5-vs2.3.0.36.21.2/net/core/dev.c 2009-10-15 03:49:19.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/net/core/dev.c 2009-11-05 03:49:56.000000000 +0100 @@ -2942,7 +2942,7 @@ static int dev_ifconf(struct net *net, c total = 0; for_each_netdev(net, dev) { - if (!nx_dev_visible(current->nx_info, dev)) + if (!nx_dev_visible(current_nx_info(), dev)) continue; for (i = 0; i < NPROTO; i++) { if (gifconf_list[i]) { @@ -3012,7 +3012,7 @@ static void dev_seq_printf_stats(struct { const struct net_device_stats *stats = dev_get_stats(dev); - if (!nx_dev_visible(current->nx_info, dev)) + if (!nx_dev_visible(current_nx_info(), dev)) return; seq_printf(seq, "%6s:%8lu %7lu %4lu %4lu %4lu %5lu %10lu %9lu " diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/net/core/rtnetlink.c linux-2.6.31.5-vs2.3.0.36.21.3/net/core/rtnetlink.c --- linux-2.6.31.5-vs2.3.0.36.21.2/net/core/rtnetlink.c 2009-09-10 16:11:43.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/net/core/rtnetlink.c 2009-11-05 03:50:06.000000000 +0100 @@ -1237,7 +1237,7 @@ void rtmsg_ifinfo(int type, struct net_d struct sk_buff *skb; int err = -ENOBUFS; - if (!nx_dev_visible(current->nx_info, dev)) + if (!nx_dev_visible(current_nx_info(), dev)) return; skb = nlmsg_new(if_nlmsg_size(dev), GFP_KERNEL); diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/net/core/sock.c linux-2.6.31.5-vs2.3.0.36.21.3/net/core/sock.c --- linux-2.6.31.5-vs2.3.0.36.21.2/net/core/sock.c 2009-10-15 03:49:19.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/net/core/sock.c 2009-11-05 03:50:18.000000000 +0100 @@ -1894,7 +1894,7 @@ void sock_init_data(struct socket *sock, set_vx_info(&sk->sk_vx_info, current->vx_info); sk->sk_xid = vx_current_xid(); vx_sock_inc(sk); - set_nx_info(&sk->sk_nx_info, current->nx_info); + set_nx_info(&sk->sk_nx_info, current_nx_info()); sk->sk_nid = nx_current_nid(); /* diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/net/ipv4/devinet.c linux-2.6.31.5-vs2.3.0.36.21.3/net/ipv4/devinet.c --- linux-2.6.31.5-vs2.3.0.36.21.2/net/ipv4/devinet.c 2009-09-10 16:11:43.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/net/ipv4/devinet.c 2009-11-05 03:50:40.000000000 +0100 @@ -654,7 +654,7 @@ int devinet_ioctl(struct net *net, unsig *colon = ':'; if ((in_dev = __in_dev_get_rtnl(dev)) != NULL) { - struct nx_info *nxi = current->nx_info; + struct nx_info *nxi = current_nx_info(); if (tryaddrmatch) { /* Matthias Andree */ @@ -834,7 +834,7 @@ static int inet_gifconf(struct net_devic goto out; for (; ifa; ifa = ifa->ifa_next) { - if (!nx_v4_ifa_visible(current->nx_info, ifa)) + if (!nx_v4_ifa_visible(current_nx_info(), ifa)) continue; if (!buf) { done += sizeof(ifr); diff -NurpP linux-2.6.31.5-vs2.3.0.36.21.2/net/ipv4/fib_hash.c linux-2.6.31.5-vs2.3.0.36.21.3/net/ipv4/fib_hash.c --- linux-2.6.31.5-vs2.3.0.36.21.2/net/ipv4/fib_hash.c 2009-09-10 16:11:43.000000000 +0200 +++ linux-2.6.31.5-vs2.3.0.36.21.3/net/ipv4/fib_hash.c 2009-11-05 03:50:54.000000000 +0100 @@ -1021,7 +1021,7 @@ static int fib_seq_show(struct seq_file prefix = f->fn_key; mask = FZ_MASK(iter->zone); flags = fib_flag_trans(fa->fa_type, mask, fi); - if (fi && nx_dev_visible(current->nx_info, fi->fib_dev)) + if (fi && nx_dev_visible(current_nx_info(), fi->fib_dev)) seq_printf(seq, "%s\t%08X\t%08X\t%04X\t%d\t%u\t%d\t%08X\t%d\t%u\t%u%n", fi->fib_dev ? fi->fib_dev->name : "*", prefix,