There are multiple errors in how sys_sparc64_personality() handles personality flags stored in top three bytes. - 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 Fix the first one by properly using personality() macro to compare only PER_MASK bytes. Fix the second one by setting only the bits that should be set, instead of overwriting the whole value. Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
boot | ||
configs | ||
include/asm | ||
kernel | ||
lib | ||
math-emu | ||
mm | ||
net | ||
oprofile | ||
prom | ||
Kbuild | ||
Kconfig | ||
Kconfig.debug | ||
Makefile |