[PATCH] powerpc: fix personality handling in ppc64_personality()
Andreas Schwab
schwab at linux-m68k.org
Thu Aug 2 08:19:27 EST 2012
Jiri Kosina <jkosina at suse.cz> writes:
> if (personality(current->personality) == PER_LINUX32
> - && personality == PER_LINUX)
> - personality = PER_LINUX32;
> + && personality(personality) == PER_LINUX)
> + personality &= ~PER_LINUX | PER_LINUX32;
That doesn't work. ~PER_LINUX is -1, so this is a no-op.
> ret = sys_personality(personality);
> - if (ret == PER_LINUX32)
> - ret = PER_LINUX;
> + if (personality(ret) == PER_LINUX32)
> + ret &= ~PER_LINUX32 | PER_LINUX;
That only "works" because PER_LINUX is 0.
Andreas.
--
Andreas Schwab, schwab at linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Linuxppc-dev
mailing list