X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Flib%2Fsyscall_getvxinfo-v13.hc;h=f4584d8e726a4d81c3cada953f49d51934b29f4b;hb=38fe8b4a2dd28aebf52787c5b65cc79490fa53d3;hp=da6b78a86b2faa5d6092022f2807e049fbd0628f;hpb=ebf251c8ca0a527c15e9873a220dd5053362a679;p=util-vserver.git diff --git a/util-vserver/lib/syscall_getvxinfo-v13.hc b/util-vserver/lib/syscall_getvxinfo-v13.hc index da6b78a..f4584d8 100644 --- a/util-vserver/lib/syscall_getvxinfo-v13.hc +++ b/util-vserver/lib/syscall_getvxinfo-v13.hc @@ -23,14 +23,22 @@ static inline ALWAYSINLINE int vc_get_vx_info_v13(xid_t xid, struct vc_vx_info *info) { - struct vcmd_vx_info_v0 res; - int rc; + if (xid==0 || xid==1) { + info->xid = xid; + info->initpid = -1; - rc = vserver(VCMD_vx_info, CTX_USER2KERNEL(xid), &res); - if (rc==-1) return -1; + return 0; + } + else { + struct vcmd_vx_info_v0 res; + int rc; - info->xid = CTX_KERNEL2USER(res.xid); - info->initpid = res.initpid; + rc = vserver(VCMD_vx_info, CTX_USER2KERNEL(xid), &res); + if (rc==-1) return -1; - return rc; + info->xid = CTX_KERNEL2USER(res.xid); + info->initpid = res.initpid; + + return rc; + } }