+diff -Nurp linux-2.6.22-570/kernel/vserver/context.c linux-2.6.22-580/kernel/vserver/context.c
+--- linux-2.6.22-570/kernel/vserver/context.c 2008-02-15 20:36:20.000000000 +0100
++++ linux-2.6.22-580/kernel/vserver/context.c 2008-02-15 20:39:37.000000000 +0100
+@@ -406,7 +406,7 @@ int get_xid_list(int index, unsigned int
+ int hindex, nr_xids = 0;
+
+ /* only show current and children */
+- if (!vx_check(0, VS_ADMIN | VS_WATCH)) {
++ if (!vx_check(0, VS_ADMIN | VS_WATCH) && vx_flags(VXF_HIDE_VINFO, 0)) {
+ if (index > 0)
+ return 0;
+ xids[nr_xids] = vx_current_xid();
+diff -Nurp linux-2.6.22-570/kernel/vserver/network.c linux-2.6.22-580/kernel/vserver/network.c
+--- linux-2.6.22-570/kernel/vserver/network.c 2008-02-15 20:36:20.000000000 +0100
++++ linux-2.6.22-580/kernel/vserver/network.c 2008-02-15 20:40:34.000000000 +0100
+@@ -390,7 +390,7 @@ int get_nid_list(int index, unsigned int
+ int hindex, nr_nids = 0;
+
+ /* only show current and children */
+- if (!nx_check(0, VS_ADMIN | VS_WATCH)) {
++ if (!nx_check(0, VS_ADMIN | VS_WATCH) && vx_flags(VXF_HIDE_VINFO, 0)) {
+ if (index > 0)
+ return 0;
+ nids[nr_nids] = nx_current_nid();