aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/sys-x86_64/syscalls.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/sys-x86_64/syscalls.c')
-rw-r--r--arch/um/sys-x86_64/syscalls.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/um/sys-x86_64/syscalls.c b/arch/um/sys-x86_64/syscalls.c
index 68205a03364c..ab4b0abf8af3 100644
--- a/arch/um/sys-x86_64/syscalls.c
+++ b/arch/um/sys-x86_64/syscalls.c
@@ -14,11 +14,15 @@
14#include "asm/prctl.h" /* XXX This should get the constants from libc */ 14#include "asm/prctl.h" /* XXX This should get the constants from libc */
15#include "choose-mode.h" 15#include "choose-mode.h"
16 16
17asmlinkage long wrap_sys_shmat(int shmid, char __user *shmaddr, int shmflg) 17asmlinkage long sys_uname64(struct new_utsname __user * name)
18{ 18{
19 unsigned long raddr; 19 int err;
20 20 down_read(&uts_sem);
21 return do_shmat(shmid, shmaddr, shmflg, &raddr) ?: (long) raddr; 21 err = copy_to_user(name, &system_utsname, sizeof (*name));
22 up_read(&uts_sem);
23 if (personality(current->personality) == PER_LINUX32)
24 err |= copy_to_user(&name->machine, "i686", 5);
25 return err ? -EFAULT : 0;
22} 26}
23 27
24#ifdef CONFIG_MODE_TT 28#ifdef CONFIG_MODE_TT