kernel_optimize_test/arch/arm/kernel
Thomas Garnier 2404269bc4 Revert "arm/syscalls: Check address limit on user-mode return"
This reverts commit 73ac5d6a2b.

The work pending loop can call set_fs after addr_limit_user_check
removed the _TIF_FSCHECK flag. This may happen at anytime based on how
ARM handles alignment exceptions. It leads to an infinite loop condition.

After discussion, it has been agreed that the generic approach is not
tailored to the ARM architecture and any fix might not be complete. This
patch will be replaced by an architecture specific implementation. The
work flag approach will be kept for other architectures.

Reported-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Thomas Garnier <thgarnie@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Pratyush Anand <panand@redhat.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: Will Drewry <wad@chromium.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: David Howells <dhowells@redhat.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-api@vger.kernel.org
Cc: Yonghong Song <yhs@fb.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1504798247-48833-3-git-send-email-keescook@chromium.org
2017-09-17 19:45:33 +02:00
..
.gitignore
arch_timer.c
armksyms.c ARM: implement memset32 & memset64 2017-09-08 18:26:48 -07:00
asm-offsets.c ARM: save and reset the address limit when entering an exception 2016-07-07 16:01:01 +01:00
atags_compat.c
atags_parse.c ARM: fix rd_size declaration 2017-07-10 16:32:34 -07:00
atags_proc.c
atags.h ARM: 8495/1: ATAGS: move save_atags() to arch/arm/include/asm/setup.h 2016-01-04 11:26:00 +00:00
bios32.c ARM/PCI: Fix pcibios_init_resource() struct pci_host_bridge leak 2017-07-10 09:33:14 -05:00
cpuidle.c ARM: Convert to using %pOF instead of full_name 2017-08-16 22:25:30 +02:00
crash_dump.c
debug.S
devtree.c ARM: Convert to using %pOF instead of full_name 2017-08-16 22:25:30 +02:00
dma-isa.c
dma.c
early_printk.c
efi.c ARM/efi: Apply strict permissions for UEFI Runtime Services regions 2016-04-28 11:33:53 +02:00
elf.c
entry-armv.S Merge branches 'fixes' and 'misc' into for-linus 2017-09-09 16:34:41 +01:00
entry-common.S Revert "arm/syscalls: Check address limit on user-mode return" 2017-09-17 19:45:33 +02:00
entry-ftrace.S ARM: 8678/1: ftrace: Adds support for CONFIG_DYNAMIC_FTRACE_WITH_REGS 2017-06-18 22:25:16 +01:00
entry-header.S ARM: save and reset the address limit when entering an exception 2016-07-07 16:01:01 +01:00
entry-v7m.S ARM: rename S_FRAME_SIZE to PT_REGS_SIZE 2016-06-22 19:54:28 +01:00
fiq.c
fiqasm.S
ftrace.c ARM: 8678/1: ftrace: Adds support for CONFIG_DYNAMIC_FTRACE_WITH_REGS 2017-06-18 22:25:16 +01:00
head-common.S
head-nommu.S ARM: 8649/2: nommu: remove Hivecs configuration is asm 2017-02-28 11:06:15 +00:00
head.S ARM: align .data section 2017-08-14 16:22:55 +01:00
hibernate.c ARM: use virt_to_idmap() for soft_restart() 2016-02-08 15:48:32 +00:00
hw_breakpoint.c ARM/hw_breakpoint: Fix possible recursive locking for arch_hw_breakpoint_init 2017-06-20 12:25:22 +02:00
hyp-stub.S ARM: align .data section 2017-08-14 16:22:55 +01:00
insn.c
io.c
irq.c ARM: 8499/1: irq: l2c: do not print error in case of missing l2c from 2016-01-26 23:49:02 +00:00
isa.c
iwmmxt.S ARM: align .data section 2017-08-14 16:22:55 +01:00
jump_label.c
kgdb.c scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
machine_kexec.c ARM: kexec: fix failure to boot crash kernel 2017-07-20 11:37:42 +01:00
Makefile Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
module-plts.c ARM: 8662/1: module: split core and init PLT sections 2017-03-17 10:01:28 +00:00
module.c ARM: Silence first allocation with CONFIG_ARM_MODULE_PLTS=y 2017-05-11 14:43:31 +01:00
module.lds ARM: 8662/1: module: split core and init PLT sections 2017-03-17 10:01:28 +00:00
opcodes.c
paravirt.c arm: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops 2015-12-21 14:40:54 +00:00
patch.c arm: Prevent hotplug rwsem recursion 2017-05-26 10:10:46 +02:00
perf_callchain.c perf core: Add a 'nr' field to perf_event_callchain_context 2016-05-16 23:11:51 -03:00
perf_event_v6.c arm: perf: make of_device_ids const 2017-06-15 11:07:34 +01:00
perf_event_v7.c arm: perf: use builtin_platform_driver 2017-02-03 18:46:42 +00:00
perf_event_xscale.c arm: perf: use builtin_platform_driver 2017-02-03 18:46:42 +00:00
perf_regs.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
pj4-cp0.c ARM: 8452/3: PJ4: make coprocessor access sequences buildable in Thumb2 mode 2016-01-04 11:12:10 +00:00
process.c ARM: 8683/1: ARM32: Support mremap() for sigpage/vDSO 2017-06-21 13:02:58 +01:00
psci_smp.c
ptrace.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
reboot.c ARM: soft-reboot into same mode that we entered the kernel 2017-04-09 07:49:24 -07:00
reboot.h
relocate_kernel.S
return_address.c
setup.c ARM: kexec: avoid allocating crashkernel region outside lowmem 2017-07-20 11:37:15 +01:00
signal.c Revert "arm/syscalls: Check address limit on user-mode return" 2017-09-17 19:45:33 +02:00
sigreturn_codes.S
sleep.S ARM: align .data section 2017-08-14 16:22:55 +01:00
smccc-call.S arm: kernel: Add SMC structure parameter 2017-02-03 18:46:33 +00:00
smp_scu.c
smp_tlb.c ARM: 8613/1: Fix the uaccess crash on PB11MPCore 2017-01-16 17:30:46 +00:00
smp_twd.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
smp.c arm: Adjust system_state check 2017-05-23 10:01:35 +02:00
stacktrace.c ARM: 8691/1: Export save_stack_trace_tsk() 2017-09-09 16:26:42 +01:00
suspend.c sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
swp_emulate.c sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
sys_arm.c
sys_oabi-compat.c sched/headers: Prepare to remove <linux/cred.h> inclusion from <linux/sched.h> 2017-03-02 08:42:31 +01:00
tcm.c
thumbee.c
time.c clocksource/drivers: Rename clocksource_probe to timer_probe 2017-06-14 11:59:16 +02:00
topology.c ARM: Convert to using %pOF instead of full_name 2017-08-16 22:25:30 +02:00
traps.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
unwind.c
v7m.c
vdso.c ARM: 8683/1: ARM32: Support mremap() for sigpage/vDSO 2017-06-21 13:02:58 +01:00
vmlinux-xip.lds.S debug: Fix __bug_table[] in arch linker scripts 2017-04-03 10:22:40 +02:00
vmlinux.lds.S debug: Fix __bug_table[] in arch linker scripts 2017-04-03 10:22:40 +02:00
xscale-cp0.c