From 3cbb49dcb48458572169d94bf7ec6015ed748f1b Mon Sep 17 00:00:00 2001 From: Munkyu Im Date: Fri, 11 Jul 2014 20:56:55 +0900 Subject: [PATCH] uname: Add Emulator specific name To distinguish between real device and emulator, add "_emulated" postfix into machine hardware name. Change-Id: I0a801a127d0fb62314d6d30cac03febfd6d49801 Signed-off-by: Munkyu Im --- kernel/sys.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/kernel/sys.c b/kernel/sys.c index c18ecca..96fa989 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1123,12 +1123,23 @@ 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)) -- 2.7.4