diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2025-10-06 13:07:32 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-10-21 12:31:56 +0200 |
| commit | 44472d1b83127e579c798ff92a07ae86d98b61b9 (patch) | |
| tree | 01b95e151cc4b6164b1acd8416448c3109ca27d1 /rust/kernel/debugfs/traits.rs | |
| parent | 66f1ea83d9f8346324fc50779944297d778cac95 (diff) | |
atomic: Skip alignment check for try_cmpxchg() old arg
The 'old' argument in atomic_try_cmpxchg() and related functions is a
pointer to a normal non-atomic integer number, which does not require
to be naturally aligned, unlike the atomic_t/atomic64_t types themselves.
In order to add an alignment check with CONFIG_DEBUG_ATOMIC into the
normal instrument_atomic_read_write() helper, change this check to use
the non-atomic instrument_read_write(), the same way that was done
earlier for try_cmpxchg() in commit ec570320b09f ("locking/atomic:
Correct (cmp)xchg() instrumentation").
This prevents warnings on m68k calling the 32-bit atomic_try_cmpxchg()
with 16-bit aligned arguments as well as several more architectures
including x86-32 when calling atomic64_try_cmpxchg() with 32-bit
aligned u64 arguments.
Reported-by: Finn Thain <fthain@linux-m68k.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/all/cover.1757810729.git.fthain@linux-m68k.org/
Diffstat (limited to 'rust/kernel/debugfs/traits.rs')
0 files changed, 0 insertions, 0 deletions