Page MenuHomeFreeBSD

D46145.id141408.diff
No OneTemporary

D46145.id141408.diff

diff --git a/sys/compat/linuxkpi/common/include/linux/compiler.h b/sys/compat/linuxkpi/common/include/linux/compiler.h
--- a/sys/compat/linuxkpi/common/include/linux/compiler.h
+++ b/sys/compat/linuxkpi/common/include/linux/compiler.h
@@ -101,16 +101,18 @@
#define ___PASTE(a,b) a##b
#define __PASTE(a,b) ___PASTE(a,b)
+#define ACCESS_ONCE(x) (*(volatile __typeof(x) *)(uintptr_t)&(x))
+
#define WRITE_ONCE(x,v) do { \
barrier(); \
- (*(volatile __typeof(x) *)(uintptr_t)&(x)) = (v); \
+ ACCESS_ONCE(x) = (v); \
barrier(); \
} while (0)
#define READ_ONCE(x) ({ \
__typeof(x) __var = ({ \
barrier(); \
- (*(const volatile __typeof(x) *)&(x)); \
+ ACCESS_ONCE(x); \
}); \
barrier(); \
__var; \

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 22, 10:19 AM (8 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30118643
Default Alt Text
D46145.id141408.diff (740 B)

Event Timeline