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();