diff options
Diffstat (limited to 'arch/powerpc/kernel/syscalls.c')
| -rw-r--r-- | arch/powerpc/kernel/syscalls.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/syscalls.c b/arch/powerpc/kernel/syscalls.c index f2496f2faec..cd9be9aa016 100644 --- a/arch/powerpc/kernel/syscalls.c +++ b/arch/powerpc/kernel/syscalls.c @@ -34,7 +34,6 @@  #include <linux/ipc.h>  #include <linux/utsname.h>  #include <linux/file.h> -#include <linux/init.h>  #include <linux/personality.h>  #include <asm/uaccess.h> @@ -107,11 +106,11 @@ long ppc64_personality(unsigned long personality)  	long ret;  	if (personality(current->personality) == PER_LINUX32 -	    && personality == PER_LINUX) -		personality = PER_LINUX32; +	    && personality(personality) == PER_LINUX) +		personality = (personality & ~PER_MASK) | PER_LINUX32;  	ret = sys_personality(personality); -	if (ret == PER_LINUX32) -		ret = PER_LINUX; +	if (personality(ret) == PER_LINUX32) +		ret = (ret & ~PER_MASK) | PER_LINUX;  	return ret;  }  #endif  | 
