|
@@ -502,12 +502,12 @@ SYSCALL_DEFINE1(sparc64_personality, unsigned long, personality)
|
|
{
|
|
{
|
|
int ret;
|
|
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);
|
|
ret = sys_personality(personality);
|
|
- if (ret == PER_LINUX32)
|
|
|
|
- ret = PER_LINUX;
|
|
|
|
|
|
+ if (personality(ret) == PER_LINUX32)
|
|
|
|
+ ret &= ~PER_LINUX32;
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|