From: Martin Schwidefsky Date: Fri, 14 Nov 2008 17:18:09 +0000 (+0100) Subject: [S390] fix s390x_newuname X-Git-Tag: firefly_0821_release~16803^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d2f019fe40e8fecd822f87bc759f74925a5c31d6;p=firefly-linux-kernel-4.4.55.git [S390] fix s390x_newuname The uname system call for 64 bit compares current->personality without masking the upper 16 bits. If e.g. READ_IMPLIES_EXEC is set the result of a uname system call will always be s390x even if the process uses the s390 personality. Signed-off-by: Martin Schwidefsky --- diff --git a/arch/s390/kernel/sys_s390.c b/arch/s390/kernel/sys_s390.c index 5fdb799062b7..4fe952e557ac 100644 --- a/arch/s390/kernel/sys_s390.c +++ b/arch/s390/kernel/sys_s390.c @@ -198,7 +198,7 @@ asmlinkage long s390x_newuname(struct new_utsname __user *name) { int ret = sys_newuname(name); - if (current->personality == PER_LINUX32 && !ret) { + if (personality(current->personality) == PER_LINUX32 && !ret) { ret = copy_to_user(name->machine, "s390\0\0\0\0", 8); if (ret) ret = -EFAULT; }