--- linux-2.6.16-rc1/arch/i386/kernel/sys_i386.c 2004-08-14 12:56:23 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/i386/kernel/sys_i386.c 2006-01-21 18:28:04 +0100 @@ -217,7 +218,7 @@ asmlinkage int sys_uname(struct old_utsn if (!name) return -EFAULT; down_read(&uts_sem); - err=copy_to_user(name, &system_utsname, sizeof (*name)); + err=copy_to_user(name, vx_new_utsname(), sizeof (*name)); up_read(&uts_sem); return err?-EFAULT:0; } --- linux-2.6.16-rc1/arch/i386/kernel/sys_i386.c 2004-08-14 12:56:23 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/i386/kernel/sys_i386.c 2006-01-21 18:28:04 +0100 @@ -225,6 +226,7 @@ asmlinkage int sys_uname(struct old_utsn asmlinkage int sys_olduname(struct oldold_utsname __user * name) { int error; + struct new_utsname *ptr; if (!name) return -EFAULT; --- linux-2.6.16-rc1/arch/i386/kernel/sys_i386.c 2004-08-14 12:56:23 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/i386/kernel/sys_i386.c 2006-01-21 18:28:04 +0100 @@ -233,15 +235,16 @@ asmlinkage int sys_olduname(struct oldol down_read(&uts_sem); - error = __copy_to_user(&name->sysname,&system_utsname.sysname,__OLD_UTS_LEN); + ptr = vx_new_utsname(); + error = __copy_to_user(&name->sysname,ptr->sysname,__OLD_UTS_LEN); error |= __put_user(0,name->sysname+__OLD_UTS_LEN); - error |= __copy_to_user(&name->nodename,&system_utsname.nodename,__OLD_UTS_LEN); + error |= __copy_to_user(&name->nodename,ptr->nodename,__OLD_UTS_LEN); error |= __put_user(0,name->nodename+__OLD_UTS_LEN); - error |= __copy_to_user(&name->release,&system_utsname.release,__OLD_UTS_LEN); + error |= __copy_to_user(&name->release,ptr->release,__OLD_UTS_LEN); error |= __put_user(0,name->release+__OLD_UTS_LEN); - error |= __copy_to_user(&name->version,&system_utsname.version,__OLD_UTS_LEN); + error |= __copy_to_user(&name->version,ptr->version,__OLD_UTS_LEN); error |= __put_user(0,name->version+__OLD_UTS_LEN); - error |= __copy_to_user(&name->machine,&system_utsname.machine,__OLD_UTS_LEN); + error |= __copy_to_user(&name->machine,ptr->machine,__OLD_UTS_LEN); error |= __put_user(0,name->machine+__OLD_UTS_LEN); up_read(&uts_sem); --- linux-2.6.16-rc1/arch/mips/kernel/linux32.c 2006-01-26 22:34:46 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/mips/kernel/linux32.c 2006-01-21 18:28:04 +0100 @@ -1150,7 +1150,7 @@ asmlinkage long sys32_newuname(struct ne int ret = 0; down_read(&uts_sem); - if (copy_to_user(name,&system_utsname,sizeof *name)) + if (copy_to_user(name, vx_new_utsname(), sizeof *name)) ret = -EFAULT; up_read(&uts_sem); --- linux-2.6.16-rc1/arch/mips/kernel/syscall.c 2006-01-26 22:34:46 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/mips/kernel/syscall.c 2006-01-21 18:28:04 +0100 @@ -229,7 +230,7 @@ out: */ asmlinkage int sys_uname(struct old_utsname * name) { - if (name && !copy_to_user(name, &system_utsname, sizeof (*name))) + if (name && !copy_to_user(name, vx_new_utsname(), sizeof (*name))) return 0; return -EFAULT; } --- linux-2.6.16-rc1/arch/mips/kernel/syscall.c 2006-01-26 22:34:46 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/mips/kernel/syscall.c 2006-01-21 18:28:04 +0100 @@ -240,6 +241,7 @@ asmlinkage int sys_uname(struct old_utsn asmlinkage int sys_olduname(struct oldold_utsname * name) { int error; + struct new_utsname *ptr; if (!name) return -EFAULT; --- linux-2.6.16-rc1/arch/mips/kernel/syscall.c 2006-01-26 22:34:46 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/mips/kernel/syscall.c 2006-01-21 18:28:04 +0100 @@ -246,15 +248,16 @@ ***** if (!access_ok(VERIFY_WRITE,name,sizeof(struct oldold_utsname))) return -EFAULT; - error = __copy_to_user(&name->sysname,&system_utsname.sysname,__OLD_UTS_LEN); + ptr = vx_new_utsname(); + error = __copy_to_user(&name->sysname,ptr->sysname,__OLD_UTS_LEN); error -= __put_user(0,name->sysname+__OLD_UTS_LEN); - error -= __copy_to_user(&name->nodename,&system_utsname.nodename,__OLD_UTS_LEN); + error -= __copy_to_user(&name->nodename,ptr->nodename,__OLD_UTS_LEN); error -= __put_user(0,name->nodename+__OLD_UTS_LEN); - error -= __copy_to_user(&name->release,&system_utsname.release,__OLD_UTS_LEN); + error -= __copy_to_user(&name->release,ptr->release,__OLD_UTS_LEN); error -= __put_user(0,name->release+__OLD_UTS_LEN); - error -= __copy_to_user(&name->version,&system_utsname.version,__OLD_UTS_LEN); + error -= __copy_to_user(&name->version,ptr->version,__OLD_UTS_LEN); error -= __put_user(0,name->version+__OLD_UTS_LEN); - error -= __copy_to_user(&name->machine,&system_utsname.machine,__OLD_UTS_LEN); + error -= __copy_to_user(&name->machine,ptr->machine,__OLD_UTS_LEN); error = __put_user(0,name->machine+__OLD_UTS_LEN); error = error ? -EFAULT : 0; --- linux-2.6.16-rc1/arch/mips/kernel/syscall.c 2006-01-26 22:34:46 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/mips/kernel/syscall.c 2006-01-21 18:28:04 +0100 @@ -290,10 +293,10 @@ asmlinkage int _sys_sysmips(int cmd, lon return -EFAULT; down_write(&uts_sem); - strncpy(system_utsname.nodename, nodename, len); + strncpy(vx_new_uts(nodename), nodename, len); nodename[__NEW_UTS_LEN] = '\0'; - strlcpy(system_utsname.nodename, nodename, - sizeof(system_utsname.nodename)); + strlcpy(vx_new_uts(nodename), nodename, + sizeof(vx_new_uts(nodename))); up_write(&uts_sem); return 0; } --- linux-2.6.16-rc1/arch/powerpc/kernel/syscalls.c 2006-01-26 22:34:47 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/powerpc/kernel/syscalls.c 2006-01-21 18:28:04 +0100 @@ -259,7 +260,7 @@ long ppc_newuname(struct new_utsname __u int err = 0; down_read(&uts_sem); - if (copy_to_user(name, &system_utsname, sizeof(*name))) + if (copy_to_user(name, vx_new_utsname(), sizeof(*name))) err = -EFAULT; up_read(&uts_sem); if (!err) --- linux-2.6.16-rc1/arch/powerpc/kernel/syscalls.c 2006-01-26 22:34:47 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/powerpc/kernel/syscalls.c 2006-01-21 18:28:04 +0100 @@ -272,7 +273,7 @@ int sys_uname(struct old_utsname __user int err = 0; down_read(&uts_sem); - if (copy_to_user(name, &system_utsname, sizeof(*name))) + if (copy_to_user(name, vx_new_utsname(), sizeof(*name))) err = -EFAULT; up_read(&uts_sem); if (!err) --- linux-2.6.16-rc1/arch/powerpc/kernel/syscalls.c 2006-01-26 22:34:47 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/powerpc/kernel/syscalls.c 2006-01-21 18:28:04 +0100 @@ -283,6 +284,7 @@ int sys_uname(struct old_utsname __user int sys_olduname(struct oldold_utsname __user *name) { int error; + struct new_utsname *ptr; if (!access_ok(VERIFY_WRITE, name, sizeof(struct oldold_utsname))) return -EFAULT; --- linux-2.6.16-rc1/arch/powerpc/kernel/syscalls.c 2006-01-26 22:34:47 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/powerpc/kernel/syscalls.c 2006-01-21 18:28:04 +0100 @@ -288,20 +290,16 @@ ***** return -EFAULT; down_read(&uts_sem); - error = __copy_to_user(&name->sysname, &system_utsname.sysname, - __OLD_UTS_LEN); + ptr = vx_new_utsname(); + error = __copy_to_user(&name->sysname, ptr->sysname, __OLD_UTS_LEN); error |= __put_user(0, name->sysname + __OLD_UTS_LEN); - error |= __copy_to_user(&name->nodename, &system_utsname.nodename, - __OLD_UTS_LEN); + error |= __copy_to_user(&name->nodename, ptr->nodename, __OLD_UTS_LEN); error |= __put_user(0, name->nodename + __OLD_UTS_LEN); - error |= __copy_to_user(&name->release, &system_utsname.release, - __OLD_UTS_LEN); + error |= __copy_to_user(&name->release, ptr->release, __OLD_UTS_LEN); error |= __put_user(0, name->release + __OLD_UTS_LEN); - error |= __copy_to_user(&name->version, &system_utsname.version, - __OLD_UTS_LEN); + error |= __copy_to_user(&name->version, ptr->version, __OLD_UTS_LEN); error |= __put_user(0, name->version + __OLD_UTS_LEN); - error |= __copy_to_user(&name->machine, &system_utsname.machine, - __OLD_UTS_LEN); + error |= __copy_to_user(&name->machine, ptr->machine, __OLD_UTS_LEN); error |= override_machine(name->machine); up_read(&uts_sem); --- linux-2.6.16-rc1/arch/sparc/kernel/sys_sparc.c 2005-06-22 02:37:59 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/sparc/kernel/sys_sparc.c 2006-01-21 18:28:04 +0100 @@ -470,7 +471,7 @@ asmlinkage int sys_getdomainname(char __ down_read(&uts_sem); - nlen = strlen(system_utsname.domainname) + 1; + nlen = strlen(vx_new_uts(domainname)) + 1; if (nlen < len) len = nlen; --- linux-2.6.16-rc1/arch/sparc/kernel/sys_sparc.c 2005-06-22 02:37:59 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/sparc/kernel/sys_sparc.c 2006-01-21 18:28:04 +0100 @@ -476,7 +477,7 @@ ***** len = nlen; if (len > __NEW_UTS_LEN) goto done; - if (copy_to_user(name, system_utsname.domainname, len)) + if (copy_to_user(name, vx_new_uts(domainname), len)) goto done; err = 0; done: --- linux-2.6.16-rc1/arch/sparc64/kernel/sys_sparc.c 2005-08-29 22:24:56 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/sparc64/kernel/sys_sparc.c 2006-01-21 18:28:04 +0100 @@ -476,7 +477,7 @@ asmlinkage long sys_getdomainname(char _ down_read(&uts_sem); - nlen = strlen(system_utsname.domainname) + 1; + nlen = strlen(vx_new_uts(domainname)) + 1; if (nlen < len) len = nlen; --- linux-2.6.16-rc1/arch/sparc64/kernel/sys_sparc.c 2005-08-29 22:24:56 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/sparc64/kernel/sys_sparc.c 2006-01-21 18:28:04 +0100 @@ -482,7 +483,7 @@ ***** len = nlen; if (len > __NEW_UTS_LEN) goto done; - if (copy_to_user(name, system_utsname.domainname, len)) + if (copy_to_user(name, vx_new_uts(domainname), len)) goto done; err = 0; done: --- linux-2.6.16-rc1/arch/um/kernel/syscall_kern.c 2005-08-29 22:24:56 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/um/kernel/syscall_kern.c 2006-01-21 18:28:04 +0100 @@ -110,7 +112,7 @@ long sys_uname(struct old_utsname * name if (!name) return -EFAULT; down_read(&uts_sem); - err=copy_to_user(name, &system_utsname, sizeof (*name)); + err=copy_to_user(name, vx_new_utsname(), sizeof (*name)); up_read(&uts_sem); return err?-EFAULT:0; } --- linux-2.6.16-rc1/arch/um/kernel/syscall_kern.c 2005-08-29 22:24:56 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/um/kernel/syscall_kern.c 2006-01-21 18:28:04 +0100 @@ -118,6 +120,7 @@ long sys_uname(struct old_utsname * name long sys_olduname(struct oldold_utsname * name) { long error; + struct new_utsname *ptr; if (!name) return -EFAULT; --- linux-2.6.16-rc1/arch/um/kernel/syscall_kern.c 2005-08-29 22:24:56 +0200 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/um/kernel/syscall_kern.c 2006-01-21 18:28:04 +0100 @@ -126,19 +129,20 @@ long sys_olduname(struct oldold_utsname down_read(&uts_sem); - error = __copy_to_user(&name->sysname,&system_utsname.sysname, + ptr = vx_new_utsname(); + error = __copy_to_user(&name->sysname,ptr->sysname, __OLD_UTS_LEN); error |= __put_user(0,name->sysname+__OLD_UTS_LEN); - error |= __copy_to_user(&name->nodename,&system_utsname.nodename, + error |= __copy_to_user(&name->nodename,ptr->nodename, __OLD_UTS_LEN); error |= __put_user(0,name->nodename+__OLD_UTS_LEN); - error |= __copy_to_user(&name->release,&system_utsname.release, + error |= __copy_to_user(&name->release,ptr->release, __OLD_UTS_LEN); error |= __put_user(0,name->release+__OLD_UTS_LEN); - error |= __copy_to_user(&name->version,&system_utsname.version, + error |= __copy_to_user(&name->version,ptr->version, __OLD_UTS_LEN); error |= __put_user(0,name->version+__OLD_UTS_LEN); - error |= __copy_to_user(&name->machine,&system_utsname.machine, + error |= __copy_to_user(&name->machine,ptr->machine, __OLD_UTS_LEN); error |= __put_user(0,name->machine+__OLD_UTS_LEN); --- linux-2.6.16-rc1/arch/x86_64/ia32/sys_ia32.c 2006-01-26 22:34:50 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/x86_64/ia32/sys_ia32.c 2006-01-21 18:28:04 +0100 @@ -860,6 +860,7 @@ asmlinkage long sys32_mmap2(unsigned lon asmlinkage long sys32_olduname(struct oldold_utsname __user * name) { int error; + struct new_utsname *ptr; if (!name) return -EFAULT; --- linux-2.6.16-rc1/arch/x86_64/ia32/sys_ia32.c 2006-01-26 22:34:50 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/x86_64/ia32/sys_ia32.c 2006-01-21 18:28:04 +0100 @@ -868,13 +869,14 @@ asmlinkage long sys32_olduname(struct ol down_read(&uts_sem); - error = __copy_to_user(&name->sysname,&system_utsname.sysname,__OLD_UTS_LEN); + ptr = vx_new_utsname(); + error = __copy_to_user(&name->sysname,ptr->sysname,__OLD_UTS_LEN); __put_user(0,name->sysname+__OLD_UTS_LEN); - __copy_to_user(&name->nodename,&system_utsname.nodename,__OLD_UTS_LEN); + __copy_to_user(&name->nodename,ptr->nodename,__OLD_UTS_LEN); __put_user(0,name->nodename+__OLD_UTS_LEN); - __copy_to_user(&name->release,&system_utsname.release,__OLD_UTS_LEN); + __copy_to_user(&name->release,ptr->release,__OLD_UTS_LEN); __put_user(0,name->release+__OLD_UTS_LEN); - __copy_to_user(&name->version,&system_utsname.version,__OLD_UTS_LEN); + __copy_to_user(&name->version,ptr->version,__OLD_UTS_LEN); __put_user(0,name->version+__OLD_UTS_LEN); { char *arch = "x86_64"; --- linux-2.6.16-rc1/arch/x86_64/ia32/sys_ia32.c 2006-01-26 22:34:50 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/x86_64/ia32/sys_ia32.c 2006-01-21 18:28:04 +0100 @@ -897,7 +899,7 @@ long sys32_uname(struct old_utsname __us if (!name) return -EFAULT; down_read(&uts_sem); - err=copy_to_user(name, &system_utsname, sizeof (*name)); + err=copy_to_user(name, vx_new_utsname(), sizeof (*name)); up_read(&uts_sem); if (personality(current->personality) == PER_LINUX32) err |= copy_to_user(&name->machine, "i686", 5); --- linux-2.6.16-rc1/arch/x86_64/kernel/sys_x86_64.c 2006-01-03 17:29:20 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/arch/x86_64/kernel/sys_x86_64.c 2006-01-21 18:28:04 +0100 @@ -148,7 +149,7 @@ asmlinkage long sys_uname(struct new_uts { int err; down_read(&uts_sem); - err = copy_to_user(name, &system_utsname, sizeof (*name)); + err = copy_to_user(name, vx_new_utsname(), sizeof (*name)); up_read(&uts_sem); if (personality(current->personality) == PER_LINUX32) err |= copy_to_user(&name->machine, "i686", 5); --- linux-2.6.16-rc1/fs/nfs/nfsroot.c 2006-01-26 22:35:12 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/fs/nfs/nfsroot.c 2006-01-25 08:06:16 +0100 @@ -312,7 +331,7 @@ static int __init root_nfs_name(char *na /* Override them by options set on kernel command-line */ root_nfs_parse(name, buf); - cp = system_utsname.nodename; + cp = vx_new_uts(nodename); if (strlen(buf) + strlen(cp) > NFS_MAXPATHLEN) { printk(KERN_ERR "Root-NFS: Pathname for remote directory too long.\n"); return -1; --- linux-2.6.16-rc1/fs/proc/proc_misc.c 2006-01-26 22:35:12 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/fs/proc/proc_misc.c 2006-01-21 18:28:04 +0100 @@ -238,8 +258,9 @@ static int version_read_proc(char *page, { int len; - strcpy(page, linux_banner); - len = strlen(page); + len = sprintf(page, vx_linux_banner, + vx_new_uts(release), + vx_new_uts(version)); return proc_calc_metrics(page, start, off, count, eof, len); } --- linux-2.6.16-rc1/include/linux/kernel.h 2006-01-26 22:35:19 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/include/linux/kernel.h 2006-01-21 18:28:04 +0100 @@ -17,6 +17,7 @@ #include extern const char linux_banner[]; +extern const char vx_linux_banner[]; #define INT_MAX ((int)(~0U>>1)) #define INT_MIN (-INT_MAX - 1) --- linux-2.6.16-rc1/init/version.c 2005-03-02 12:39:08 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/init/version.c 2006-01-21 18:28:04 +0100 @@ -31,3 +31,8 @@ EXPORT_SYMBOL(system_utsname); const char linux_banner[] = "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"; + +const char vx_linux_banner[] = + "Linux version %s (" LINUX_COMPILE_BY "@" + LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") %s\n"; + --- linux-2.6.16-rc1/kernel/sys.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sys.c 2006-01-21 18:51:02 +0100 @@ -1523,7 +1540,7 @@ asmlinkage long sys_newuname(struct new_ int errno = 0; down_read(&uts_sem); - if (copy_to_user(name,&system_utsname,sizeof *name)) + if (copy_to_user(name, vx_new_utsname(), sizeof *name)) errno = -EFAULT; up_read(&uts_sem); return errno; --- linux-2.6.16-rc1/kernel/sys.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sys.c 2006-01-21 18:51:02 +0100 @@ -1541,8 +1558,10 @@ ***** down_write(&uts_sem); errno = -EFAULT; if (!copy_from_user(tmp, name, len)) { - memcpy(system_utsname.nodename, tmp, len); - system_utsname.nodename[len] = 0; + char *ptr = vx_new_uts(nodename); + + memcpy(ptr, tmp, len); + ptr[len] = 0; errno = 0; } up_write(&uts_sem); --- linux-2.6.16-rc1/kernel/sys.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sys.c 2006-01-21 18:51:02 +0100 @@ -1554,6 +1573,7 @@ asmlinkage long sys_sethostname(char __u asmlinkage long sys_gethostname(char __user *name, int len) { int i, errno; + char *ptr; if (len < 0) return -EINVAL; --- linux-2.6.16-rc1/kernel/sys.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sys.c 2006-01-21 18:51:02 +0100 @@ -1558,7 +1578,8 @@ ***** if (len < 0) return -EINVAL; down_read(&uts_sem); - i = 1 + strlen(system_utsname.nodename); + ptr = vx_new_uts(nodename); + i = 1 + strlen(ptr); if (i > len) i = len; errno = 0; --- linux-2.6.16-rc1/kernel/sys.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sys.c 2006-01-21 18:51:02 +0100 @@ -1562,7 +1583,7 @@ ***** if (i > len) i = len; errno = 0; - if (copy_to_user(name, system_utsname.nodename, i)) + if (copy_to_user(name, ptr, i)) errno = -EFAULT; up_read(&uts_sem); return errno; --- linux-2.6.16-rc1/kernel/sys.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sys.c 2006-01-21 18:51:02 +0100 @@ -1587,8 +1608,10 @@ asmlinkage long sys_setdomainname(char _ down_write(&uts_sem); errno = -EFAULT; if (!copy_from_user(tmp, name, len)) { - memcpy(system_utsname.domainname, tmp, len); - system_utsname.domainname[len] = 0; + char *ptr = vx_new_uts(domainname); + + memcpy(ptr, tmp, len); + ptr[len] = 0; errno = 0; } up_write(&uts_sem); --- linux-2.6.16-rc1/kernel/sysctl.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sysctl.c 2006-01-21 18:28:13 +0100 @@ -234,6 +236,7 @@ static ctl_table kern_table[] = { .maxlen = sizeof(system_utsname.sysname), .mode = 0444, .proc_handler = &proc_doutsstring, + .virt_handler = &vx_uts_virt_handler, .strategy = &sysctl_string, }, { --- linux-2.6.16-rc1/kernel/sysctl.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sysctl.c 2006-01-21 18:28:13 +0100 @@ -243,6 +246,7 @@ static ctl_table kern_table[] = { .maxlen = sizeof(system_utsname.release), .mode = 0444, .proc_handler = &proc_doutsstring, + .virt_handler = &vx_uts_virt_handler, .strategy = &sysctl_string, }, { --- linux-2.6.16-rc1/kernel/sysctl.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sysctl.c 2006-01-21 18:28:13 +0100 @@ -252,6 +256,7 @@ static ctl_table kern_table[] = { .maxlen = sizeof(system_utsname.version), .mode = 0444, .proc_handler = &proc_doutsstring, + .virt_handler = &vx_uts_virt_handler, .strategy = &sysctl_string, }, { --- linux-2.6.16-rc1/kernel/sysctl.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sysctl.c 2006-01-21 18:28:13 +0100 @@ -261,6 +266,7 @@ static ctl_table kern_table[] = { .maxlen = sizeof(system_utsname.nodename), .mode = 0644, .proc_handler = &proc_doutsstring, + .virt_handler = &vx_uts_virt_handler, .strategy = &sysctl_string, }, { --- linux-2.6.16-rc1/kernel/sysctl.c 2006-01-26 22:35:32 +0100 +++ linux-2.6.16-rc1-vs2.1.0.9.4/kernel/sysctl.c 2006-01-21 18:28:13 +0100 @@ -270,6 +276,7 @@ static ctl_table kern_table[] = { .maxlen = sizeof(system_utsname.domainname), .mode = 0644, .proc_handler = &proc_doutsstring, + .virt_handler = &vx_uts_virt_handler, .strategy = &sysctl_string, }, {