linux-samsung-r9q2/arch/sh/include/asm
Jiri Kosina 16f3e95b32 cross-arch: don't corrupt personality flags 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 tries to fix all architectures that forcefully overwrite
personality flags during exec() (ppc32 and s390 have been fixed recently
by commits f9783ec862 ("[S390] Do not clobber personality flags on
exec") and 59e4c3a2fe ("powerpc/32: Don't clobber personality flags on
exec") in a similar way already).

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Mark Salter <msalter@redhat.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Richard Kuo <rkuo@codeaurora.org>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
Cc: Lennox Wu <lennox.wu@gmail.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-06 03:04:47 +09:00
..
adc.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
addrspace.h sh: nommu: use 32-bit phys mode. 2010-11-04 12:32:24 +09:00
alignment.h sh: Split out the unaligned counters and user bits. 2010-01-12 16:12:25 +09:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic-grb.h sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. 2010-01-08 17:02:17 +09:00
atomic-irq.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
atomic-llsc.h sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. 2010-01-08 17:02:17 +09:00
atomic.h sh: Fix up tracepoint build fallout from static key introduction. 2012-04-27 11:12:38 +09:30
auxvec.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
barrier.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
bitops-grb.h sh: Convert to generic bitops for IRQ-toggling implementation. 2008-12-22 18:42:53 +09:00
bitops-llsc.h sh: Relax inline assembly constraints 2009-01-29 11:57:09 +09:00
bitops-op32.h sh: Provide optimized non-atomic bitops for SH-2A. 2008-12-22 18:42:54 +09:00
bitops.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
bl_bit.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
bl_bit_32.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
bl_bit_64.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
bug.h sh: Consolidate die definitions for trap handlers. 2012-06-14 14:18:51 +09:00
bugs.h sh: Idle loop chainsawing for SMP-based light sleep. 2009-10-16 17:20:58 +09:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
cache_insns.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
cache_insns_32.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
cache_insns_64.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
cachectl.h sh: fix sys_cacheflush error checking 2009-08-24 18:59:09 +09:00
cacheflush.h sh: Assume new page cache pages have dirty dcache lines. 2010-12-01 15:39:51 +09:00
checksum.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
checksum_32.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
clkdev.h ARM: 6483/1: arm & sh: factorised duplicated clkdev.c 2010-11-26 10:51:04 +00:00
clock.h sh: sh header sh_clk_ops rename 2012-03-12 22:19:10 +01:00
cmpxchg-grb.h sh: Fix up xchg/cmpxchg corruption with gUSA RB. 2011-06-08 15:22:39 +09:00
cmpxchg-irq.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
cmpxchg-llsc.h sh: Fix sh4a llsc-based cmpxchg() 2009-06-11 09:31:55 +03:00
cmpxchg.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
cpu-features.h sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
device.h sh: Defer to asm-generic/device.h. 2012-01-13 16:27:38 +09:00
dma-mapping.h SH: adapt for dma_map_ops changes 2012-03-28 16:36:37 +02:00
dma-register.h dmaengine: shdma: separate DMA headers. 2010-03-02 11:09:04 +09:00
dma.h sh: Kill off MAX_DMA_ADDRESS leftovers. 2012-05-19 18:50:09 +09:00
dmabrg.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
dwarf.h sh: Optimise FDE/CIE lookup by using red-black trees 2010-02-08 11:29:15 +09:00
elf.h cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
entry-macros.S sh: Remove implicit sign extension from assembler immediates 2009-08-24 17:09:53 +09:00
exec.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
fb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
fixmap.h Revert "sh: Ensure fixmap and store queue space can co-exist." 2012-05-18 19:30:05 +09:00
flat.h flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
fpu.h sh: Move over to dynamically allocated FPU context. 2010-01-13 12:51:40 +09:00
freq.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
ftrace.h sh: Provide CALLER_ADDRx definitions even when ftrace is disabled. 2009-10-14 11:49:49 +09:00
futex-irq.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
futex.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
gpio.h sh: Allow GPIO chips to register IRQ mappings. 2010-10-03 03:55:39 +09:00
hardirq.h sh: Count NMIs in irq_cpustat_t. 2009-10-14 16:42:28 +09:00
hd64461.h sh: mach-hp6xx: Fix up the hp6xx build for hd64461 changes. 2009-05-20 11:27:13 +09:00
heartbeat.h sh: Prevent heartbeat from scribbling over non-LED bits. 2009-08-18 21:16:29 +09:00
hugetlb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
hw_breakpoint.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-05-19 11:36:03 -07:00
hw_irq.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
i2c-sh7760.h sh: edosk7760 evt2irq migration. 2012-05-18 14:52:31 +09:00
io.h sections: fix section conflicts in arch/sh 2012-10-06 03:04:40 +09:00
io_generic.h sh: machvec IO death. 2010-11-01 09:49:04 -04:00
io_noioport.h SH: Convert out[bwl] macros to inline functions 2012-07-12 13:12:13 +09:00
io_trapped.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
ioctls.h tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys 2011-02-17 14:16:30 -08:00
irq.h sh: Kill off machvec IRQ hinting. 2012-05-21 17:54:01 +09:00
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Kbuild sh: Kill off additional asm-generic wrappers. 2012-06-13 11:59:47 +09:00
kdebug.h sh64: Convert to unwinder API. 2012-05-24 15:03:46 +09:00
kexec.h sh: convert kexec crash kernel management to LMB. 2010-05-07 14:54:55 +09:00
kgdb.h sh: kgdb: Unset CACHE_FLUSH_IS_SAFE for SMP. 2012-04-11 10:48:24 +09:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kprobes.h sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
linkage.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
machvec.h sh: Kill off machvec IRQ hinting. 2012-05-21 17:54:01 +09:00
mc146818rtc.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
mmu.h sh: Fix up NUMA build for 29-bit. 2010-03-10 16:29:48 +09:00
mmu_context.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
mmu_context_32.h sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
mmu_context_64.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h sh: Optimise FDE/CIE lookup by using red-black trees 2010-02-08 11:29:15 +09:00
mutex-llsc.h sh: Fix up T-bit error handling in SH-4A mutex fastpath. 2009-01-29 11:56:03 +09:00
mutex.h sh: Add SH-4A optimized fastpath mutex implementation. 2008-12-22 18:42:55 +09:00
page.h sh: Fix cached/uncaced address calculation in 29bit mode 2011-11-04 22:13:50 +09:00
pci.h PCI: collapse pcibios_resource_to_bus 2012-02-23 20:19:04 -07:00
perf_event.h irq_work: Add generic hardirq context callbacks 2010-10-18 19:58:50 +02:00
pgalloc.h sh: default to extended TLB support. 2010-01-13 19:11:14 +09:00
pgtable-2level.h sh: Rename split-level pgtable headers. 2010-01-13 19:18:39 +09:00
pgtable-3level.h sh: Rename split-level pgtable headers. 2010-01-13 19:18:39 +09:00
pgtable.h sh64: asm/pgtable.h needs asm/mmu.h 2011-05-31 14:37:44 +09:00
pgtable_32.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pgtable_64.h sh64: Kill off unused fixed I/O mapping window. 2012-05-14 15:16:11 +09:00
posix_types.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
posix_types_32.h bury __kernel_nlink_t, make internal nlink_t consistent 2012-05-30 21:04:50 -04:00
posix_types_64.h bury __kernel_nlink_t, make internal nlink_t consistent 2012-05-30 21:04:50 -04:00
processor.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
processor_32.h fork: move the real prepare_to_copy() users to arch_dup_task_struct() 2012-05-16 15:16:26 -07:00
processor_64.h Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-05-23 10:59:07 -07:00
ptrace.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
ptrace_32.h Audit: push audit success and retcode into arch ptrace.h 2012-01-17 16:16:56 -05:00
ptrace_64.h Audit: push audit success and retcode into arch ptrace.h 2012-01-17 16:16:56 -05:00
push-switch.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
reboot.h sh: machine_ops based reboot support. 2010-01-20 16:42:52 +09:00
romimage-macros.h sh: add romimage-macros.h 2009-09-11 13:19:16 +09:00
rtc.h sh: rtc-generic support. 2009-04-27 17:34:39 +09:00
rwsem.h rwsem: Move duplicate function prototypes to linux/rwsem.h 2011-01-27 12:30:39 +01:00
seccomp.h sh: seccomp support. 2008-08-02 04:39:32 +09:00
sections.h mtd/uclinux: Use generic __bss_stop instead of _ebss 2012-06-27 09:59:43 +02:00
segment.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
setup.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
sfp-machine.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sh7760fb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sh_bios.h sh: Kill off more unused sh_bios callbacks. 2010-01-12 15:26:11 +09:00
shmparam.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sigcontext.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
signal.h sh: Convert to asm-generic/signal.h. 2009-06-14 23:25:57 +09:00
siu.h sh: remove unused DMA device pointer from SIU platform data 2012-07-20 11:23:44 +05:30
smc37c93x.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
smp-ops.h sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
smp.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
sockios.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sparsemem.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
spi.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
spinlock.h locking: Convert raw_rwlock functions to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
sram.h sh: Provide a generic SRAM pool for tiny memories. 2010-10-15 02:09:00 +09:00
stackprotector.h sh: initial stack protector support. 2012-04-19 15:45:57 +09:00
stacktrace.h sh: remove warning and warning_symbol from struct stacktrace_ops 2011-05-23 14:42:15 +09:00
stat.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
string.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
string_32.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
string_64.h sh: Add SH-5 optimized memcpy()/memset()/strcpy()/strlen(). 2008-12-22 18:44:05 +09:00
suspend.h PM / Hibernate: Remove arch_prepare_suspend() 2011-05-24 23:35:55 +02:00
swab.h sh: Tidy up duplication in irq/swab/timex.h. 2009-06-14 23:21:54 +09:00
switch_to.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
switch_to_32.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
switch_to_64.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
syscall.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
syscall_32.h sh: Add ftrace syscall tracing support 2009-07-06 20:16:33 +09:00
syscall_64.h sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
syscalls.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
syscalls_32.h sh: switch to saved_sigmask-based sigsuspend()/rt_sigsuspend() 2012-05-21 23:58:06 -04:00
syscalls_64.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
thread_info.h set_restore_sigmask() is never called without SIGPENDING (and never should be) 2012-06-01 12:58:50 -04:00
timex.h sh: Only provide a PCLK definition for legacy CPG CPUs. 2009-12-29 11:09:30 +09:00
tlb.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
tlb_64.h sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00
tlbflush.h sh: Provide a global TLB flush for U/I-TLB clear. 2010-07-02 15:44:09 +09:00
topology.h sched/numa: Rewrite the CONFIG_NUMA sched domain support 2012-05-09 15:00:55 +02:00
traps.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
traps_32.h Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
traps_64.h sh64: Provide EXPEVT helper. 2012-05-14 13:04:08 +09:00
types.h sh: Add register alignment helpers for shared flushers. 2009-08-15 01:57:36 +09:00
uaccess.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
uaccess_32.h sh: use the new generic strnlen_user() function 2012-06-13 10:28:37 +09:00
uaccess_64.h sh: use the new generic strnlen_user() function 2012-06-13 10:28:37 +09:00
unaligned-sh4a.h Fix common misspellings 2011-03-31 11:26:23 -03:00
unaligned.h sh: Convert to asm-generic/unaligned.h. 2009-06-14 23:24:43 +09:00
uncached.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
unistd.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
unistd_32.h sh: Consolidate duplicate _32/_64 unistd definitions. 2012-03-28 17:10:05 +09:00
unistd_64.h sh: Consolidate duplicate _32/_64 unistd definitions. 2012-03-28 17:10:05 +09:00
unwinder.h sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() 2009-08-21 13:02:44 +01:00
user.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
vga.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
vmlinux.lds.h sh64: fix up memory offset calculation. 2010-02-12 15:41:45 +09:00
watchdog.h sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
word-at-a-time.h sh: use the new generic strnlen_user() function 2012-06-13 10:28:37 +09:00