[PATCH v2 00/18] lib/stackdepot: fixes and clean-ups

From: andrey . konovalov
Date: Fri Feb 10 2023 - 16:16:17 EST


From: Andrey Konovalov <andreyknvl@xxxxxxxxxx>

A set of fixes, comments, and clean-ups I came up with while reading
the stack depot code.

Changes v1->v2:
- Drop "lib/stackdepot: fix setting next_slab_inited in init_stack_slab",
as there is no bug to fix.
- Use "pool" instead of "slab" for memory regions that store stack traces.
- Rename next_slab/pool_inited to next_slab/pool_required and annotate its
uses with comments, see new patch #13.
- Use STACK_HASH_TABLE_SCALE as a new name for STACK_HASH_SCALE.
- Mark stack_depot_set_extra_bits as __must_check.
- Only assign extra bits in stack_depot_set_extra_bits for non-empty
handles.
- Minor comment fixes.

Andrey Konovalov (18):
lib/stackdepot: put functions in logical order
lib/stackdepot: use pr_fmt to define message format
lib/stackdepot, mm: rename stack_depot_want_early_init
lib/stackdepot: rename stack_depot_disable
lib/stackdepot: annotate init and early init functions
lib/stackdepot: lower the indentation in stack_depot_init
lib/stackdepot: reorder and annotate global variables
lib/stackdepot: rename hash table constants and variables
lib/stackdepot: rename slab to pool
lib/stackdepot: rename handle and pool constants
lib/stackdepot: rename init_stack_pool
lib/stacktrace: drop impossible WARN_ON for depot_init_pool
lib/stackdepot: annotate depot_init_pool and depot_alloc_stack
lib/stackdepot: rename next_pool_inited to next_pool_required
lib/stacktrace, kasan, kmsan: rework extra_bits interface
lib/stackdepot: annotate racy pool_index accesses
lib/stackdepot: various comments clean-ups
lib/stackdepot: move documentation comments to stackdepot.h

include/linux/stackdepot.h | 152 +++++++--
lib/stackdepot.c | 654 ++++++++++++++++++-------------------
mm/kasan/common.c | 2 +-
mm/kmsan/core.c | 10 +-
mm/page_owner.c | 2 +-
mm/slub.c | 4 +-
6 files changed, 457 insertions(+), 367 deletions(-)

--
2.25.1