1
0
Fork 0

[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: Serge 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: Cedric Le Goater <clg@fr.ibm.com>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
wifi-calibration
Serge E. Hallyn 2006-10-02 02:18:11 -07:00 committed by Linus Torvalds
parent 0bdd7aab7f
commit e9ff3990f0
35 changed files with 180 additions and 160 deletions

View File

@ -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)
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)
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 */

View File

@ -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)
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);

View File

@ -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);

View File

@ -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;
} }

View File

@ -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);

View File

@ -231,7 +231,7 @@ out:
*/ */
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)
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;

View File

@ -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 {
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);

View File

@ -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)
/* 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)
/* 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)
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:

View File

@ -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)
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)
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);

View File

@ -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;
} }

View File

@ -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;
} }

View File

@ -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:

View File

@ -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;

View File

@ -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:

View File

@ -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);

View File

@ -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)
/* 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)
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;

View File

@ -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);
} }

View File

@ -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)
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);

View File

@ -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);

View File

@ -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)
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);

View File

@ -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);

View File

@ -128,7 +128,7 @@ out:
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;
} }

View File

@ -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)

View File

@ -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,
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,
} }
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,
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,
} 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,
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,
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 */

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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 */

View File

@ -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)

View File

@ -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;

View File

@ -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)

View File

@ -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 */

View File

@ -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)
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)
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)
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);

View File

@ -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)
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)
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)
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:

View File

@ -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: