[PATCH 0/4] Annotate atomics for signed integer wrap-around
Kees Cook
keescook at chromium.org
Wed Apr 24 12:17:33 PDT 2024
Hi,
As part of enabling the signed integer overflow sanitizer for production
use, we have to annotated the atomics which expect to use wrapping signed
values. Do this for x86, arm64, and the fallbacks. Additionally annotate
the first place anyone will trip over signed integer wrap-around: ipv4,
which has traditionally included the comment hint about how to debug
sanitizer issues.
Since this touches 2 architectures and netdev, I think it might be
easiest if I carry this in the hardening tree, or maybe via the netdev
tree. Thoughts?
Thanks!
-Kees
Kees Cook (4):
locking/atomic/x86: Silence intentional wrapping addition
arm64: atomics: lse: Silence intentional wrapping addition
locking/atomic: Annotate generic atomics with wrapping
ipv4: Silence intentional wrapping addition
arch/arm64/include/asm/atomic_lse.h | 10 ++++++----
arch/x86/include/asm/atomic.h | 3 ++-
arch/x86/include/asm/atomic64_32.h | 2 +-
arch/x86/include/asm/atomic64_64.h | 2 +-
include/asm-generic/atomic.h | 6 +++---
include/asm-generic/atomic64.h | 6 +++---
include/linux/atomic/atomic-arch-fallback.h | 19 ++++++++++---------
include/linux/atomic/atomic-instrumented.h | 3 ++-
include/linux/atomic/atomic-long.h | 3 ++-
include/net/ip.h | 4 ++--
lib/atomic64.c | 10 +++++-----
net/ipv4/route.c | 10 +++++-----
scripts/atomic/fallbacks/dec_if_positive | 2 +-
scripts/atomic/fallbacks/dec_unless_positive | 2 +-
scripts/atomic/fallbacks/fetch_add_unless | 2 +-
scripts/atomic/fallbacks/inc_unless_negative | 2 +-
scripts/atomic/gen-atomic-fallback.sh | 1 +
scripts/atomic/gen-atomic-instrumented.sh | 1 +
scripts/atomic/gen-atomic-long.sh | 1 +
19 files changed, 49 insertions(+), 40 deletions(-)
--
2.34.1
More information about the linux-arm-kernel
mailing list