linux/mm/kasan
Andrey Konovalov f3b5979862 kasan: remove atomic accesses to stack ring entries
Remove the atomic accesses to entry fields in save_stack_info and
kasan_complete_mode_report_info for tag-based KASAN modes.

These atomics are not required, as the read/write lock prevents the
entries from being read (in kasan_complete_mode_report_info) while being
written (in save_stack_info) and the try_cmpxchg prevents the same entry
from being rewritten (in save_stack_info) in the unlikely case of wrapping
during writing.

Link: https://lkml.kernel.org/r/29f59126d9845c5257b6c29cd7ad113b16f19f47.1700502145.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Reviewed-by: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Evgenii Stepanov <eugenis@google.com>
Cc: Marco Elver <elver@google.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-12-10 16:51:47 -08:00
..
common.c lib/stackdepot, kasan: add flags to __stack_depot_save and rename 2023-12-10 16:51:46 -08:00
generic.c lib/stackdepot, kasan: add flags to __stack_depot_save and rename 2023-12-10 16:51:46 -08:00
hw_tags.c kasan: hw_tags: avoid invalid virt_to_page() 2023-05-02 17:23:27 -07:00
init.c kasan: Add (pmd|pud)_init for LoongArch zero_(pud|p4d)_populate process 2023-09-06 22:54:16 +08:00
kasan_test_module.c kasan: unify printk prefixes 2023-10-18 14:34:15 -07:00
kasan_test.c mm: delete checks for xor_unlock_is_negative_byte() 2023-10-18 14:34:17 -07:00
kasan.h lib/stackdepot, kasan: add flags to __stack_depot_save and rename 2023-12-10 16:51:46 -08:00
Makefile kasan: test: fix test for new meminstrinsic instrumentation 2023-03-02 21:54:22 -08:00
quarantine.c kasan: unify printk prefixes 2023-10-18 14:34:15 -07:00
report_generic.c kasan: unify printk prefixes 2023-10-18 14:34:15 -07:00
report_hw_tags.c kasan: use internal prototypes matching gcc-13 builtins 2023-06-09 16:25:19 -07:00
report_sw_tags.c kasan: use internal prototypes matching gcc-13 builtins 2023-06-09 16:25:19 -07:00
report_tags.c kasan: remove atomic accesses to stack ring entries 2023-12-10 16:51:47 -08:00
report.c kasan: use unchecked __memset internally 2023-10-18 14:34:15 -07:00
shadow.c kasan: use unchecked __memset internally 2023-10-18 14:34:15 -07:00
sw_tags.c kasan: use internal prototypes matching gcc-13 builtins 2023-06-09 16:25:19 -07:00
tags.c kasan: remove atomic accesses to stack ring entries 2023-12-10 16:51:47 -08:00