diff options
author | H. Peter Anvin <hpa@zytor.com> | 2012-01-09 22:33:24 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2012-01-09 22:33:24 -0500 |
commit | 8030c36d13f030103356709e63638678fdc66fdc (patch) | |
tree | f50b2e91261697914ab8ff4745b3a862f3a275e0 /arch | |
parent | da517a08ac5913cd80ce3507cddd00f2a091b13c (diff) |
x86, atomic: atomic64_read() take a const pointer
atomic64_read() doesn't actually write anything (as far as the C
environment is concerned... the CPU does actually write but that's an
implementation quirk), so it should take a const pointer.
This does NOT mean that it is safe to use atomic64_read() on an object
in readonly storage (it will trap!)
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/r/20120109165859.1879abda.akpm@linux-foundation.org
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/include/asm/atomic64_32.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/atomic64_32.h b/arch/x86/include/asm/atomic64_32.h index 24098aafce0d..fa13f0ec2874 100644 --- a/arch/x86/include/asm/atomic64_32.h +++ b/arch/x86/include/asm/atomic64_32.h | |||
@@ -82,7 +82,7 @@ static inline void atomic64_set(atomic64_t *v, long long i) | |||
82 | * | 82 | * |
83 | * Atomically reads the value of @v and returns it. | 83 | * Atomically reads the value of @v and returns it. |
84 | */ | 84 | */ |
85 | static inline long long atomic64_read(atomic64_t *v) | 85 | static inline long long atomic64_read(const atomic64_t *v) |
86 | { | 86 | { |
87 | long long r; | 87 | long long r; |
88 | asm volatile(ATOMIC64_ALTERNATIVE(read) | 88 | asm volatile(ATOMIC64_ALTERNATIVE(read) |