diff options
author | Serge E. Hallyn <serue@us.ibm.com> | 2006-10-02 05:18:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-02 10:57:21 -0400 |
commit | e9ff3990f08e9a0c2839cc22808b01732ea5b3e4 (patch) | |
tree | c638a7b89f0c5e8adc410316d06ca1de8b8dabee /arch/um | |
parent | 0bdd7aab7f0ecd5d337910816aa058c18398628e (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/um')
-rw-r--r-- | arch/um/drivers/mconsole_kern.c | 6 | ||||
-rw-r--r-- | arch/um/kernel/syscall.c | 22 | ||||
-rw-r--r-- | arch/um/sys-x86_64/syscalls.c | 2 |
3 files changed, 15 insertions, 15 deletions
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c index 773a134e7fdb..a67dcbd78de4 100644 --- a/arch/um/drivers/mconsole_kern.c +++ b/arch/um/drivers/mconsole_kern.c | |||
@@ -106,9 +106,9 @@ void mconsole_version(struct mc_request *req) | |||
106 | { | 106 | { |
107 | char version[256]; | 107 | char version[256]; |
108 | 108 | ||
109 | sprintf(version, "%s %s %s %s %s", system_utsname.sysname, | 109 | sprintf(version, "%s %s %s %s %s", utsname()->sysname, |
110 | system_utsname.nodename, system_utsname.release, | 110 | utsname()->nodename, utsname()->release, |
111 | system_utsname.version, system_utsname.machine); | 111 | utsname()->version, utsname()->machine); |
112 | mconsole_reply(req, version, 0, 0); | 112 | mconsole_reply(req, version, 0, 0); |
113 | } | 113 | } |
114 | 114 | ||
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c index 48cf88dd02d4..abf14aaf905f 100644 --- a/arch/um/kernel/syscall.c +++ b/arch/um/kernel/syscall.c | |||
@@ -110,7 +110,7 @@ long sys_uname(struct old_utsname __user * name) | |||
110 | if (!name) | 110 | if (!name) |
111 | return -EFAULT; | 111 | return -EFAULT; |
112 | down_read(&uts_sem); | 112 | down_read(&uts_sem); |
113 | err = copy_to_user(name, &system_utsname, sizeof (*name)); | 113 | err = copy_to_user(name, utsname(), sizeof (*name)); |
114 | up_read(&uts_sem); | 114 | up_read(&uts_sem); |
115 | return err?-EFAULT:0; | 115 | return err?-EFAULT:0; |
116 | } | 116 | } |
@@ -126,21 +126,21 @@ long sys_olduname(struct oldold_utsname __user * name) | |||
126 | 126 | ||
127 | down_read(&uts_sem); | 127 | down_read(&uts_sem); |
128 | 128 | ||
129 | error = __copy_to_user(&name->sysname,&system_utsname.sysname, | 129 | error = __copy_to_user(&name->sysname, &utsname()->sysname, |
130 | __OLD_UTS_LEN); | 130 | __OLD_UTS_LEN); |
131 | error |= __put_user(0,name->sysname+__OLD_UTS_LEN); | 131 | error |= __put_user(0, name->sysname + __OLD_UTS_LEN); |
132 | error |= __copy_to_user(&name->nodename,&system_utsname.nodename, | 132 | error |= __copy_to_user(&name->nodename, &utsname()->nodename, |
133 | __OLD_UTS_LEN); | 133 | __OLD_UTS_LEN); |
134 | error |= __put_user(0,name->nodename+__OLD_UTS_LEN); | 134 | error |= __put_user(0, name->nodename + __OLD_UTS_LEN); |
135 | error |= __copy_to_user(&name->release,&system_utsname.release, | 135 | error |= __copy_to_user(&name->release, &utsname()->release, |
136 | __OLD_UTS_LEN); | 136 | __OLD_UTS_LEN); |
137 | error |= __put_user(0,name->release+__OLD_UTS_LEN); | 137 | error |= __put_user(0, name->release + __OLD_UTS_LEN); |
138 | error |= __copy_to_user(&name->version,&system_utsname.version, | 138 | error |= __copy_to_user(&name->version, &utsname()->version, |
139 | __OLD_UTS_LEN); | 139 | __OLD_UTS_LEN); |
140 | error |= __put_user(0,name->version+__OLD_UTS_LEN); | 140 | error |= __put_user(0, name->version + __OLD_UTS_LEN); |
141 | error |= __copy_to_user(&name->machine,&system_utsname.machine, | 141 | error |= __copy_to_user(&name->machine, &utsname()->machine, |
142 | __OLD_UTS_LEN); | 142 | __OLD_UTS_LEN); |
143 | error |= __put_user(0,name->machine+__OLD_UTS_LEN); | 143 | error |= __put_user(0, name->machine + __OLD_UTS_LEN); |
144 | 144 | ||
145 | up_read(&uts_sem); | 145 | up_read(&uts_sem); |
146 | 146 | ||
diff --git a/arch/um/sys-x86_64/syscalls.c b/arch/um/sys-x86_64/syscalls.c index 6fce9f45dfdc..73ce4463f70c 100644 --- a/arch/um/sys-x86_64/syscalls.c +++ b/arch/um/sys-x86_64/syscalls.c | |||
@@ -21,7 +21,7 @@ asmlinkage long sys_uname64(struct new_utsname __user * name) | |||
21 | { | 21 | { |
22 | int err; | 22 | int err; |
23 | down_read(&uts_sem); | 23 | down_read(&uts_sem); |
24 | err = copy_to_user(name, &system_utsname, sizeof (*name)); | 24 | err = copy_to_user(name, utsname(), sizeof (*name)); |
25 | up_read(&uts_sem); | 25 | up_read(&uts_sem); |
26 | if (personality(current->personality) == PER_LINUX32) | 26 | if (personality(current->personality) == PER_LINUX32) |
27 | err |= copy_to_user(&name->machine, "i686", 5); | 27 | err |= copy_to_user(&name->machine, "i686", 5); |