x86, atomic: atomic64_read() take a const pointer
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]
tip-bot for H. Peter Anvin
reviewerCommit-ID: 8030c36d13f030103356709e63638678fdc66fdc Gitweb: http://git.kernel.org/tip/8030c36d13f030103356709e63638678fdc66fdc Author: H. Peter Anvin <[email protected]> AuthorDate: Mon, 9 Jan 2012 19:33:24 -0800 Committer: H. Peter Anvin <[email protected]> CommitDate: Mon, 9 Jan 2012 19:33:24 -0800
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 <[email protected]>
Signed-off-by H. Peter Anvin <[email protected]>
--- arch/x86/include/asm/atomic64_32.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/x86/include/asm/atomic64_32.h +1 -1
@@ -82,7 +82,7 @@ static inline void atomic64_set(atomic64_t *v, long long i)* * Atomically reads the value of @v and returns it. */ -static inline long long atomic64_read (atomic64_t *v) +static inline long long atomic64_read (const atomic64_t *v) {long long r; asm volatile(ATOMIC64_ALTERNATIVE(read)