tile: fix personality bits handling upon exec()
authorJiri Kosina <jkosina@suse.cz>
Fri, 5 Oct 2012 00:12:22 +0000 (17:12 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 5 Oct 2012 18:04:47 +0000 (03:04 +0900)
commit9f6547a3209b78689ab8183630df87ca5e13fec0
tree99aa4f2cc9eab61f8d013ab379834b607b942026
parent16f3e95b3209c4d9080e3a3c6bb9955a0e7cfa95
tile: fix personality bits handling upon exec()

Historically, the top three bytes of personality have been used for
things such as ADDR_NO_RANDOMIZE, which made sense only for specific
architectures.

We now however have a flag there that is general no matter the
architecture (UNAME26); generally we have to be careful to preserve the
personality flags across exec().

This patch fixes tile architecture not to forcefully overwrite
personality flags during exec().

In addition to that, we fix two other things along the way:

- exec_domain switching is fixed -- set_personality() should always
  be used instead of directly assigning to current->personality.
- as pointed out by Arnd Bergmann, PER_LINUX_32BIT is not used anywhere
  by tile, so let's just drop that in favor of PER_LINUX

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/tile/include/asm/elf.h