aboutsummaryrefslogtreecommitdiff
path: root/kernel/auditfilter.c
diff options
context:
space:
mode:
authorGravatar Paul E. McKenney <paulmck@linux.vnet.ibm.com> 2017-10-09 10:04:27 -0700
committerGravatar Paul E. McKenney <paulmck@linux.vnet.ibm.com> 2017-12-04 10:52:52 -0800
commit7088efa9137a15d7d21e3abce73e40c9c8a18d68 (patch)
treea410e9354ca53593b66a1ca8e34041b7d480aaaa /kernel/auditfilter.c
parentdrivers/net/ethernet/qlogic/qed: Fix __qed_spq_block() ordering (diff)
downloadlinux-7088efa9137a15d7d21e3abce73e40c9c8a18d68.tar.gz
linux-7088efa9137a15d7d21e3abce73e40c9c8a18d68.tar.bz2
linux-7088efa9137a15d7d21e3abce73e40c9c8a18d68.zip
fs/dcache: Use release-acquire for name/length update
The code in __d_alloc() carefully orders filling in the NUL character of the name (and the length, hash, and the name itself) with assigning of the name itself. However, prepend_name() does not order the accesses to the ->name and ->len fields, other than on TSO systems. This commit therefore replaces prepend_name()'s READ_ONCE() of ->name with an smp_load_acquire(), which orders against the subsequent READ_ONCE() of ->len. Because READ_ONCE() now incorporates smp_read_barrier_depends(), prepend_name()'s smp_read_barrier_depends() is removed. Finally, to save a line, the smp_wmb()/store pair in __d_alloc() is replaced by smp_store_release(). Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: <linux-fsdevel@vger.kernel.org>
Diffstat (limited to 'kernel/auditfilter.c')
0 files changed, 0 insertions, 0 deletions