aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
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/sparc
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/sparc')
-rw-r--r--arch/sparc/kernel/sys_sparc.c4
-rw-r--r--arch/sparc/kernel/sys_sunos.c15
2 files changed, 12 insertions, 7 deletions
diff --git a/arch/sparc/kernel/sys_sparc.c b/arch/sparc/kernel/sys_sparc.c
index 896863fb208a..002ab4dbe5cb 100644
--- a/arch/sparc/kernel/sys_sparc.c
+++ b/arch/sparc/kernel/sys_sparc.c
@@ -475,13 +475,13 @@ asmlinkage int sys_getdomainname(char __user *name, int len)
475 475
476 down_read(&uts_sem); 476 down_read(&uts_sem);
477 477
478 nlen = strlen(system_utsname.domainname) + 1; 478 nlen = strlen(utsname()->domainname) + 1;
479 err = -EINVAL; 479 err = -EINVAL;
480 if (nlen > len) 480 if (nlen > len)
481 goto out; 481 goto out;
482 482
483 err = -EFAULT; 483 err = -EFAULT;
484 if (!copy_to_user(name, system_utsname.domainname, nlen)) 484 if (!copy_to_user(name, utsname()->domainname, nlen))
485 err = 0; 485 err = 0;
486 486
487out: 487out:
diff --git a/arch/sparc/kernel/sys_sunos.c b/arch/sparc/kernel/sys_sunos.c
index aa0fb2efb615..9d2cd97d1c3a 100644
--- a/arch/sparc/kernel/sys_sunos.c
+++ b/arch/sparc/kernel/sys_sunos.c
@@ -483,13 +483,18 @@ asmlinkage int sunos_uname(struct sunos_utsname __user *name)
483{ 483{
484 int ret; 484 int ret;
485 down_read(&uts_sem); 485 down_read(&uts_sem);
486 ret = copy_to_user(&name->sname[0], &system_utsname.sysname[0], sizeof(name->sname) - 1); 486 ret = copy_to_user(&name->sname[0], &utsname()->sysname[0],
487 sizeof(name->sname) - 1);
487 if (!ret) { 488 if (!ret) {
488 ret |= __copy_to_user(&name->nname[0], &system_utsname.nodename[0], sizeof(name->nname) - 1); 489 ret |= __copy_to_user(&name->nname[0], &utsname()->nodename[0],
490 sizeof(name->nname) - 1);
489 ret |= __put_user('\0', &name->nname[8]); 491 ret |= __put_user('\0', &name->nname[8]);
490 ret |= __copy_to_user(&name->rel[0], &system_utsname.release[0], sizeof(name->rel) - 1); 492 ret |= __copy_to_user(&name->rel[0], &utsname()->release[0],
491 ret |= __copy_to_user(&name->ver[0], &system_utsname.version[0], sizeof(name->ver) - 1); 493 sizeof(name->rel) - 1);
492 ret |= __copy_to_user(&name->mach[0], &system_utsname.machine[0], sizeof(name->mach) - 1); 494 ret |= __copy_to_user(&name->ver[0], &utsname()->version[0],
495 sizeof(name->ver) - 1);
496 ret |= __copy_to_user(&name->mach[0], &utsname()->machine[0],
497 sizeof(name->mach) - 1);
493 } 498 }
494 up_read(&uts_sem); 499 up_read(&uts_sem);
495 return ret ? -EFAULT : 0; 500 return ret ? -EFAULT : 0;