diff -NurpP linux-2.6.22.1-vs2.2.0.2-rc1.1/kernel/vserver/context.c linux-2.6.22.1-vs2.2.0.2-rc1.2/kernel/vserver/context.c --- linux-2.6.22.1-vs2.2.0.2-rc1.1/kernel/vserver/context.c 2007-07-19 07:08:54 +0200 +++ linux-2.6.22.1-vs2.2.0.2-rc1.2/kernel/vserver/context.c 2007-07-19 12:12:13 +0200 @@ -715,8 +715,7 @@ int vx_migrate_task(struct task_struct * /* hack for *spaces to provide compatibility */ if (unshare) { - struct nsproxy *old_nsp = p->nsproxy; - struct nsproxy *new_nsp; + struct nsproxy *old_nsp, *new_nsp; ret = unshare_nsproxy_namespaces( CLONE_NEWUTS | CLONE_NEWIPC, @@ -724,10 +723,9 @@ int vx_migrate_task(struct task_struct * if (ret) goto out; - new_nsp = xchg(&p->nsproxy, new_nsp); + old_nsp = xchg(&p->nsproxy, new_nsp); vx_set_space(vxi, CLONE_NEWUTS | CLONE_NEWIPC); put_nsproxy(old_nsp); - put_nsproxy(new_nsp); } } out: