diff -NurpP --minimal linux-2.6.25.11-vs2.3.0.34.13.3/include/linux/vserver/space_cmd.h linux-2.6.25.11-vs2.3.0.34.13.4/include/linux/vserver/space_cmd.h --- linux-2.6.25.11-vs2.3.0.34.13.3/include/linux/vserver/space_cmd.h 2008-07-15 22:53:10.000000000 -0400 +++ linux-2.6.25.11-vs2.3.0.34.13.4/include/linux/vserver/space_cmd.h 2008-07-16 00:21:29.000000000 -0400 @@ -23,7 +23,7 @@ struct vcmd_space_mask { extern int vc_enter_space(struct vx_info *, void __user *); extern int vc_set_space(struct vx_info *, void __user *); -extern int vc_get_space_mask(struct vx_info *, void __user *, int); +extern int vc_get_space_mask(void __user *, int); #endif /* __KERNEL__ */ #endif /* _VX_SPACE_CMD_H */ diff -NurpP --minimal linux-2.6.25.11-vs2.3.0.34.13.3/kernel/vserver/space.c linux-2.6.25.11-vs2.3.0.34.13.4/kernel/vserver/space.c --- linux-2.6.25.11-vs2.3.0.34.13.3/kernel/vserver/space.c 2008-07-15 23:36:41.000000000 -0400 +++ linux-2.6.25.11-vs2.3.0.34.13.4/kernel/vserver/space.c 2008-07-16 00:21:04.000000000 -0400 @@ -223,6 +223,9 @@ int vx_enter_space(struct vx_info *vxi, struct fs_struct *fs, *fs_cur, *fs_new; int ret; + vxdprintk(VXD_CBIT(space, 8), "vx_enter_space(%p[#%u],0x%08lx)", + vxi, vxi->vx_id, mask); + if (vx_info_flags(vxi, VXF_INFO_PRIVATE, 0)) return -EACCES; @@ -278,6 +281,8 @@ int vx_set_space(struct vx_info *vxi, un struct fs_struct *fs_vxi, *fs_cur, *fs_new; int ret; + vxdprintk(VXD_CBIT(space, 8), "vx_set_space(%p[#%u],0x%08lx)", + vxi, vxi->vx_id, mask); #if 0 if (!mask) mask = default_space_mask.mask; @@ -346,7 +351,7 @@ int vc_set_space(struct vx_info *vxi, vo return vx_set_space(vxi, vc_data.mask); } -int vc_get_space_mask(struct vx_info *vxi, void __user *data, int type) +int vc_get_space_mask(void __user *data, int type) { const struct vcmd_space_mask *mask; @@ -357,6 +362,9 @@ int vc_get_space_mask(struct vx_info *vx else mask = &default_space_mask; + vxdprintk(VXD_CBIT(space, 10), + "vc_get_space_mask(%d) = %08llx", type, mask->mask); + if (copy_to_user(data, mask, sizeof(struct vcmd_space_mask))) return -EFAULT; return 0; diff -NurpP --minimal linux-2.6.25.11-vs2.3.0.34.13.3/kernel/vserver/switch.c linux-2.6.25.11-vs2.3.0.34.13.4/kernel/vserver/switch.c --- linux-2.6.25.11-vs2.3.0.34.13.3/kernel/vserver/switch.c 2008-07-15 23:34:13.000000000 -0400 +++ linux-2.6.25.11-vs2.3.0.34.13.4/kernel/vserver/switch.c 2008-07-16 00:21:47.000000000 -0400 @@ -99,13 +99,13 @@ long do_vcmd(uint32_t cmd, uint32_t id, return vc_set_space(vxi, data); case VCMD_get_space_mask_v0: - return vc_get_space_mask(vxi, data, 0); + return vc_get_space_mask(data, 0); /* this is version 1 */ case VCMD_get_space_mask: - return vc_get_space_mask(vxi, data, 1); + return vc_get_space_mask(data, 1); case VCMD_get_space_default: - return vc_get_space_mask(vxi, data, -1); + return vc_get_space_mask(data, -1); #ifdef CONFIG_IA32_EMULATION case VCMD_get_rlimit: