|
@@ -81,11 +81,12 @@ SYSCALL_DEFINE1(s390_personality, unsigned int, personality)
|
|
|
{
|
|
|
unsigned int ret;
|
|
|
|
|
|
- if (current->personality == PER_LINUX32 && personality == PER_LINUX)
|
|
|
- personality = PER_LINUX32;
|
|
|
+ if (personality(current->personality) == PER_LINUX32 &&
|
|
|
+ personality(personality) == PER_LINUX)
|
|
|
+ personality |= PER_LINUX32;
|
|
|
ret = sys_personality(personality);
|
|
|
- if (ret == PER_LINUX32)
|
|
|
- ret = PER_LINUX;
|
|
|
+ if (personality(ret) == PER_LINUX32)
|
|
|
+ ret &= ~PER_LINUX32;
|
|
|
|
|
|
return ret;
|
|
|
}
|