freebsd-dev/sys
Alex Richardson fa2528ac64 Use atomic loads/stores when updating td->td_state
KCSAN complains about racy accesses in the locking code. Those races are
fine since they are inside a TD_SET_RUNNING() loop that expects the value
to be changed by another CPU.

Use relaxed atomic stores/loads to indicate that this variable can be
written/read by multiple CPUs at the same time. This will also prevent
the compiler from doing unexpected re-ordering.

Reported by:	GENERIC-KCSAN
Test Plan:	KCSAN no longer complains, kernel still runs fine.
Reviewed By:	markj, mjg (earlier version)
Differential Revision: https://reviews.freebsd.org/D28569
2021-02-18 14:02:48 +00:00
..
amd64 Add a VA_IS_CLEANMAP() macro. 2021-02-17 16:32:11 -08:00
arm Add a VA_IS_CLEANMAP() macro. 2021-02-17 16:32:11 -08:00
arm64 Add a VA_IS_CLEANMAP() macro. 2021-02-17 16:32:11 -08:00
bsm Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
cam cam: Properly find the sim in the assertion in xpt_pollwait(). 2021-02-11 14:06:58 -08:00
cddl arm64: Improve DDB backtrace support 2021-02-01 14:15:57 +00:00
compat Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
conf xen/efi: introduce a PV interface for EFI run time services for dom0 2021-02-16 15:26:12 +01:00
contrib zfs: change file mode of all merged tests 2021-02-16 12:23:43 +01:00
crypto OpenSSL: Regen assembly files for OpenSSL 1.1.1j 2021-02-17 00:35:11 -05:00
ddb Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
dev Allocate BAR for ENA MSIx vector table 2021-02-18 13:54:36 +01:00
dts Remove DTS files for arm boards we don't support 2021-01-27 10:02:01 +00:00
fs Enforce net epoch in in6_selectsrc(). 2021-02-15 22:33:12 +00:00
gdb Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
geom opencrypto: Introduce crypto_dispatch_async() 2021-02-08 09:19:19 -05:00
gnu Remove the old dts imported tree. 2021-01-15 20:09:55 +01:00
i386 Add a VA_IS_CLEANMAP() macro. 2021-02-17 16:32:11 -08:00
isa
kern Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
kgssapi opencrypto: Introduce crypto_dispatch_async() 2021-02-08 09:19:19 -05:00
libkern Restore the augmented strlen commentary 2021-02-08 19:15:21 +00:00
mips Add a VA_IS_CLEANMAP() macro. 2021-02-17 16:32:11 -08:00
modules zfs: merge OpenZFS master-436ab35a5 2021-02-16 02:46:28 +01:00
net Fix NOINET6 build broken by 2fe5a79425. 2021-02-16 21:49:48 +00:00
net80211
netgraph netgraph/ng_bridge: Add counters for the first link, too 2021-02-10 19:05:37 +01:00
netinet fix Navdeeps LINT_NOINET error. 2021-02-18 07:29:12 -05:00
netinet6 Remove per-packet ifa refcounting from IPv6 fast path. 2021-02-15 22:33:12 +00:00
netipsec Revert "SO_RERROR indicates that receive buffer overflows should be handled as errors." 2021-02-08 22:32:32 +00:00
netpfil pf: Fix osfp configuration 2021-02-18 08:38:28 +01:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Fix mismerge in OFED update 2021-02-04 13:58:24 -05:00
opencrypto ktls: Avoid wakeups and locking for synchronous callbacks 2021-02-08 09:19:27 -05:00
powerpc Add a VA_IS_CLEANMAP() macro. 2021-02-17 16:32:11 -08:00
riscv Add a VA_IS_CLEANMAP() macro. 2021-02-17 16:32:11 -08:00
rpc nfs-over-tls: handle res.gid.gid_val correctly for memory allocation 2021-01-12 13:59:52 -08:00
security Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
sys Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
teken loader: implement framebuffer console 2021-01-02 21:41:36 +02:00
tests Enable running fib tests inside vnet jail. 2021-01-17 20:32:26 +00:00
tools syscalls.master: Add a new syscall type: RESERVED 2021-01-26 18:27:44 +00:00
ufs UFS snapshots: properly set the vm object size. 2021-02-16 07:11:52 +02:00
vm Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
x86 xen/boot: allow specifying boot method when booted from Xen 2021-02-16 15:26:11 +01:00
xdr
xen xen: remove .swp file from public headers 2021-01-11 18:14:11 +01:00
Makefile