freebsd-dev/sys
Andriy Gapon ac99b25298 zfs: use atomic_load_64 to read atomic variable in dmu_object_alloc_impl
As long as we support ZFS on 32-bit platforms we should do this for all
64-bit variables that are modified in a lockless fashion using atomic
operations.  Otherwise, there is a risk of a reading a torn value.

Here is a rationale for why I am doing this in dmu_object_alloc_impl:
- it's very recent code
- the code deals with object IDs and a number of objects in a file
  system can overflow 32 bits
- incorrect allocation of an object ID may result in hard to debug
  problems
- fixing all plain reads of 64-bit atomic variables is not a trivial
  undertaking to do in one shot, so I chose to do it incrementally

MFC after:	3 weeks
X-MFC after:	r353301, r353176
2019-10-08 11:27:48 +00:00
..
amd64 Introduce stats(3), a flexible statistics gathering API. 2019-10-07 19:05:05 +00:00
arm align use of cp15_pmccntr_get with its availability 2019-10-07 07:37:42 +00:00
arm64 Eliminate an unused declaration. The variable in question is only defined 2019-10-07 04:22:03 +00:00
bsm
cam Add kern.cam.da.X.quirks tunable, similar existing for ada. 2019-09-26 14:48:39 +00:00
cddl zfs: use atomic_load_64 to read atomic variable in dmu_object_alloc_impl 2019-10-08 11:27:48 +00:00
compat Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
conf Introduce stats(3), a flexible statistics gathering API. 2019-10-07 19:05:05 +00:00
contrib Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
crypto Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
ddb ddb(4): Add some support for lexing IPv6 addresses 2019-09-09 16:32:23 +00:00
dev Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
dts dtso: allwinner: Add an overlay for H3 thermal node 2019-08-24 13:26:34 +00:00
fs Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
gdb gdb(4): Root a sysctl tree at 'debug.gdb.' 2019-09-08 22:52:47 +00:00
geom Add a "count_until_fail" option to gnop, which says to start failing 2019-09-13 23:03:56 +00:00
gnu arm: dts: ti: Fix mmc3 instance by setting it to disabled 2019-10-07 08:11:49 +00:00
i386 i386: hide more of atomic 64-bit definitions under _KERNEL 2019-10-08 10:50:16 +00:00
isa
kern Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
kgssapi Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
libkern Remove zlib 1.0.4 from kernel. 2019-08-25 17:13:00 +00:00
mips add atomic_load_64 for mipsn32 2019-10-07 07:42:26 +00:00
modules nvdimm(4): Fix Clang build after r353110 2019-10-04 21:47:09 +00:00
net Fix regression issue after r353274: 2019-10-08 11:06:24 +00:00
net80211 Enhance the comment ieee80211_add_channel() to avoid a 2019-06-10 14:31:18 +00:00
netgraph Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
netinet Validate length before use it, not vice versa. 2019-10-08 11:07:16 +00:00
netinet6 Improve locking in the IPV6_V6ONLY socket option handler. 2019-10-07 23:35:23 +00:00
netipsec Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
netpfil Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
netsmb Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
opencrypto kTLS support for TLS 1.3 2019-09-27 19:17:40 +00:00
powerpc powerpc: Implement atomic_(f)cmpset_ for short and char 2019-10-08 01:36:34 +00:00
riscv Eliminate an unused declaration. The variable in question is only defined 2019-10-07 04:22:03 +00:00
rpc Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
security Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
sparc64 sparc64: use generic sub-word atomic *cmpset 2019-10-02 17:08:20 +00:00
sys Introduce stats(3), a flexible statistics gathering API. 2019-10-07 19:05:05 +00:00
teken Adjust teken to allow build as part of loader 2019-09-05 18:07:40 +00:00
tests
tools fw_stub.awk: use @generated tag in generated files 2019-09-11 13:35:22 +00:00
ufs ufs: add root vnode caching 2019-10-06 22:18:03 +00:00
vm Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
x86 Make the hw.intrs sysctl OID read-only 2019-10-04 21:46:11 +00:00
xdr
xen
Makefile