[Title] Modify uname system call to return machine field catenated with "_emulated"
authordon.hong <don.hong@samsung.com>
Fri, 30 Mar 2012 06:33:35 +0000 (15:33 +0900)
committerdon.hong <don.hong@samsung.com>
Fri, 30 Mar 2012 06:33:35 +0000 (15:33 +0900)
[Type] Feature
[Module]
[Priority]
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: I54e2b46351782338596f8545f9573b68ecdc49b5

kernel/sys.c

index ce17760d9c516720af8dcf1522b47da937ba0023..7c9cfdcd84c71850766b89497e30e57b8828aea7 100644 (file)
@@ -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;
 }