aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64
diff options
context:
space:
mode:
authorSerge E. Hallyn <serue@us.ibm.com>2006-10-02 05:18:11 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-02 10:57:21 -0400
commite9ff3990f08e9a0c2839cc22808b01732ea5b3e4 (patch)
treec638a7b89f0c5e8adc410316d06ca1de8b8dabee /arch/sparc64
parent0bdd7aab7f0ecd5d337910816aa058c18398628e (diff)
[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>
Diffstat (limited to 'arch/sparc64')
-rw-r--r--arch/sparc64/kernel/sys_sparc.c4
-rw-r--r--arch/sparc64/kernel/sys_sunos32.c10
-rw-r--r--arch/sparc64/solaris/misc.c6
3 files changed, 10 insertions, 10 deletions
diff --git a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c
index c608c947e6c3..89ac435aacc0 100644
--- a/arch/sparc64/kernel/sys_sparc.c
+++ b/arch/sparc64/kernel/sys_sparc.c
@@ -712,13 +712,13 @@ asmlinkage long sys_getdomainname(char __user *name, int len)
712 712
713 down_read(&uts_sem); 713 down_read(&uts_sem);
714 714
715 nlen = strlen(system_utsname.domainname) + 1; 715 nlen = strlen(utsname()->domainname) + 1;
716 err = -EINVAL; 716 err = -EINVAL;
717 if (nlen > len) 717 if (nlen > len)
718 goto out; 718 goto out;
719 719
720 err = -EFAULT; 720 err = -EFAULT;
721 if (!copy_to_user(name, system_utsname.domainname, nlen)) 721 if (!copy_to_user(name, utsname()->domainname, nlen))
722 err = 0; 722 err = 0;
723 723
724out: 724out:
diff --git a/arch/sparc64/kernel/sys_sunos32.c b/arch/sparc64/kernel/sys_sunos32.c
index 87ebdf858a3a..953296b73f3f 100644
--- a/arch/sparc64/kernel/sys_sunos32.c
+++ b/arch/sparc64/kernel/sys_sunos32.c
@@ -439,16 +439,16 @@ asmlinkage int sunos_uname(struct sunos_utsname __user *name)
439 int ret; 439 int ret;
440 440
441 down_read(&uts_sem); 441 down_read(&uts_sem);
442 ret = copy_to_user(&name->sname[0], &system_utsname.sysname[0], 442 ret = copy_to_user(&name->sname[0], &utsname()->sysname[0],
443 sizeof(name->sname) - 1); 443 sizeof(name->sname) - 1);
444 ret |= copy_to_user(&name->nname[0], &system_utsname.nodename[0], 444 ret |= copy_to_user(&name->nname[0], &utsname()->nodename[0],
445 sizeof(name->nname) - 1); 445 sizeof(name->nname) - 1);
446 ret |= put_user('\0', &name->nname[8]); 446 ret |= put_user('\0', &name->nname[8]);
447 ret |= copy_to_user(&name->rel[0], &system_utsname.release[0], 447 ret |= copy_to_user(&name->rel[0], &utsname()->release[0],
448 sizeof(name->rel) - 1); 448 sizeof(name->rel) - 1);
449 ret |= copy_to_user(&name->ver[0], &system_utsname.version[0], 449 ret |= copy_to_user(&name->ver[0], &utsname()->version[0],
450 sizeof(name->ver) - 1); 450 sizeof(name->ver) - 1);
451 ret |= copy_to_user(&name->mach[0], &system_utsname.machine[0], 451 ret |= copy_to_user(&name->mach[0], &utsname()->machine[0],
452 sizeof(name->mach) - 1); 452 sizeof(name->mach) - 1);
453 up_read(&uts_sem); 453 up_read(&uts_sem);
454 return (ret ? -EFAULT : 0); 454 return (ret ? -EFAULT : 0);
diff --git a/arch/sparc64/solaris/misc.c b/arch/sparc64/solaris/misc.c
index 9c581328e76a..9ed997982f8d 100644
--- a/arch/sparc64/solaris/misc.c
+++ b/arch/sparc64/solaris/misc.c
@@ -249,7 +249,7 @@ asmlinkage int solaris_utssys(u32 buf, u32 flags, int which, u32 buf2)
249 /* Let's cheat */ 249 /* Let's cheat */
250 err = set_utsfield(v->sysname, "SunOS", 1, 0); 250 err = set_utsfield(v->sysname, "SunOS", 1, 0);
251 down_read(&uts_sem); 251 down_read(&uts_sem);
252 err |= set_utsfield(v->nodename, system_utsname.nodename, 252 err |= set_utsfield(v->nodename, utsname()->nodename,
253 1, 1); 253 1, 1);
254 up_read(&uts_sem); 254 up_read(&uts_sem);
255 err |= set_utsfield(v->release, "2.6", 0, 0); 255 err |= set_utsfield(v->release, "2.6", 0, 0);
@@ -273,7 +273,7 @@ asmlinkage int solaris_utsname(u32 buf)
273 /* Why should we not lie a bit? */ 273 /* Why should we not lie a bit? */
274 down_read(&uts_sem); 274 down_read(&uts_sem);
275 err = set_utsfield(v->sysname, "SunOS", 0, 0); 275 err = set_utsfield(v->sysname, "SunOS", 0, 0);
276 err |= set_utsfield(v->nodename, system_utsname.nodename, 1, 1); 276 err |= set_utsfield(v->nodename, utsname()->nodename, 1, 1);
277 err |= set_utsfield(v->release, "5.6", 0, 0); 277 err |= set_utsfield(v->release, "5.6", 0, 0);
278 err |= set_utsfield(v->version, "Generic", 0, 0); 278 err |= set_utsfield(v->version, "Generic", 0, 0);
279 err |= set_utsfield(v->machine, machine(), 0, 0); 279 err |= set_utsfield(v->machine, machine(), 0, 0);
@@ -305,7 +305,7 @@ asmlinkage int solaris_sysinfo(int cmd, u32 buf, s32 count)
305 case SI_HOSTNAME: 305 case SI_HOSTNAME:
306 r = buffer + 256; 306 r = buffer + 256;
307 down_read(&uts_sem); 307 down_read(&uts_sem);
308 for (p = system_utsname.nodename, q = buffer; 308 for (p = utsname()->nodename, q = buffer;
309 q < r && *p && *p != '.'; *q++ = *p++); 309 q < r && *p && *p != '.'; *q++ = *p++);
310 up_read(&uts_sem); 310 up_read(&uts_sem);
311 *q = 0; 311 *q = 0;