From e14b4f61a1e5c59b3ce31344ca73aef1e2fd2b4f Mon Sep 17 00:00:00 2001 From: Matthew Wilcox Date: Wed, 4 Oct 2006 13:33:53 -0600 Subject: [PATCH] --- yaml --- r: 39006 b: refs/heads/master c: f64ef295032d07345ca26bf4876a1577c4dccb37 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/parisc/kernel/sys_parisc.c | 33 ++++++++------------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/[refs] b/[refs] index 9c27bc58bd2a..65b63aee77a3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ccd6c355e89a21d9047ae19471629758d3a01959 +refs/heads/master: f64ef295032d07345ca26bf4876a1577c4dccb37 diff --git a/trunk/arch/parisc/kernel/sys_parisc.c b/trunk/arch/parisc/kernel/sys_parisc.c index 1db5588ceacf..512642d8f707 100644 --- a/trunk/arch/parisc/kernel/sys_parisc.c +++ b/trunk/arch/parisc/kernel/sys_parisc.c @@ -266,30 +266,17 @@ long parisc_personality(unsigned long personality) return err; } -static inline int override_machine(char __user *mach) { -#ifdef CONFIG_COMPAT - if (personality(current->personality) == PER_LINUX32) { - if (__put_user(0, mach + 6) || - __put_user(0, mach + 7)) - return -EFAULT; - } - - return 0; -#else /*!CONFIG_COMPAT*/ - return 0; -#endif /*CONFIG_COMPAT*/ -} - -long parisc_newuname(struct new_utsname __user *utsname) +long parisc_newuname(struct new_utsname __user *name) { - int err = 0; + int err = sys_newuname(name); - down_read(&uts_sem); - if (copy_to_user(utsname, &system_utsname, sizeof(*utsname))) - err = -EFAULT; - up_read(&uts_sem); - - err = override_machine(utsname->machine); +#ifdef CONFIG_COMPAT + if (!err && personality(current->personality) == PER_LINUX32) { + if (__put_user(0, name->machine + 6) || + __put_user(0, name->machine + 7)) + err = -EFAULT; + } +#endif - return (long)err; + return err; }