diff options
author | hselasky <hselasky@FreeBSD.org> | 2018-02-25 10:33:55 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2018-02-25 10:33:55 +0000 |
commit | bf842f830c3035d677884526074394972c917f05 (patch) | |
tree | 622663defc940892f84780a2d802c29572937e52 | |
parent | e27c395aae4f4c2e2b4ff34d2132bcc60eb444d0 (diff) | |
download | FreeBSD-src-bf842f830c3035d677884526074394972c917f05.zip FreeBSD-src-bf842f830c3035d677884526074394972c917f05.tar.gz |
MFC r329514:
Implement the rcu_dereference_raw() function macro.
Make sure all RCU dereferencing use the READ_ONCE() function macro.
Submitted by: Johannes Lundberg <johalun0@gmail.com>
Sponsored by: Mellanox Technologies
Sponsored by: Limelight Networks
-rw-r--r-- | sys/compat/linuxkpi/common/include/linux/rcupdate.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/rcupdate.h b/sys/compat/linuxkpi/common/include/linux/rcupdate.h index b2dd2ae..e4afa5a 100644 --- a/sys/compat/linuxkpi/common/include/linux/rcupdate.h +++ b/sys/compat/linuxkpi/common/include/linux/rcupdate.h @@ -74,14 +74,17 @@ } while (0) #define rcu_access_pointer(p) \ - ((__typeof(*p) *)(READ_ONCE(p))) + ((__typeof(*p) *)READ_ONCE(p)) #define rcu_dereference_protected(p, c) \ - ((__typeof(*p) *)(p)) + ((__typeof(*p) *)READ_ONCE(p)) #define rcu_dereference(p) \ rcu_dereference_protected(p, 0) +#define rcu_dereference_raw(p) \ + ((__typeof(*p) *)READ_ONCE(p)) + #define rcu_pointer_handoff(p) (p) #define rcu_assign_pointer(p, v) do { \ |