linux/arch/arm/lib
Kees Cook c1a9559a24 ARM: 8958/1: rename missed uaccess .fixup section
commit f87b1c49bc upstream.

When the uaccess .fixup section was renamed to .text.fixup, one case was
missed. Under ld.bfd, the orphaned section was moved close to .text
(since they share the "ax" bits), so things would work normally on
uaccess faults. Under ld.lld, the orphaned section was placed outside
the .text section, making it unreachable.

Link: https://github.com/ClangBuiltLinux/linux/issues/282
Link: https://bugs.chromium.org/p/chromium/issues/detail?id=1020633#c44
Link: https://lore.kernel.org/r/nycvar.YSQ.7.76.1912032147340.17114@knanqh.ubzr
Link: https://lore.kernel.org/lkml/202002071754.F5F073F1D@keescook/

Fixes: c4a84ae39b ("ARM: 8322/1: keep .text and .fixup regions closer together")
Cc: stable@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-03-20 11:55:59 +01:00
..
ashldi3.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
ashrdi3.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
backtrace.S ARM: fix backtrace 2016-11-15 15:25:39 +00:00
bitops.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bswapsdi2.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
call_with_stack.S ARM: replace BSYM() with badr assembly macro 2015-05-08 17:33:50 +01:00
changebit.S
clear_user.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
clearbit.S
copy_from_user.S ARM: 8958/1: rename missed uaccess .fixup section 2020-03-20 11:55:59 +01:00
copy_page.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
copy_template.S ARM: 8225/1: Add unwinding support for memory copy functions 2014-11-27 16:00:25 +00:00
copy_to_user.S ARM: 8797/1: spectre-v1.1: harden __copy_to_user 2019-02-20 10:25:37 +01:00
csumipv6.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
csumpartial.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
csumpartialcopy.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
csumpartialcopygeneric.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
csumpartialcopyuser.S ARM: 8731/1: Fix csum_partial_copy_from_user() stack mismatch 2017-12-17 22:20:39 +00:00
delay-loop.S ARM: 8619/1: udelay: document the various constants 2016-10-19 10:52:36 +01:00
delay.c Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
div64.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
ecard.S
findbit.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
floppydma.S
getuser.S ARM: 8813/1: Make aligned 2-byte getuser()/putuser() atomic on ARMv6+ 2019-12-13 08:51:10 +01:00
io-acorn.S
io-readsb.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
io-readsl.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
io-readsw-armv3.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
io-readsw-armv4.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
io-writesb.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
io-writesl.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
io-writesw-armv3.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
io-writesw-armv4.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
lib1funcs.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
lshrdi3.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
Makefile ARM: 8833/1: Ensure that NEON code always compiles with Clang 2019-04-05 22:33:08 +02:00
memchr.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
memcpy.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
memmove.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
memset.S ARM: implement memset32 & memset64 2017-09-08 18:26:48 -07:00
muldi3.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
putuser.S ARM: 8813/1: Make aligned 2-byte getuser()/putuser() atomic on ARMv6+ 2019-12-13 08:51:10 +01:00
setbit.S
strchr.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
strrchr.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
testchangebit.S
testclearbit.S
testsetbit.S
uaccess_with_memcpy.c ARM: 8797/1: spectre-v1.1: harden __copy_to_user 2019-02-20 10:25:37 +01:00
ucmpdi2.S Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
xor-neon.c ARM: 8833/1: Ensure that NEON code always compiles with Clang 2019-04-05 22:33:08 +02:00