patch-2.4.20 linux-2.4.20/arch/s390x/kernel/sys_s390.c
Next file: linux-2.4.20/arch/s390x/kernel/time.c
Previous file: linux-2.4.20/arch/s390x/kernel/smp.c
Back to the patch index
Back to the overall index
- Lines: 39
- Date:
Thu Nov 28 15:53:11 2002
- Orig file:
linux-2.4.19/arch/s390x/kernel/sys_s390.c
- Orig date:
Wed Apr 11 19:02:29 2001
diff -urN linux-2.4.19/arch/s390x/kernel/sys_s390.c linux-2.4.20/arch/s390x/kernel/sys_s390.c
@@ -24,6 +24,7 @@
#include <linux/mman.h>
#include <linux/file.h>
#include <linux/utsname.h>
+#include <linux/personality.h>
#include <asm/uaccess.h>
#include <asm/ipc.h>
@@ -203,3 +204,30 @@
return -ERESTARTNOHAND;
}
+extern asmlinkage int sys_newuname(struct new_utsname * name);
+
+asmlinkage int s390x_newuname(struct new_utsname * name)
+{
+ int ret = sys_newuname(name);
+
+ if (current->personality == PER_LINUX32 && !ret) {
+ ret = copy_to_user(name->machine, "s390\0\0\0\0", 8);
+ if (ret) ret = -EFAULT;
+ }
+ return ret;
+}
+
+extern asmlinkage long sys_personality(unsigned long);
+
+asmlinkage int s390x_personality(unsigned long personality)
+{
+ int ret;
+
+ if (current->personality == PER_LINUX32 && personality == PER_LINUX)
+ personality = PER_LINUX32;
+ ret = sys_personality(personality);
+ if (ret == PER_LINUX32)
+ ret = PER_LINUX;
+
+ return ret;
+}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)