diff options
-rw-r--r-- | kernel/sys.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 96fa989d0bc3..c18ecca575b4 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1123,23 +1123,12 @@ static int override_release(char __user *release, size_t len) SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name) { int errno = 0; -#ifdef CONFIG_MARU - struct new_utsname u; down_read(&uts_sem); - memcpy(&u, utsname(), sizeof *name); - up_read(&uts_sem); - - strcat(u.machine, "_emulated"); - - if (copy_to_user(name, &u, sizeof *name)) - errno = -EFAULT; -#else - down_read(&uts_sem); if (copy_to_user(name, utsname(), sizeof *name)) errno = -EFAULT; up_read(&uts_sem); -#endif + if (!errno && override_release(name->release, sizeof(name->release))) errno = -EFAULT; if (!errno && override_architecture(name)) |