Commit e9ff3990 authored by Serge E. Hallyn's avatar Serge E. Hallyn Committed by Linus Torvalds

[PATCH] namespaces: utsname: switch to using uts namespaces

Replace references to system_utsname to the per-process uts namespace
where appropriate.  This includes things like uname.

Changes: Per Eric Biederman's comments, use the per-process uts namespace
	for ELF_PLATFORM, sunrpc, and parts of net/ipv4/ipconfig.c

[jdike@addtoit.com: UML fix]
[clg@fr.ibm.com: cleanup]
[akpm@osdl.org: build fix]
Signed-off-by: default avatarSerge E. Hallyn <serue@us.ibm.com>
Cc: Kirill Korotaev <dev@openvz.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Cc: Andrey Savochkin <saw@sw.ru>
Signed-off-by: default avatarCedric Le Goater <clg@fr.ibm.com>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 0bdd7aab
...@@ -402,15 +402,15 @@ osf_utsname(char __user *name) ...@@ -402,15 +402,15 @@ osf_utsname(char __user *name)
down_read(&uts_sem); down_read(&uts_sem);
error = -EFAULT; error = -EFAULT;
if (copy_to_user(name + 0, system_utsname.sysname, 32)) if (copy_to_user(name + 0, utsname()->sysname, 32))
goto out; goto out;
if (copy_to_user(name + 32, system_utsname.nodename, 32)) if (copy_to_user(name + 32, utsname()->nodename, 32))
goto out; goto out;
if (copy_to_user(name + 64, system_utsname.release, 32)) if (copy_to_user(name + 64, utsname()->release, 32))
goto out; goto out;
if (copy_to_user(name + 96, system_utsname.version, 32)) if (copy_to_user(name + 96, utsname()->version, 32))
goto out; goto out;
if (copy_to_user(name + 128, system_utsname.machine, 32)) if (copy_to_user(name + 128, utsname()->machine, 32))
goto out; goto out;
error = 0; error = 0;
...@@ -449,8 +449,8 @@ osf_getdomainname(char __user *name, int namelen) ...@@ -449,8 +449,8 @@ osf_getdomainname(char __user *name, int namelen)
down_read(&uts_sem); down_read(&uts_sem);
for (i = 0; i < len; ++i) { for (i = 0; i < len; ++i) {
__put_user(system_utsname.domainname[i], name + i); __put_user(utsname()->domainname[i], name + i);
if (system_utsname.domainname[i] == '\0') if (utsname()->domainname[i] == '\0')
break; break;
} }
up_read(&uts_sem); up_read(&uts_sem);
...@@ -607,12 +607,12 @@ osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss) ...@@ -607,12 +607,12 @@ osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss)
asmlinkage long asmlinkage long
osf_sysinfo(int command, char __user *buf, long count) osf_sysinfo(int command, char __user *buf, long count)
{ {
static char * sysinfo_table[] = { char *sysinfo_table[] = {
system_utsname.sysname, utsname()->sysname,
system_utsname.nodename, utsname()->nodename,
system_utsname.release, utsname()->release,
system_utsname.version, utsname()->version,
system_utsname.machine, utsname()->machine,
"alpha", /* instruction set architecture */ "alpha", /* instruction set architecture */
"dummy", /* hardware serial number */ "dummy", /* hardware serial number */
"dummy", /* hardware manufacturer */ "dummy", /* hardware manufacturer */
......
...@@ -210,7 +210,7 @@ asmlinkage int sys_uname(struct old_utsname __user * name) ...@@ -210,7 +210,7 @@ asmlinkage int sys_uname(struct old_utsname __user * name)
if (!name) if (!name)
return -EFAULT; return -EFAULT;
down_read(&uts_sem); down_read(&uts_sem);
err=copy_to_user(name, &system_utsname, sizeof (*name)); err = copy_to_user(name, utsname(), sizeof (*name));
up_read(&uts_sem); up_read(&uts_sem);
return err?-EFAULT:0; return err?-EFAULT:0;
} }
...@@ -226,16 +226,21 @@ asmlinkage int sys_olduname(struct oldold_utsname __user * name) ...@@ -226,16 +226,21 @@ asmlinkage int sys_olduname(struct oldold_utsname __user * name)
down_read(&uts_sem); down_read(&uts_sem);
error = __copy_to_user(&name->sysname,&system_utsname.sysname,__OLD_UTS_LEN); error = __copy_to_user(&name->sysname, &utsname()->sysname,
error |= __put_user(0,name->sysname+__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __copy_to_user(&name->nodename,&system_utsname.nodename,__OLD_UTS_LEN); error |= __put_user(0, name->sysname + __OLD_UTS_LEN);
error |= __put_user(0,name->nodename+__OLD_UTS_LEN); error |= __copy_to_user(&name->nodename, &utsname()->nodename,
error |= __copy_to_user(&name->release,&system_utsname.release,__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0,name->release+__OLD_UTS_LEN); error |= __put_user(0, name->nodename + __OLD_UTS_LEN);
error |= __copy_to_user(&name->version,&system_utsname.version,__OLD_UTS_LEN); error |= __copy_to_user(&name->release, &utsname()->release,
error |= __put_user(0,name->version+__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __copy_to_user(&name->machine,&system_utsname.machine,__OLD_UTS_LEN); error |= __put_user(0, name->release + __OLD_UTS_LEN);
error |= __put_user(0,name->machine+__OLD_UTS_LEN); error |= __copy_to_user(&name->version, &utsname()->version,
__OLD_UTS_LEN);
error |= __put_user(0, name->version + __OLD_UTS_LEN);
error |= __copy_to_user(&name->machine, &utsname()->machine,
__OLD_UTS_LEN);
error |= __put_user(0, name->machine + __OLD_UTS_LEN);
up_read(&uts_sem); up_read(&uts_sem);
......
...@@ -423,7 +423,7 @@ static int sn_topology_show(struct seq_file *s, void *d) ...@@ -423,7 +423,7 @@ static int sn_topology_show(struct seq_file *s, void *d)
"coherency_domain %d, " "coherency_domain %d, "
"region_size %d\n", "region_size %d\n",
partid, system_utsname.nodename, partid, utsname()->nodename,
shubtype ? "shub2" : "shub1", shubtype ? "shub2" : "shub1",
(u64)nasid_mask << nasid_shift, nasid_msb, nasid_shift, (u64)nasid_mask << nasid_shift, nasid_msb, nasid_shift,
system_size, sharing_size, coher, region_size); system_size, sharing_size, coher, region_size);
......
...@@ -205,7 +205,7 @@ asmlinkage int sys_uname(struct old_utsname * name) ...@@ -205,7 +205,7 @@ asmlinkage int sys_uname(struct old_utsname * name)
if (!name) if (!name)
return -EFAULT; return -EFAULT;
down_read(&uts_sem); down_read(&uts_sem);
err=copy_to_user(name, &system_utsname, sizeof (*name)); err = copy_to_user(name, utsname(), sizeof (*name));
up_read(&uts_sem); up_read(&uts_sem);
return err?-EFAULT:0; return err?-EFAULT:0;
} }
......
...@@ -1039,7 +1039,7 @@ asmlinkage long sys32_newuname(struct new_utsname __user * name) ...@@ -1039,7 +1039,7 @@ asmlinkage long sys32_newuname(struct new_utsname __user * name)
int ret = 0; int ret = 0;
down_read(&uts_sem); down_read(&uts_sem);
if (copy_to_user(name,&system_utsname,sizeof *name)) if (copy_to_user(name, utsname(), sizeof *name))
ret = -EFAULT; ret = -EFAULT;
up_read(&uts_sem); up_read(&uts_sem);
......
...@@ -231,7 +231,7 @@ asmlinkage int sys_execve(nabi_no_regargs struct pt_regs regs) ...@@ -231,7 +231,7 @@ asmlinkage int sys_execve(nabi_no_regargs struct pt_regs regs)
*/ */
asmlinkage int sys_uname(struct old_utsname __user * name) asmlinkage int sys_uname(struct old_utsname __user * name)
{ {
if (name && !copy_to_user(name, &system_utsname, sizeof (*name))) if (name && !copy_to_user(name, utsname(), sizeof (*name)))
return 0; return 0;
return -EFAULT; return -EFAULT;
} }
...@@ -248,16 +248,21 @@ asmlinkage int sys_olduname(struct oldold_utsname __user * name) ...@@ -248,16 +248,21 @@ asmlinkage int sys_olduname(struct oldold_utsname __user * name)
if (!access_ok(VERIFY_WRITE,name,sizeof(struct oldold_utsname))) if (!access_ok(VERIFY_WRITE,name,sizeof(struct oldold_utsname)))
return -EFAULT; return -EFAULT;
error = __copy_to_user(&name->sysname,&system_utsname.sysname,__OLD_UTS_LEN); error = __copy_to_user(&name->sysname, &utsname()->sysname,
error -= __put_user(0,name->sysname+__OLD_UTS_LEN); __OLD_UTS_LEN);
error -= __copy_to_user(&name->nodename,&system_utsname.nodename,__OLD_UTS_LEN); error -= __put_user(0, name->sysname + __OLD_UTS_LEN);
error -= __put_user(0,name->nodename+__OLD_UTS_LEN); error -= __copy_to_user(&name->nodename, &utsname()->nodename,
error -= __copy_to_user(&name->release,&system_utsname.release,__OLD_UTS_LEN); __OLD_UTS_LEN);
error -= __put_user(0,name->release+__OLD_UTS_LEN); error -= __put_user(0, name->nodename + __OLD_UTS_LEN);
error -= __copy_to_user(&name->version,&system_utsname.version,__OLD_UTS_LEN); error -= __copy_to_user(&name->release, &utsname()->release,
error -= __put_user(0,name->version+__OLD_UTS_LEN); __OLD_UTS_LEN);
error -= __copy_to_user(&name->machine,&system_utsname.machine,__OLD_UTS_LEN); error -= __put_user(0, name->release + __OLD_UTS_LEN);
error = __put_user(0,name->machine+__OLD_UTS_LEN); error -= __copy_to_user(&name->version, &utsname()->version,
__OLD_UTS_LEN);
error -= __put_user(0, name->version + __OLD_UTS_LEN);
error -= __copy_to_user(&name->machine, &utsname()->machine,
__OLD_UTS_LEN);
error = __put_user(0, name->machine + __OLD_UTS_LEN);
error = error ? -EFAULT : 0; error = error ? -EFAULT : 0;
return error; return error;
......
...@@ -884,7 +884,7 @@ asmlinkage int irix_getdomainname(char __user *name, int len) ...@@ -884,7 +884,7 @@ asmlinkage int irix_getdomainname(char __user *name, int len)
down_read(&uts_sem); down_read(&uts_sem);
if (len > __NEW_UTS_LEN) if (len > __NEW_UTS_LEN)
len = __NEW_UTS_LEN; len = __NEW_UTS_LEN;
err = copy_to_user(name, system_utsname.domainname, len) ? -EFAULT : 0; err = copy_to_user(name, utsname()->domainname, len) ? -EFAULT : 0;
up_read(&uts_sem); up_read(&uts_sem);
return err; return err;
...@@ -1127,11 +1127,11 @@ struct iuname { ...@@ -1127,11 +1127,11 @@ struct iuname {
asmlinkage int irix_uname(struct iuname __user *buf) asmlinkage int irix_uname(struct iuname __user *buf)
{ {
down_read(&uts_sem); down_read(&uts_sem);
if (copy_from_user(system_utsname.sysname, buf->sysname, 65) if (copy_from_user(utsname()->sysname, buf->sysname, 65)
|| copy_from_user(system_utsname.nodename, buf->nodename, 65) || copy_from_user(utsname()->nodename, buf->nodename, 65)
|| copy_from_user(system_utsname.release, buf->release, 65) || copy_from_user(utsname()->release, buf->release, 65)
|| copy_from_user(system_utsname.version, buf->version, 65) || copy_from_user(utsname()->version, buf->version, 65)
|| copy_from_user(system_utsname.machine, buf->machine, 65)) { || copy_from_user(utsname()->machine, buf->machine, 65)) {
return -EFAULT; return -EFAULT;
} }
up_read(&uts_sem); up_read(&uts_sem);
......
...@@ -266,16 +266,21 @@ static int hpux_uname(struct hpux_utsname *name) ...@@ -266,16 +266,21 @@ static int hpux_uname(struct hpux_utsname *name)
down_read(&uts_sem); down_read(&uts_sem);
error = __copy_to_user(&name->sysname,&system_utsname.sysname,HPUX_UTSLEN-1); error = __copy_to_user(&name->sysname, &utsname()->sysname,
error |= __put_user(0,name->sysname+HPUX_UTSLEN-1); HPUX_UTSLEN - 1);
error |= __copy_to_user(&name->nodename,&system_utsname.nodename,HPUX_UTSLEN-1); error |= __put_user(0, name->sysname + HPUX_UTSLEN - 1);
error |= __put_user(0,name->nodename+HPUX_UTSLEN-1); error |= __copy_to_user(&name->nodename, &utsname()->nodename,
error |= __copy_to_user(&name->release,&system_utsname.release,HPUX_UTSLEN-1); HPUX_UTSLEN - 1);
error |= __put_user(0,name->release+HPUX_UTSLEN-1); error |= __put_user(0, name->nodename + HPUX_UTSLEN - 1);
error |= __copy_to_user(&name->version,&system_utsname.version,HPUX_UTSLEN-1); error |= __copy_to_user(&name->release, &utsname()->release,
error |= __put_user(0,name->version+HPUX_UTSLEN-1); HPUX_UTSLEN - 1);
error |= __copy_to_user(&name->machine,&system_utsname.machine,HPUX_UTSLEN-1); error |= __put_user(0, name->release + HPUX_UTSLEN - 1);
error |= __put_user(0,name->machine+HPUX_UTSLEN-1); error |= __copy_to_user(&name->version, &utsname()->version,
HPUX_UTSLEN - 1);
error |= __put_user(0, name->version + HPUX_UTSLEN - 1);
error |= __copy_to_user(&name->machine, &utsname()->machine,
HPUX_UTSLEN - 1);
error |= __put_user(0, name->machine + HPUX_UTSLEN - 1);
up_read(&uts_sem); up_read(&uts_sem);
...@@ -373,8 +378,8 @@ int hpux_utssys(char *ubuf, int n, int type) ...@@ -373,8 +378,8 @@ int hpux_utssys(char *ubuf, int n, int type)
/* TODO: print a warning about using this? */ /* TODO: print a warning about using this? */
down_write(&uts_sem); down_write(&uts_sem);
error = -EFAULT; error = -EFAULT;
if (!copy_from_user(system_utsname.sysname, ubuf, len)) { if (!copy_from_user(utsname()->sysname, ubuf, len)) {
system_utsname.sysname[len] = 0; utsname()->sysname[len] = 0;
error = 0; error = 0;
} }
up_write(&uts_sem); up_write(&uts_sem);
...@@ -400,8 +405,8 @@ int hpux_utssys(char *ubuf, int n, int type) ...@@ -400,8 +405,8 @@ int hpux_utssys(char *ubuf, int n, int type)
/* TODO: print a warning about this? */ /* TODO: print a warning about this? */
down_write(&uts_sem); down_write(&uts_sem);
error = -EFAULT; error = -EFAULT;
if (!copy_from_user(system_utsname.release, ubuf, len)) { if (!copy_from_user(utsname()->release, ubuf, len)) {
system_utsname.release[len] = 0; utsname()->release[len] = 0;
error = 0; error = 0;
} }
up_write(&uts_sem); up_write(&uts_sem);
...@@ -422,13 +427,13 @@ int hpux_getdomainname(char *name, int len) ...@@ -422,13 +427,13 @@ int hpux_getdomainname(char *name, int len)
down_read(&uts_sem); down_read(&uts_sem);
nlen = strlen(system_utsname.domainname) + 1; nlen = strlen(utsname()->domainname) + 1;
if (nlen < len) if (nlen < len)
len = nlen; len = nlen;
if(len > __NEW_UTS_LEN) if(len > __NEW_UTS_LEN)
goto done; goto done;
if(copy_to_user(name, system_utsname.domainname, len)) if(copy_to_user(name, utsname()->domainname, len))
goto done; goto done;
err = 0; err = 0;
done: done:
......
...@@ -260,7 +260,7 @@ long ppc_newuname(struct new_utsname __user * name) ...@@ -260,7 +260,7 @@ long ppc_newuname(struct new_utsname __user * name)
int err = 0; int err = 0;
down_read(&uts_sem); down_read(&uts_sem);
if (copy_to_user(name, &system_utsname, sizeof(*name))) if (copy_to_user(name, utsname(), sizeof(*name)))
err = -EFAULT; err = -EFAULT;
up_read(&uts_sem); up_read(&uts_sem);
if (!err) if (!err)
...@@ -273,7 +273,7 @@ int sys_uname(struct old_utsname __user *name) ...@@ -273,7 +273,7 @@ int sys_uname(struct old_utsname __user *name)
int err = 0; int err = 0;
down_read(&uts_sem); down_read(&uts_sem);
if (copy_to_user(name, &system_utsname, sizeof(*name))) if (copy_to_user(name, utsname(), sizeof(*name)))
err = -EFAULT; err = -EFAULT;
up_read(&uts_sem); up_read(&uts_sem);
if (!err) if (!err)
...@@ -289,19 +289,19 @@ int sys_olduname(struct oldold_utsname __user *name) ...@@ -289,19 +289,19 @@ int sys_olduname(struct oldold_utsname __user *name)
return -EFAULT; return -EFAULT;
down_read(&uts_sem); down_read(&uts_sem);
error = __copy_to_user(&name->sysname, &system_utsname.sysname, error = __copy_to_user(&name->sysname, &utsname()->sysname,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0, name->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, &utsname()->nodename,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0, name->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, &utsname()->release,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0, name->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, &utsname()->version,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0, name->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, &utsname()->machine,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= override_machine(name->machine); error |= override_machine(name->machine);
up_read(&uts_sem); up_read(&uts_sem);
......
...@@ -281,7 +281,7 @@ asmlinkage int sys_uname(struct old_utsname * name) ...@@ -281,7 +281,7 @@ asmlinkage int sys_uname(struct old_utsname * name)
if (!name) if (!name)
return -EFAULT; return -EFAULT;
down_read(&uts_sem); down_read(&uts_sem);
err=copy_to_user(name, &system_utsname, sizeof (*name)); err = copy_to_user(name, utsname(), sizeof (*name));
up_read(&uts_sem); up_read(&uts_sem);
return err?-EFAULT:0; return err?-EFAULT:0;
} }
......
...@@ -279,7 +279,7 @@ asmlinkage int sys_uname(struct old_utsname * name) ...@@ -279,7 +279,7 @@ asmlinkage int sys_uname(struct old_utsname * name)
if (!name) if (!name)
return -EFAULT; return -EFAULT;
down_read(&uts_sem); down_read(&uts_sem);
err=copy_to_user(name, &system_utsname, sizeof (*name)); err = copy_to_user(name, utsname(), sizeof (*name));
up_read(&uts_sem); up_read(&uts_sem);
return err?-EFAULT:0; return err?-EFAULT:0;
} }
...@@ -475,13 +475,13 @@ asmlinkage int sys_getdomainname(char __user *name, int len) ...@@ -475,13 +475,13 @@ asmlinkage int sys_getdomainname(char __user *name, int len)
down_read(&uts_sem); down_read(&uts_sem);
nlen = strlen(system_utsname.domainname) + 1; nlen = strlen(utsname()->domainname) + 1;
err = -EINVAL; err = -EINVAL;
if (nlen > len) if (nlen > len)
goto out; goto out;
err = -EFAULT; err = -EFAULT;
if (!copy_to_user(name, system_utsname.domainname, nlen)) if (!copy_to_user(name, utsname()->domainname, nlen))
err = 0; err = 0;
out: out:
......
...@@ -483,13 +483,18 @@ asmlinkage int sunos_uname(struct sunos_utsname __user *name) ...@@ -483,13 +483,18 @@ asmlinkage int sunos_uname(struct sunos_utsname __user *name)
{ {
int ret; int ret;
down_read(&uts_sem); down_read(&uts_sem);
ret = copy_to_user(&name->sname[0], &system_utsname.sysname[0], sizeof(name->sname) - 1); ret = copy_to_user(&name->sname[0], &utsname()->sysname[0],
sizeof(name->sname) - 1);
if (!ret) { if (!ret) {
ret |= __copy_to_user(&name->nname[0], &system_utsname.nodename[0], sizeof(name->nname) - 1); ret |= __copy_to_user(&name->nname[0], &utsname()->nodename[0],
sizeof(name->nname) - 1);
ret |= __put_user('\0', &name->nname[8]); ret |= __put_user('\0', &name->nname[8]);
ret |= __copy_to_user(&name->rel[0], &system_utsname.release[0], sizeof(name->rel) - 1); ret |= __copy_to_user(&name->rel[0], &utsname()->release[0],
ret |= __copy_to_user(&name->ver[0], &system_utsname.version[0], sizeof(name->ver) - 1); sizeof(name->rel) - 1);
ret |= __copy_to_user(&name->mach[0], &system_utsname.machine[0], sizeof(name->mach) - 1); ret |= __copy_to_user(&name->ver[0], &utsname()->version[0],
sizeof(name->ver) - 1);
ret |= __copy_to_user(&name->mach[0], &utsname()->machine[0],
sizeof(name->mach) - 1);
} }
up_read(&uts_sem); up_read(&uts_sem);
return ret ? -EFAULT : 0; return ret ? -EFAULT : 0;
......
...@@ -712,13 +712,13 @@ asmlinkage long sys_getdomainname(char __user *name, int len) ...@@ -712,13 +712,13 @@ asmlinkage long sys_getdomainname(char __user *name, int len)
down_read(&uts_sem); down_read(&uts_sem);
nlen = strlen(system_utsname.domainname) + 1; nlen = strlen(utsname()->domainname) + 1;
err = -EINVAL; err = -EINVAL;
if (nlen > len) if (nlen > len)
goto out; goto out;
err = -EFAULT; err = -EFAULT;
if (!copy_to_user(name, system_utsname.domainname, nlen)) if (!copy_to_user(name, utsname()->domainname, nlen))
err = 0; err = 0;
out: out:
......
...@@ -439,16 +439,16 @@ asmlinkage int sunos_uname(struct sunos_utsname __user *name) ...@@ -439,16 +439,16 @@ asmlinkage int sunos_uname(struct sunos_utsname __user *name)
int ret; int ret;
down_read(&uts_sem); down_read(&uts_sem);
ret = copy_to_user(&name->sname[0], &system_utsname.sysname[0], ret = copy_to_user(&name->sname[0], &utsname()->sysname[0],
sizeof(name->sname) - 1); sizeof(name->sname) - 1);
ret |= copy_to_user(&name->nname[0], &system_utsname.nodename[0], ret |= copy_to_user(&name->nname[0], &utsname()->nodename[0],
sizeof(name->nname) - 1); sizeof(name->nname) - 1);
ret |= put_user('\0', &name->nname[8]); ret |= put_user('\0', &name->nname[8]);
ret |= copy_to_user(&name->rel[0], &system_utsname.release[0], ret |= copy_to_user(&name->rel[0], &utsname()->release[0],
sizeof(name->rel) - 1); sizeof(name->rel) - 1);
ret |= copy_to_user(&name->ver[0], &system_utsname.version[0], ret |= copy_to_user(&name->ver[0], &utsname()->version[0],
sizeof(name->ver) - 1); sizeof(name->ver) - 1);
ret |= copy_to_user(&name->mach[0], &system_utsname.machine[0], ret |= copy_to_user(&name->mach[0], &utsname()->machine[0],
sizeof(name->mach) - 1); sizeof(name->mach) - 1);
up_read(&uts_sem); up_read(&uts_sem);
return (ret ? -EFAULT : 0); return (ret ? -EFAULT : 0);
......
...@@ -249,7 +249,7 @@ asmlinkage int solaris_utssys(u32 buf, u32 flags, int which, u32 buf2) ...@@ -249,7 +249,7 @@ asmlinkage int solaris_utssys(u32 buf, u32 flags, int which, u32 buf2)
/* Let's cheat */ /* Let's cheat */
err = set_utsfield(v->sysname, "SunOS", 1, 0); err = set_utsfield(v->sysname, "SunOS", 1, 0);
down_read(&uts_sem); down_read(&uts_sem);
err |= set_utsfield(v->nodename, system_utsname.nodename, err |= set_utsfield(v->nodename, utsname()->nodename,
1, 1); 1, 1);
up_read(&uts_sem); up_read(&uts_sem);
err |= set_utsfield(v->release, "2.6", 0, 0); err |= set_utsfield(v->release, "2.6", 0, 0);
...@@ -273,7 +273,7 @@ asmlinkage int solaris_utsname(u32 buf) ...@@ -273,7 +273,7 @@ asmlinkage int solaris_utsname(u32 buf)
/* Why should we not lie a bit? */ /* Why should we not lie a bit? */
down_read(&uts_sem); down_read(&uts_sem);
err = set_utsfield(v->sysname, "SunOS", 0, 0); err = set_utsfield(v->sysname, "SunOS", 0, 0);
err |= set_utsfield(v->nodename, system_utsname.nodename, 1, 1); err |= set_utsfield(v->nodename, utsname()->nodename, 1, 1);
err |= set_utsfield(v->release, "5.6", 0, 0); err |= set_utsfield(v->release, "5.6", 0, 0);
err |= set_utsfield(v->version, "Generic", 0, 0); err |= set_utsfield(v->version, "Generic", 0, 0);
err |= set_utsfield(v->machine, machine(), 0, 0); err |= set_utsfield(v->machine, machine(), 0, 0);
...@@ -305,7 +305,7 @@ asmlinkage int solaris_sysinfo(int cmd, u32 buf, s32 count) ...@@ -305,7 +305,7 @@ asmlinkage int solaris_sysinfo(int cmd, u32 buf, s32 count)
case SI_HOSTNAME: case SI_HOSTNAME:
r = buffer + 256; r = buffer + 256;
down_read(&uts_sem); down_read(&uts_sem);
for (p = system_utsname.nodename, q = buffer; for (p = utsname()->nodename, q = buffer;
q < r && *p && *p != '.'; *q++ = *p++); q < r && *p && *p != '.'; *q++ = *p++);
up_read(&uts_sem); up_read(&uts_sem);
*q = 0; *q = 0;
......
...@@ -106,9 +106,9 @@ void mconsole_version(struct mc_request *req) ...@@ -106,9 +106,9 @@ void mconsole_version(struct mc_request *req)
{ {
char version[256]; char version[256];
sprintf(version, "%s %s %s %s %s", system_utsname.sysname, sprintf(version, "%s %s %s %s %s", utsname()->sysname,
system_utsname.nodename, system_utsname.release, utsname()->nodename, utsname()->release,
system_utsname.version, system_utsname.machine); utsname()->version, utsname()->machine);
mconsole_reply(req, version, 0, 0); mconsole_reply(req, version, 0, 0);
} }
......
...@@ -110,7 +110,7 @@ long sys_uname(struct old_utsname __user * name) ...@@ -110,7 +110,7 @@ long sys_uname(struct old_utsname __user * name)
if (!name) if (!name)
return -EFAULT; return -EFAULT;
down_read(&uts_sem); down_read(&uts_sem);
err = copy_to_user(name, &system_utsname, sizeof (*name)); err = copy_to_user(name, utsname(), sizeof (*name));
up_read(&uts_sem); up_read(&uts_sem);
return err?-EFAULT:0; return err?-EFAULT:0;
} }
...@@ -126,21 +126,21 @@ long sys_olduname(struct oldold_utsname __user * name) ...@@ -126,21 +126,21 @@ long sys_olduname(struct oldold_utsname __user * name)
down_read(&uts_sem); down_read(&uts_sem);
error = __copy_to_user(&name->sysname,&system_utsname.sysname, error = __copy_to_user(&name->sysname, &utsname()->sysname,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0,name->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, &utsname()->nodename,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0,name->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, &utsname()->release,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0,name->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, &utsname()->version,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0,name->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, &utsname()->machine,
__OLD_UTS_LEN); __OLD_UTS_LEN);
error |= __put_user(0,name->machine+__OLD_UTS_LEN); error |= __put_user(0, name->machine + __OLD_UTS_LEN);
up_read(&uts_sem); up_read(&uts_sem);
......
...@@ -21,7 +21,7 @@ asmlinkage long sys_uname64(struct new_utsname __user * name) ...@@ -21,7 +21,7 @@ asmlinkage long sys_uname64(struct new_utsname __user * name)
{ {
int err; int err;
down_read(&uts_sem); down_read(&uts_sem);
err = copy_to_user(name, &system_utsname, sizeof (*name)); err = copy_to_user(name, utsname(), sizeof (*name));
up_read(&uts_sem); up_read(&uts_sem);
if (personality(current->personality) == PER_LINUX32) if (personality(current->personality) == PER_LINUX32)
err |= copy_to_user(&name->machine, "i686", 5); err |= copy_to_user(&name->machine, "i686", 5);
......
...@@ -784,36 +784,36 @@ asmlinkage long sys32_olduname(struct oldold_utsname __user * name) ...@@ -784,36 +784,36 @@ asmlinkage long sys32_olduname(struct oldold_utsname __user * name)
if (!name) if (!name)
return -EFAULT; return -EFAULT;
if (!access_ok(VERIFY_WRITE,name,sizeof(struct oldold_utsname))) if (!access_ok(VERIFY_WRITE, name, sizeof(struct oldold_utsname)))
return -EFAULT; return -EFAULT;
down_read(&uts_sem); down_read(&uts_sem);
err = __copy_to_user(&name->sysname,&system_utsname.sysname, err = __copy_to_user(&name->sysname,&utsname()->sysname,
__OLD_UTS_LEN); __OLD_UTS_LEN);
err |= __put_user(0,name->sysname+__OLD_UTS_LEN); err |= __put_user(0,name->sysname+__OLD_UTS_LEN);
err |= __copy_to_user(&name->nodename,&system_utsname.nodename, err |= __copy_to_user(&name->nodename,&utsname()->nodename,
__OLD_UTS_LEN); __OLD_UTS_LEN);
err |= __put_user(0,name->nodename+__OLD_UTS_LEN); err |= __put_user(0,name->nodename+__OLD_UTS_LEN);
err |= __copy_to_user(&name->release,&system_utsname.release, err |= __copy_to_user(&name->release,&utsname()->release,
__OLD_UTS_LEN); __OLD_UTS_LEN);
err |= __put_user(0,name->release+__OLD_UTS_LEN); err |= __put_user(0,name->release+__OLD_UTS_LEN);
err |= __copy_to_user(&name->version,&system_utsname.version, err |= __copy_to_user(&name->version,&utsname()->version,
__OLD_UTS_LEN); __OLD_UTS_LEN);
err |= __put_user(0,name->version+__OLD_UTS_LEN); err |= __put_user(0,name->version+__OLD_UTS_LEN);
{ {
char *arch = "x86_64"; char *arch = "x86_64";
if (personality(current->personality) == PER_LINUX32) if (personality(current->personality) == PER_LINUX32)
arch = "i686"; arch = "i686";
err |= __copy_to_user(&name->machine,arch,strlen(arch)+1); err |= __copy_to_user(&name->machine, arch, strlen(arch)+1);
} }
up_read(&uts_sem); up_read(&uts_sem);
err = err ? -EFAULT : 0; err = err ? -EFAULT : 0;
return err; return err;
} }
long sys32_uname(struct old_utsname __user * name) long sys32_uname(struct old_utsname __user * name)
...@@ -822,7 +822,7 @@ long sys32_uname(struct old_utsname __user * name) ...@@ -822,7 +822,7 @@ long sys32_uname(struct old_utsname __user * name)
if (!name) if (!name)
return -EFAULT; return -EFAULT;
down_read(&uts_sem); down_read(&uts_sem);
err=copy_to_user(name, &system_utsname, sizeof (*name)); err = copy_to_user(name, utsname(), sizeof (*name));
up_read(&uts_sem); up_read(&uts_sem);
if (personality(current->personality) == PER_LINUX32) if (personality(current->personality) == PER_LINUX32)
err |= copy_to_user(&name->machine, "i686", 5); err |= copy_to_user(&name->machine, "i686", 5);
......
...@@ -148,7 +148,7 @@ asmlinkage long sys_uname(struct new_utsname __user * name) ...@@ -148,7 +148,7 @@ asmlinkage long sys_uname(struct new_utsname __user * name)
{ {
int err; int err;
down_read(&uts_sem); down_read(&uts_sem);
err = copy_to_user(name, &system_utsname, sizeof (*name)); err = copy_to_user(name, utsname(), sizeof (*name));
up_read(&uts_sem); up_read(&uts_sem);
if (personality(current->personality) == PER_LINUX32) if (personality(current->personality) == PER_LINUX32)
err |= copy_to_user(&name->machine, "i686", 5); err |= copy_to_user(&name->machine, "i686", 5);
......
...@@ -128,7 +128,7 @@ int sys_execve(struct pt_regs *regs) ...@@ -128,7 +128,7 @@ int sys_execve(struct pt_regs *regs)
int sys_uname(struct old_utsname * name) int sys_uname(struct old_utsname * name)
{ {
if (name && !copy_to_user(name, &system_utsname, sizeof (*name))) if (name && !copy_to_user(name, utsname(), sizeof (*name)))
return 0; return 0;
return -EFAULT; return -EFAULT;
} }
......
...@@ -889,8 +889,8 @@ static void init_std_data(struct entropy_store *r) ...@@ -889,8 +889,8 @@ static void init_std_data(struct entropy_store *r)
do_gettimeofday(&tv); do_gettimeofday(&tv);
add_entropy_words(r, (__u32 *)&tv, sizeof(tv)/4); add_entropy_words(r, (__u32 *)&tv, sizeof(tv)/4);
add_entropy_words(r, (__u32 *)&system_utsname, add_entropy_words(r, (__u32 *)utsname(),
sizeof(system_utsname)/4); sizeof(*(utsname()))/4);
} }
static int __init rand_initialize(void) static int __init rand_initialize(void)
......
...@@ -772,12 +772,12 @@ cifs_parse_mount_options(char *options, const char *devname,struct smb_vol *vol) ...@@ -772,12 +772,12 @@ cifs_parse_mount_options(char *options, const char *devname,struct smb_vol *vol)
separator[1] = 0; separator[1] = 0;
memset(vol->source_rfc1001_name,0x20,15); memset(vol->source_rfc1001_name,0x20,15);
for(i=0;i < strnlen(system_utsname.nodename,15);i++) { for(i=0;i < strnlen(utsname()->nodename,15);i++) {
/* does not have to be a perfect mapping since the field is /* does not have to be a perfect mapping since the field is
informational, only used for servers that do not support informational, only used for servers that do not support
port 445 and it can be overridden at mount time */ port 445 and it can be overridden at mount time */
vol->source_rfc1001_name[i] = vol->source_rfc1001_name[i] =
toupper(system_utsname.nodename[i]); toupper(utsname()->nodename[i]);
} }
vol->source_rfc1001_name[15] = 0; vol->source_rfc1001_name[15] = 0;
/* null target name indicates to use *SMBSERVR default called name /* null target name indicates to use *SMBSERVR default called name
...@@ -2153,7 +2153,7 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, ...@@ -2153,7 +2153,7 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses,
32, nls_codepage); 32, nls_codepage);
bcc_ptr += 2 * bytes_returned; bcc_ptr += 2 * bytes_returned;
bytes_returned = bytes_returned =
cifs_strtoUCS((__le16 *) bcc_ptr, system_utsname.release, cifs_strtoUCS((__le16 *) bcc_ptr, utsname()->release,
32, nls_codepage); 32, nls_codepage);
bcc_ptr += 2 * bytes_returned; bcc_ptr += 2 * bytes_returned;
bcc_ptr += 2; bcc_ptr += 2;
...@@ -2180,8 +2180,8 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, ...@@ -2180,8 +2180,8 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses,
} }
strcpy(bcc_ptr, "Linux version "); strcpy(bcc_ptr, "Linux version ");
bcc_ptr += strlen("Linux version "); bcc_ptr += strlen("Linux version ");
strcpy(bcc_ptr, system_utsname.release); strcpy(bcc_ptr, utsname()->release);
bcc_ptr += strlen(system_utsname.release) + 1; bcc_ptr += strlen(utsname()->release) + 1;
strcpy(bcc_ptr, CIFS_NETWORK_OPSYS); strcpy(bcc_ptr, CIFS_NETWORK_OPSYS);
bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1; bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1;
} }
...@@ -2445,7 +2445,7 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, ...@@ -2445,7 +2445,7 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid,
32, nls_codepage); 32, nls_codepage);
bcc_ptr += 2 * bytes_returned; bcc_ptr += 2 * bytes_returned;
bytes_returned = bytes_returned =
cifs_strtoUCS((__le16 *) bcc_ptr, system_utsname.release, 32, cifs_strtoUCS((__le16 *) bcc_ptr, utsname()->release, 32,
nls_codepage); nls_codepage);
bcc_ptr += 2 * bytes_returned; bcc_ptr += 2 * bytes_returned;
bcc_ptr += 2; /* null terminate Linux version */ bcc_ptr += 2; /* null terminate Linux version */
...@@ -2462,8 +2462,8 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, ...@@ -2462,8 +2462,8 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid,
} else { /* ASCII */ } else { /* ASCII */
strcpy(bcc_ptr, "Linux version "); strcpy(bcc_ptr, "Linux version ");
bcc_ptr += strlen("Linux version "); bcc_ptr += strlen("Linux version ");
strcpy(bcc_ptr, system_utsname.release); strcpy(bcc_ptr, utsname()->release);
bcc_ptr += strlen(system_utsname.release) + 1; bcc_ptr += strlen(utsname()->release) + 1;
strcpy(bcc_ptr, CIFS_NETWORK_OPSYS); strcpy(bcc_ptr, CIFS_NETWORK_OPSYS);
bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1; bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1;
bcc_ptr++; /* empty domain field */ bcc_ptr++; /* empty domain field */
...@@ -2836,7 +2836,7 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, ...@@ -2836,7 +2836,7 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses,
32, nls_codepage); 32, nls_codepage);
bcc_ptr += 2 * bytes_returned; bcc_ptr += 2 * bytes_returned;
bytes_returned = bytes_returned =
cifs_strtoUCS((__le16 *) bcc_ptr, system_utsname.release, 32, cifs_strtoUCS((__le16 *) bcc_ptr, utsname()->release, 32,
nls_codepage); nls_codepage);
bcc_ptr += 2 * bytes_returned; bcc_ptr += 2 * bytes_returned;
bcc_ptr += 2; /* null term version string */ bcc_ptr += 2; /* null term version string */
...@@ -2888,8 +2888,8 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, ...@@ -2888,8 +2888,8 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses,
strcpy(bcc_ptr, "Linux version "); strcpy(bcc_ptr, "Linux version ");
bcc_ptr += strlen("Linux version "); bcc_ptr += strlen("Linux version ");
strcpy(bcc_ptr, system_utsname.release); strcpy(bcc_ptr, utsname()->release);
bcc_ptr += strlen(system_utsname.release) + 1; bcc_ptr += strlen(utsname()->release) + 1;
strcpy(bcc_ptr, CIFS_NETWORK_OPSYS); strcpy(bcc_ptr, CIFS_NETWORK_OPSYS);
bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1; bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1;
bcc_ptr++; /* null domain */ bcc_ptr++; /* null domain */
......
...@@ -1318,7 +1318,7 @@ static void format_corename(char *corename, const char *pattern, long signr) ...@@ -1318,7 +1318,7 @@ static void format_corename(char *corename, const char *pattern, long signr)
case 'h': case 'h':
down_read(&uts_sem); down_read(&uts_sem);
rc = snprintf(out_ptr, out_end - out_ptr, rc = snprintf(out_ptr, out_end - out_ptr,
"%s", system_utsname.nodename); "%s", utsname()->nodename);
up_read(&uts_sem); up_read(&uts_sem);
if (rc > out_end - out_ptr) if (rc > out_end - out_ptr)
goto out; goto out;
......
...@@ -129,11 +129,11 @@ static void nlmclnt_setlockargs(struct nlm_rqst *req, struct file_lock *fl) ...@@ -129,11 +129,11 @@ static void nlmclnt_setlockargs(struct nlm_rqst *req, struct file_lock *fl)
nlmclnt_next_cookie(&argp->cookie); nlmclnt_next_cookie(&argp->cookie);
argp->state = nsm_local_state; argp->state = nsm_local_state;
memcpy(&lock->fh, NFS_FH(fl->fl_file->f_dentry->d_inode), sizeof(struct nfs_fh)); memcpy(&lock->fh, NFS_FH(fl->fl_file->f_dentry->d_inode), sizeof(struct nfs_fh));
lock->caller = system_utsname.nodename; lock->caller = utsname()->nodename;
lock->oh.data = req->a_owner; lock->oh.data = req->a_owner;
lock->oh.len = snprintf(req->a_owner, sizeof(req->a_owner), "%u@%s", lock->oh.len = snprintf(req->a_owner, sizeof(req->a_owner), "%u@%s",
(unsigned int)fl->fl_u.nfs_fl.owner->pid, (unsigned int)fl->fl_u.nfs_fl.owner->pid,
system_utsname.nodename); utsname()->nodename);
lock->svid = fl->fl_u.nfs_fl.owner->pid; lock->svid = fl->fl_u.nfs_fl.owner->pid;
lock->fl.fl_start = fl->fl_start; lock->fl.fl_start = fl->fl_start;
lock->fl.fl_end = fl->fl_end; lock->fl.fl_end = fl->fl_end;
......
...@@ -145,7 +145,7 @@ xdr_encode_common(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp) ...@@ -145,7 +145,7 @@ xdr_encode_common(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp)
*/ */
sprintf(buffer, "%u.%u.%u.%u", NIPQUAD(argp->addr)); sprintf(buffer, "%u.%u.%u.%u", NIPQUAD(argp->addr));
if (!(p = xdr_encode_string(p, buffer)) if (!(p = xdr_encode_string(p, buffer))
|| !(p = xdr_encode_string(p, system_utsname.nodename))) || !(p = xdr_encode_string(p, utsname()->nodename)))
return ERR_PTR(-EIO); return ERR_PTR(-EIO);
*p++ = htonl(argp->prog); *p++ = htonl(argp->prog);
*p++ = htonl(argp->vers); *p++ = htonl(argp->vers);
......
...@@ -325,7 +325,7 @@ static int nlmsvc_setgrantargs(struct nlm_rqst *call, struct nlm_lock *lock) ...@@ -325,7 +325,7 @@ static int nlmsvc_setgrantargs(struct nlm_rqst *call, struct nlm_lock *lock)
{ {
locks_copy_lock(&call->a_args.lock.fl, &lock->fl); locks_copy_lock(&call->a_args.lock.fl, &lock->fl);
memcpy(&call->a_args.lock.fh, &lock->fh, sizeof(call->a_args.lock.fh)); memcpy(&call->a_args.lock.fh, &lock->fh, sizeof(call->a_args.lock.fh));
call->a_args.lock.caller = system_utsname.nodename; call->a_args.lock.caller = utsname()->nodename;
call->a_args.lock.oh.len = lock->oh.len; call->a_args.lock.oh.len = lock->oh.len;
/* set default data area */ /* set default data area */
......
...@@ -515,7 +515,7 @@ nlmclt_decode_res(struct rpc_rqst *req, u32 *p, struct nlm_res *resp) ...@@ -515,7 +515,7 @@ nlmclt_decode_res(struct rpc_rqst *req, u32 *p, struct nlm_res *resp)
*/ */
#define NLM_void_sz 0 #define NLM_void_sz 0
#define NLM_cookie_sz 1+XDR_QUADLEN(NLM_MAXCOOKIELEN) #define NLM_cookie_sz 1+XDR_QUADLEN(NLM_MAXCOOKIELEN)
#define NLM_caller_sz 1+XDR_QUADLEN(sizeof(system_utsname.nodename)) #define NLM_caller_sz 1+XDR_QUADLEN(sizeof(utsname()->nodename))
#define NLM_netobj_sz 1+XDR_QUADLEN(XDR_MAX_NETOBJ) #define NLM_netobj_sz 1+XDR_QUADLEN(XDR_MAX_NETOBJ)
/* #define NLM_owner_sz 1+XDR_QUADLEN(NLM_MAXOWNER) */ /* #define NLM_owner_sz 1+XDR_QUADLEN(NLM_MAXOWNER) */
#define NLM_fhandle_sz 1+XDR_QUADLEN(NFS2_FHSIZE) #define NLM_fhandle_sz 1+XDR_QUADLEN(NFS2_FHSIZE)
......
...@@ -312,7 +312,7 @@ static int __init root_nfs_name(char *name) ...@@ -312,7 +312,7 @@ static int __init root_nfs_name(char *name)
/* Override them by options set on kernel command-line */ /* Override them by options set on kernel command-line */
root_nfs_parse(name, buf); root_nfs_parse(name, buf);
cp = system_utsname.nodename; cp = utsname()->nodename;
if (strlen(buf) + strlen(cp) > NFS_MAXPATHLEN) { if (strlen(buf) + strlen(cp) > NFS_MAXPATHLEN) {
printk(KERN_ERR "Root-NFS: Pathname for remote directory too long.\n"); printk(KERN_ERR "Root-NFS: Pathname for remote directory too long.\n");
return -1; return -1;
......
...@@ -112,7 +112,7 @@ typedef struct user_fxsr_struct elf_fpxregset_t; ...@@ -112,7 +112,7 @@ typedef struct user_fxsr_struct elf_fpxregset_t;
For the moment, we have only optimizations for the Intel generations, For the moment, we have only optimizations for the Intel generations,
but that could change... */ but that could change... */
#define ELF_PLATFORM (system_utsname.machine) #define ELF_PLATFORM (utsname()->machine)
#define SET_PERSONALITY(ex, ibcs2) do { } while (0) #define SET_PERSONALITY(ex, ibcs2) do { } while (0)
......
...@@ -80,7 +80,7 @@ struct nlm_wait; ...@@ -80,7 +80,7 @@ struct nlm_wait;
/* /*
* Memory chunk for NLM client RPC request. * Memory chunk for NLM client RPC request.
*/ */
#define NLMCLNT_OHSIZE (sizeof(system_utsname.nodename)+10) #define NLMCLNT_OHSIZE (sizeof(utsname()->nodename)+10)
struct nlm_rqst { struct nlm_rqst {
unsigned int a_flags; /* initial RPC task flags */ unsigned int a_flags; /* initial RPC task flags */
struct nlm_host * a_host; /* host handle */ struct nlm_host * a_host; /* host handle */
......
...@@ -1655,7 +1655,7 @@ asmlinkage long sys_newuname(struct new_utsname __user * name) ...@@ -1655,7 +1655,7 @@ asmlinkage long sys_newuname(struct new_utsname __user * name)
int errno = 0; int errno = 0;
down_read(&uts_sem); down_read(&uts_sem);
if (copy_to_user(name,&system_utsname,sizeof *name)) if (copy_to_user(name, utsname(), sizeof *name))
errno = -EFAULT; errno = -EFAULT;
up_read(&uts_sem); up_read(&uts_sem);
return errno; return errno;
...@@ -1673,8 +1673,8 @@ asmlinkage long sys_sethostname(char __user *name, int len) ...@@ -1673,8 +1673,8 @@ asmlinkage long sys_sethostname(char __user *name, int len)
down_write(&uts_sem); down_write(&uts_sem);
errno = -EFAULT; errno = -EFAULT;
if (!copy_from_user(tmp, name, len)) { if (!copy_from_user(tmp, name, len)) {
memcpy(system_utsname.nodename, tmp, len); memcpy(utsname()->nodename, tmp, len);
system_utsname.nodename[len] = 0; utsname()->nodename[len] = 0;
errno = 0; errno = 0;
} }
up_write(&uts_sem); up_write(&uts_sem);
...@@ -1690,11 +1690,11 @@ asmlinkage long sys_gethostname(char __user *name, int len) ...@@ -1690,11 +1690,11 @@ asmlinkage long sys_gethostname(char __user *name, int len)
if (len < 0) if (len < 0)
return -EINVAL; return -EINVAL;
down_read(&uts_sem); down_read(&uts_sem);
i = 1 + strlen(system_utsname.nodename); i = 1 + strlen(utsname()->nodename);
if (i > len) if (i > len)
i = len; i = len;
errno = 0; errno = 0;
if (copy_to_user(name, system_utsname.nodename, i)) if (copy_to_user(name, utsname()->nodename, i))
errno = -EFAULT; errno = -EFAULT;
up_read(&uts_sem); up_read(&uts_sem);
return errno; return errno;
...@@ -1719,8 +1719,8 @@ asmlinkage long sys_setdomainname(char __user *name, int len) ...@@ -1719,8 +1719,8 @@ asmlinkage long sys_setdomainname(char __user *name, int len)
down_write(&uts_sem); down_write(&uts_sem);
errno = -EFAULT; errno = -EFAULT;
if (!copy_from_user(tmp, name, len)) { if (!copy_from_user(tmp, name, len)) {
memcpy(system_utsname.domainname, tmp, len); memcpy(utsname()->domainname, tmp, len);
system_utsname.domainname[len] = 0; utsname()->domainname[len] = 0;
errno = 0; errno = 0;
} }
up_write(&uts_sem); up_write(&uts_sem);
......
...@@ -805,7 +805,7 @@ static void __init ic_do_bootp_ext(u8 *ext) ...@@ -805,7 +805,7 @@ static void __init ic_do_bootp_ext(u8 *ext)
} }
break; break;
case 12: /* Host name */ case 12: /* Host name */
ic_bootp_string(system_utsname.nodename, ext+1, *ext, __NEW_UTS_LEN); ic_bootp_string(utsname()->nodename, ext+1, *ext, __NEW_UTS_LEN);
ic_host_name_set = 1; ic_host_name_set = 1;
break; break;
case 15: /* Domain name (DNS) */ case 15: /* Domain name (DNS) */
...@@ -816,7 +816,7 @@ static void __init ic_do_bootp_ext(u8 *ext) ...@@ -816,7 +816,7 @@ static void __init ic_do_bootp_ext(u8 *ext)
ic_bootp_string(root_server_path, ext+1, *ext, sizeof(root_server_path)); ic_bootp_string(root_server_path, ext+1, *ext, sizeof(root_server_path));
break; break;
case 40: /* NIS Domain name (_not_ DNS) */ case 40: /* NIS Domain name (_not_ DNS) */
ic_bootp_string(system_utsname.domainname, ext+1, *ext, __NEW_UTS_LEN); ic_bootp_string(utsname()->domainname, ext+1, *ext, __NEW_UTS_LEN);
break; break;
} }
} }
...@@ -1368,7 +1368,7 @@ static int __init ip_auto_config(void) ...@@ -1368,7 +1368,7 @@ static int __init ip_auto_config(void)
printk(", mask=%u.%u.%u.%u", NIPQUAD(ic_netmask)); printk(", mask=%u.%u.%u.%u", NIPQUAD(ic_netmask));
printk(", gw=%u.%u.%u.%u", NIPQUAD(ic_gateway)); printk(", gw=%u.%u.%u.%u", NIPQUAD(ic_gateway));
printk(",\n host=%s, domain=%s, nis-domain=%s", printk(",\n host=%s, domain=%s, nis-domain=%s",
system_utsname.nodename, ic_domain, system_utsname.domainname); utsname()->nodename, ic_domain, utsname()->domainname);
printk(",\n bootserver=%u.%u.%u.%u", NIPQUAD(ic_servaddr)); printk(",\n bootserver=%u.%u.%u.%u", NIPQUAD(ic_servaddr));
printk(", rootserver=%u.%u.%u.%u", NIPQUAD(root_server_addr)); printk(", rootserver=%u.%u.%u.%u", NIPQUAD(root_server_addr));
printk(", rootpath=%s", root_server_path); printk(", rootpath=%s", root_server_path);
...@@ -1478,11 +1478,11 @@ static int __init ip_auto_config_setup(char *addrs) ...@@ -1478,11 +1478,11 @@ static int __init ip_auto_config_setup(char *addrs)
case 4: case 4:
if ((dp = strchr(ip, '.'))) { if ((dp = strchr(ip, '.'))) {
*dp++ = '\0'; *dp++ = '\0';
strlcpy(system_utsname.domainname, dp, strlcpy(utsname()->domainname, dp,
sizeof(system_utsname.domainname)); sizeof(utsname()->domainname));
} }
strlcpy(system_utsname.nodename, ip, strlcpy(utsname()->nodename, ip,
sizeof(system_utsname.nodename)); sizeof(utsname()->nodename));
ic_host_name_set = 1; ic_host_name_set = 1;
break; break;
case 5: case 5:
......
...@@ -161,10 +161,10 @@ static struct rpc_clnt * rpc_new_client(struct rpc_xprt *xprt, char *servname, s ...@@ -161,10 +161,10 @@ static struct rpc_clnt * rpc_new_client(struct rpc_xprt *xprt, char *servname, s
} }
/* save the nodename */ /* save the nodename */
clnt->cl_nodelen = strlen(system_utsname.nodename); clnt->cl_nodelen = strlen(utsname()->nodename);
if (clnt->cl_nodelen > UNX_MAXNODENAME) if (clnt->cl_nodelen > UNX_MAXNODENAME)
clnt->cl_nodelen = UNX_MAXNODENAME; clnt->cl_nodelen = UNX_MAXNODENAME;
memcpy(clnt->cl_nodename, system_utsname.nodename, clnt->cl_nodelen); memcpy(clnt->cl_nodename, utsname()->nodename, clnt->cl_nodelen);
return clnt; return clnt;
out_no_auth: out_no_auth:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment