freebsd-dev/sys
Jason A. Harmening 3966af52f3 amd64: prevent KCSan false positives on LAPIC mapping
For configurations without x2APIC support (guests, older hardware), the global
LAPIC MMIO mapping will trigger false-positive KCSan reports as it will appear
that multiple CPUs are concurrently reading and writing the same address.
This isn't actually true, as the underlying physical access will be performed
on the local CPU's APIC. Additionally, because LAPIC access can happen during
event timer configuration, the resulting KCSan printf can produce a panic due
to attempted recursion on event timer resources.

Add a __nosanitizethread preprocessor define to prevent the compiler from
inserting TSan hooks, and apply it to the x86 LAPIC accessors.

PR:		249149
Reported by:	gbe
Reviewed by:	andrew, kib
Tested by:	gbe
Differential Revision:	https://reviews.freebsd.org/D26354
2020-09-12 07:04:00 +00:00
..
amd64 Add constant for the DE_CFG MSR on AMD CPUs. 2020-09-11 20:32:40 +00:00
arm Allwinner USB DRD support (musb_otg) 2020-09-07 06:39:00 +00:00
arm64 Move the pl061 acpi attachment earlier 2020-09-10 14:58:46 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam mmc_da: universally use uint8_t for the partition index 2020-09-08 06:19:23 +00:00
cddl dtrace: fix fbt return probes on RISC-V 2020-09-11 09:15:49 +00:00
compat Add emulation support for the Linux kcov(4) ioctl API. 2020-09-04 00:12:28 +00:00
conf Enclose BRANCH_OVERRIDE in quotes in order to fix an issue with 2020-09-12 00:06:45 +00:00
contrib ice_ddp: Fix 1.3.16.0 package 2020-09-10 04:00:13 +00:00
crypto Don't return errors from the cryptodev_process() method. 2020-09-08 22:41:35 +00:00
ddb ddb: clean up empty lines in .c and .h files 2020-09-01 22:14:30 +00:00
dev A major update to the ure driver. 2020-09-12 00:33:11 +00:00
dts Remove licenses 2020-06-04 17:20:58 +00:00
fs tmpfs: drop spurious cache_purge in tmpfs_reclaim 2020-09-04 19:30:15 +00:00
gdb gdb(4): Support empty qSupported queries 2020-08-18 20:59:10 +00:00
geom geom_part: extend kern.geom.part.check_integrity to work on GPT 2020-09-08 22:23:53 +00:00
gnu Import DTS files for arm, arm64, riscv from Linux 5.8 2020-08-04 19:44:43 +00:00
i386 Include the psind in data returned by mincore(2). 2020-09-02 18:16:43 +00:00
isa
kern Fix interaction between largepages and seals/writes. 2020-09-10 20:54:44 +00:00
kgssapi kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
libkern arm64: check for CRC32 support via HWCAP 2020-09-08 15:39:19 +00:00
mips Add the MEM_EXTRACT_PADDR ioctl to /dev/mem. 2020-09-02 18:12:47 +00:00
modules A major update to the ure driver. 2020-09-12 00:33:11 +00:00
net Fix RADIX_MPATH build broken by r365521. 2020-09-10 07:05:31 +00:00
net80211 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
netgraph ng_ether: Enter NET_EPOCH where required 2020-09-02 11:49:22 +00:00
netinet cc_mod: remove unused CCF_DELACK definition 2020-09-10 00:46:38 +00:00
netinet6 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
netipsec net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
netpfil net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
netsmb net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
nfs nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsclient nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsserver nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nlm nlm: clean up empty lines in .c and .h files 2020-09-01 22:14:52 +00:00
ofed infiniband: Appease Coverty 2020-08-31 16:17:28 +00:00
opencrypto Name the on-stack union of compat thunks. 2020-08-26 22:36:08 +00:00
powerpc [PowerPC64LE] Add LOAD_LR_NIA and RETURN_TO_NATIVE_ENDIAN defines. 2020-09-10 18:41:15 +00:00
riscv Disable WITNESS for spin locks by default. 2020-09-11 00:06:16 +00:00
rpc Fix a potential memory leak in the NFS over TLS handling code. 2020-09-05 00:50:52 +00:00
security mac_framework.h: fix build with DEBUG_VFS_LOCKS and !MAC 2020-09-03 20:30:52 +00:00
sys amd64: prevent KCSan false positives on LAPIC mapping 2020-09-12 07:04:00 +00:00
teken
tests Add small tool to invoke kernel test framework tests. 2020-09-02 09:20:40 +00:00
tools makesyscalls.lua: improve syscall ordering validation 2020-08-04 21:49:13 +00:00
ufs ufs: clean up empty lines in .c and .h files 2020-09-01 21:23:00 +00:00
vm Support for userspace non-transparent superpages (largepages). 2020-09-09 22:12:51 +00:00
x86 amd64: prevent KCSan false positives on LAPIC mapping 2020-09-12 07:04:00 +00:00
xdr xdr: clean up empty lines in .c and .h files 2020-09-01 22:13:28 +00:00
xen xen: clean up empty lines in .c and .h files 2020-09-01 21:21:55 +00:00
Makefile