Loading arch/parisc/kernel/sys_parisc.c +10 −23 Original line number Diff line number Diff line Loading @@ -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))) #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; up_read(&uts_sem); err = override_machine(utsname->machine); } #endif return (long)err; return err; } Loading
arch/parisc/kernel/sys_parisc.c +10 −23 Original line number Diff line number Diff line Loading @@ -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))) #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; up_read(&uts_sem); err = override_machine(utsname->machine); } #endif return (long)err; return err; }