From 6b1db49ee059e2d32ea6667853e49a7cb010833c Mon Sep 17 00:00:00 2001 From: "don.hong" Date: Fri, 30 Mar 2012 15:33:35 +0900 Subject: [PATCH] [Title] Modify uname system call to return machine field catenated with "_emulated" [Type] Feature [Module] [Priority] [CQ#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] Change-Id: I54e2b46351782338596f8545f9573b68ecdc49b5 --- kernel/sys.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/kernel/sys.c b/kernel/sys.c index ce17760d9c51..7c9cfdcd84c7 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1120,11 +1120,23 @@ DECLARE_RWSEM(uts_sem); 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 return errno; } -- 2.34.1