On Wed, 5 Sep 2012, Benjamin Herrenschmidt wrote:
quoted
Directly comparing current->personality against PER_LINUX32 doesn't work
in cases when any of the personality flags stored in the top three bytes
are used.
Directly forcefully setting personality to PER_LINUX32 or PER_LINUX
discards any flags stored in the top three bytes
Use personality() macro to compare only PER_MASK bytes and make sure that
we are setting only the bits that should be set, instead of
overwriting the whole value.
Signed-off-by: Jiri Kosina <redacted>
---
changed since v1: fix the bit ops to reflect the fact that PER_LINUX is
actually 0
Had already merged v1 (oops.. didn't spot the issue with PER_LINUX being
0). Can you send an incremental fixup ?
Hi Benjamin,
actually commit 7256a5d2da56 seems to contain the correct PER_LINUX
handling, so seems like you picked the right one :)
Thanks,
--
Jiri Kosina
SUSE Labs