The patch titled Subject: kasan: initialize read-write lock in stack ring has been added to the -mm mm-unstable branch. Its filename is kasan-implement-stack-ring-for-tag-based-modes-fix.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/kasan-implement-stack-ring-for-tag-based-modes-fix.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Subject: kasan: initialize read-write lock in stack ring Date: Tue, 20 Sep 2022 20:58:07 +0200 Use __RW_LOCK_UNLOCKED to initialize stack_ring.lock. Link: https://lkml.kernel.org/r/576182d194e27531e8090bad809e4136953895f4.1663700262.git.andreyknvl@xxxxxxxxxx Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Reported-by: Yu Zhao <yuzhao@xxxxxxxxxx> Reviewed-by: Marco Elver <elver@xxxxxxxxxx> Tested-by: Yu Zhao <yuzhao@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- --- a/mm/kasan/tags.c~kasan-implement-stack-ring-for-tag-based-modes-fix +++ a/mm/kasan/tags.c @@ -22,7 +22,9 @@ /* Non-zero, as initial pointer values are 0. */ #define STACK_RING_BUSY_PTR ((void *)1) -struct kasan_stack_ring stack_ring; +struct kasan_stack_ring stack_ring = { + .lock = __RW_LOCK_UNLOCKED(stack_ring.lock) +}; static void save_stack_info(struct kmem_cache *cache, void *object, gfp_t gfp_flags, bool is_free) _ Patches currently in -mm which might be from andreyknvl@xxxxxxxxxx are kasan-check-kasan_no_free_meta-in-__kasan_metadata_size.patch kasan-rename-kasan_set__info-to-kasan_save__info.patch kasan-move-is_kmalloc-check-out-of-save_alloc_info.patch kasan-split-save_alloc_info-implementations.patch kasan-drop-config_kasan_tags_identify.patch kasan-introduce-kasan_print_aux_stacks.patch kasan-introduce-kasan_get_alloc_track.patch kasan-introduce-kasan_init_object_meta.patch kasan-clear-metadata-functions-for-tag-based-modes.patch kasan-move-kasan_get__meta-to-genericc.patch kasan-introduce-kasan_requires_meta.patch kasan-introduce-kasan_init_cache_meta.patch kasan-drop-config_kasan_generic-check-from-kasan_init_cache_meta.patch kasan-only-define-kasan_metadata_size-for-generic-mode.patch kasan-only-define-kasan_never_merge-for-generic-mode.patch kasan-only-define-metadata-offsets-for-generic-mode.patch kasan-only-define-metadata-structs-for-generic-mode.patch kasan-only-define-kasan_cache_create-for-generic-mode.patch kasan-pass-tagged-pointers-to-kasan_save_alloc-free_info.patch kasan-move-kasan_get_alloc-free_track-definitions.patch kasan-cosmetic-changes-in-reportc.patch kasan-use-virt_addr_valid-in-kasan_addr_to_page-slab.patch kasan-use-kasan_addr_to_slab-in-print_address_description.patch kasan-make-kasan_addr_to_page-static.patch kasan-simplify-print_report.patch kasan-introduce-complete_report_info.patch kasan-fill-in-cache-and-object-in-complete_report_info.patch kasan-rework-function-arguments-in-reportc.patch kasan-introduce-kasan_complete_mode_report_info.patch kasan-implement-stack-ring-for-tag-based-modes.patch kasan-implement-stack-ring-for-tag-based-modes-fix.patch kasan-support-kasanstacktrace-for-sw_tags.patch kasan-dynamically-allocate-stack-ring-entries.patch kasan-better-identify-bug-types-for-tag-based-modes.patch kasan-add-another-use-after-free-test.patch kasan-move-tests-to-mm-kasan.patch kasan-better-invalid-double-free-report-header.patch