freebsd-dev/sys
Brandon Bergren 7821a820d0 [PowerPC] Implement Secure-PLT jump table processing for ppc32.
Due to clang and LLD's tendency to use a PLT for builtins, and as they
don't have full support for EABI, we sometimes have to deal with a PLT in
.ko files in a clang-built kernel.

As such, augment the in-kernel linker to support jump table processing.

As there is no particular reason to support lazy binding in kernel modules,
only implement Secure-PLT immediate binding.

As part of these changes, add elf_cpu_parse_dynamic() to the MD API of the
in-kernel linker (except on platforms that use raw object files.)

The new function will allow MD code to act on MD tags in _DYNAMIC.

Use this new function in the PowerPC MD code to ensure BSS-PLT modules using
PLT will be rejected during insertion, and to poison the runtime resolver to
ensure we get a clear panic reason if a call is made to the resolver.

Reviewed by:	jhibbits
Differential Revision:	https://reviews.freebsd.org/D22608
2019-12-24 15:56:24 +00:00
..
amd64 Micro-optimize the control flow in _pmap_unwire_ptp(), and eliminate 2019-12-21 22:32:24 +00:00
arm [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
arm64 [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
bsm Jail and capability mode for shm_rename; add audit support for shm_rename 2019-11-18 13:31:16 +00:00
cam Make pass(4) handle misaligned buffers of MAXPHYS size. 2019-12-23 20:41:55 +00:00
cddl vfs: flatten vop vectors 2019-12-16 00:06:22 +00:00
compat Make page busy state deterministic on free. Pages must be xbusy when 2019-12-22 06:56:44 +00:00
conf Add vmgenc(4) driver for ACPI VM generation counter 2019-12-22 06:25:20 +00:00
contrib Don't shift 32-bit value by more than 32 bits. 2019-12-21 11:38:48 +00:00
crypto
ddb
dev Convert the mpr driver to use busdma templates. 2019-12-24 14:50:17 +00:00
dts
fs Including <sys/tmpfs.h> into non-kernel software leads to a 2019-12-19 16:39:52 +00:00
gdb [PPC] Handle qOffsets packet 2019-12-16 13:17:39 +00:00
geom Add BIO_SPEEDUP 2019-12-17 00:13:35 +00:00
gnu Import DTS files for riscv from Linux 5.4 2019-12-03 09:12:53 +00:00
i386 [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
isa syscons: drop keyboard index from softc 2019-12-23 21:32:07 +00:00
kern [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
kgssapi
libkern Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
mips Introduce the concept of busdma tag templates. A template can be allocated 2019-12-24 14:48:46 +00:00
modules Compile uart_cpu_acpi.c, added in r348195, into uart.ko. 2019-12-22 22:10:20 +00:00
net lagg: Clean up handling of the rr_limit option. 2019-12-22 21:56:47 +00:00
net80211
netgraph Remove the deprecated timeout(9) interface. 2019-12-13 21:03:12 +00:00
netinet Improve input validation for some parameters having a too small 2019-12-20 15:25:08 +00:00
netinet6 Remove useless code from in6_rmx.c 2019-12-18 22:10:56 +00:00
netipsec Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros. 2019-12-01 00:22:04 +00:00
netpfil ipfw: Don't rollback state in alloc_table_vidx() if atomicity is not required. 2019-12-19 10:22:16 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Prevent potential underflow in ibcore. 2019-11-15 11:46:53 +00:00
opencrypto Add support for TLS 1.3 using AES-GCM to the OCF backend for KTLS. 2019-12-18 01:37:00 +00:00
powerpc [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
riscv [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
rpc Change r355157 to make svc_rpc_gss_lifetime_max a static. 2019-11-28 02:18:51 +00:00
security Instead of looking up a predecessor or successor to the current map 2019-11-20 16:06:48 +00:00
sparc64 [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
sys [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
teken
tests
tools vfs: allow tail call optimisation in vops in the common case 2019-12-16 00:07:51 +00:00
ufs Drop a sleepable lock when we plan on sleeping 2019-12-18 16:01:15 +00:00
vm Fix typo using RB_INITIALIZER. 2019-12-22 21:53:05 +00:00
x86 Introduce the concept of busdma tag templates. A template can be allocated 2019-12-24 14:48:46 +00:00
xdr
xen
Makefile