OrangePi_CM5/include/asm-generic
Nathan Chancellor b5f05bdfda vmlinux.lds.h: Handle clang's module.{c,d}tor sections
commit 848378812e40152abe9b9baf58ce2004f76fb988 upstream.

A recent change in LLVM causes module_{c,d}tor sections to appear when
CONFIG_K{A,C}SAN are enabled, which results in orphan section warnings
because these are not handled anywhere:

ld.lld: warning: arch/x86/pci/built-in.a(legacy.o):(.text.asan.module_ctor) is being placed in '.text.asan.module_ctor'
ld.lld: warning: arch/x86/pci/built-in.a(legacy.o):(.text.asan.module_dtor) is being placed in '.text.asan.module_dtor'
ld.lld: warning: arch/x86/pci/built-in.a(legacy.o):(.text.tsan.module_ctor) is being placed in '.text.tsan.module_ctor'

Fangrui explains: "the function asan.module_ctor has the SHF_GNU_RETAIN
flag, so it is in a separate section even with -fno-function-sections
(default)".

Place them in the TEXT_TEXT section so that these technologies continue
to work with the newer compiler versions. All of the KASAN and KCSAN
KUnit tests continue to pass after this change.

Cc: stable@vger.kernel.org
Link: https://github.com/ClangBuiltLinux/linux/issues/1432
Link: 7b78956224
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Fangrui Song <maskray@google.com>
Acked-by: Marco Elver <elver@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210731023107.1932981-1-nathan@kernel.org
[nc: Resolve conflict due to lack of cf68fffb66d60]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-18 08:59:18 +02:00
..
bitops arm64: make atomic helpers __always_inline 2021-01-27 11:55:00 +01:00
vdso
…
Kbuild local64.h: make <asm/local64.h> mandatory 2021-01-12 20:18:16 +01:00
asm-offsets.h
…
asm-prototypes.h
…
atomic-instrumented.h locking/atomics: Use read-write instrumentation for atomic RMWs 2020-08-24 15:09:59 -07:00
atomic-long.h
…
atomic.h locking/atomic: Move ATOMIC_INIT into linux/types.h 2020-07-29 16:14:18 +02:00
atomic64.h
…
audit_change_attr.h
…
audit_dir_write.h
…
audit_read.h
…
audit_signal.h
…
audit_write.h
…
barrier.h compiler.h: fix barrier_data() on clang 2020-11-14 11:26:03 -08:00
bitops.h
…
bitsperlong.h
…
bug.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
bugs.h
…
cache.h
…
cacheflush.h
…
checksum.h unify generic instances of csum_partial_copy_nocheck() 2020-08-20 15:45:14 -04:00
cmpxchg-local.h
…
cmpxchg.h
…
compat.h compat: lift compat_s64 and compat_u64 to <asm-generic/compat.h> 2020-09-17 13:00:46 -04:00
current.h
…
delay.h
…
device.h
…
div64.h
…
dma-mapping.h
…
dma.h
…
early_ioremap.h
…
emergency-restart.h
…
error-injection.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
exec.h
…
export.h
…
extable.h
…
fb.h
…
fixmap.h
…
flat.h
…
ftrace.h
…
futex.h
…
getorder.h
…
gpio.h
…
hardirq.h
…
hugetlb.h
…
hw_irq.h
…
hyperv-tlfs.h
…
ide_iops.h
…
int-ll64.h
…
io.h asm-generic/io.h: Fix !CONFIG_GENERIC_IOMAP pci_iounmap() implementation 2020-10-05 09:44:16 +01:00
ioctl.h
…
iomap.h iomap: constify ioreadX() iomem argument (as in generic implementation) 2020-08-14 19:56:57 -07:00
irq.h
…
irq_regs.h
…
irq_work.h
…
irqflags.h
…
kdebug.h
…
kmap_types.h
…
kprobes.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
kvm_para.h
…
kvm_types.h
…
linkage.h
…
local.h
…
local64.h
…
mcs_spinlock.h
…
memory_model.h
…
mm-arch-hooks.h
…
mm_hooks.h
…
mmiowb.h asm-generic/mmiowb: Allow mmiowb_set_pending() when preemptible() 2020-07-17 10:02:03 +01:00
mmiowb_types.h
…
mmu.h
…
mmu_context.h
…
module.h
…
module.lds.h kbuild: preprocess module linker script 2020-09-25 00:36:41 +09:00
mshyperv.h Drivers: hv: vmbus: Add parsing of VMbus interrupt in ACPI DSDT 2020-10-14 19:14:51 +00:00
msi.h
…
page.h
…
param.h
…
parport.h
…
pci.h
…
pci_iomap.h
…
percpu.h asm-generic: percpu: avoid Wshadow warning 2020-10-26 23:54:48 +00:00
pgalloc.h asm-generic: pgalloc.h: use correct #ifdef to enable pud_alloc_one() 2020-08-14 19:56:55 -07:00
pgtable-nop4d.h
…
pgtable-nopmd.h
…
pgtable-nopud.h
…
pgtable_uffd.h
…
preempt.h sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
qrwlock.h
…
qrwlock_types.h
…
qspinlock.h powerpc updates for 5.9 2020-08-07 10:33:50 -07:00
qspinlock_types.h locking/qspinlock: Do not include atomic.h from qspinlock_types.h 2020-07-29 16:14:19 +02:00
resource.h
…
rwonce.h asm/rwonce: Don't pull <asm/barrier.h> into 'asm-generic/rwonce.h' 2020-07-21 10:50:36 +01:00
seccomp.h
…
sections.h sections.h: dereference_function_descriptor() returns void pointer 2020-08-11 12:06:15 +02:00
serial.h
…
set_memory.h
…
shmparam.h
…
signal.h
…
simd.h
…
spinlock.h
…
statfs.h
…
string.h
…
switch_to.h
…
syscall.h
…
syscalls.h
…
termios-base.h
…
termios.h
…
timex.h
…
tlb.h mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
tlbflush.h
…
topology.h
…
trace_clock.h
…
uaccess.h asm-generic: mark __{get,put}_user_fn as __always_inline 2020-10-27 16:13:09 +01:00
unaligned.h
…
user.h
…
vermagic.h
…
vga.h
…
vmlinux.lds.h vmlinux.lds.h: Handle clang's module.{c,d}tor sections 2021-08-18 08:59:18 +02:00
vtime.h
…
word-at-a-time.h
…
xor.h
…