[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>
This commit is contained in:
committed by
Linus Torvalds
parent
0bdd7aab7f
commit
e9ff3990f0
@ -483,13 +483,18 @@ asmlinkage int sunos_uname(struct sunos_utsname __user *name)
|
||||
{
|
||||
int ret;
|
||||
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) {
|
||||
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 |= __copy_to_user(&name->rel[0], &system_utsname.release[0], sizeof(name->rel) - 1);
|
||||
ret |= __copy_to_user(&name->ver[0], &system_utsname.version[0], sizeof(name->ver) - 1);
|
||||
ret |= __copy_to_user(&name->mach[0], &system_utsname.machine[0], sizeof(name->mach) - 1);
|
||||
ret |= __copy_to_user(&name->rel[0], &utsname()->release[0],
|
||||
sizeof(name->rel) - 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);
|
||||
return ret ? -EFAULT : 0;
|
||||
|
Reference in New Issue
Block a user