mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
debugobjects: Fix the compilation attributes of some global variables
1. Both debug_objects_pool_min_level and debug_objects_pool_size are read-only after initialization, change attribute '__read_mostly' to '__ro_after_init', and remove '__data_racy'. 2. Many global variables are read in the debug_stats_show() function, but didn't mask KCSAN's detection. Add '__data_racy' for them. Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20240904133944.2124-2-thunder.leizhen@huawei.com
This commit is contained in:
parent
431c1646e1
commit
e4757c710b
@ -70,10 +70,10 @@ static HLIST_HEAD(obj_to_free);
|
||||
* made at debug_stats_show(). Both obj_pool_min_free and obj_pool_max_used
|
||||
* can be off.
|
||||
*/
|
||||
static int obj_pool_min_free = ODEBUG_POOL_SIZE;
|
||||
static int obj_pool_free = ODEBUG_POOL_SIZE;
|
||||
static int __data_racy obj_pool_min_free = ODEBUG_POOL_SIZE;
|
||||
static int __data_racy obj_pool_free = ODEBUG_POOL_SIZE;
|
||||
static int obj_pool_used;
|
||||
static int obj_pool_max_used;
|
||||
static int __data_racy obj_pool_max_used;
|
||||
static bool obj_freeing;
|
||||
/* The number of objs on the global free list */
|
||||
static int obj_nr_tofree;
|
||||
@ -84,9 +84,9 @@ static int __data_racy debug_objects_fixups __read_mostly;
|
||||
static int __data_racy debug_objects_warnings __read_mostly;
|
||||
static int __data_racy debug_objects_enabled __read_mostly
|
||||
= CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT;
|
||||
static int __data_racy debug_objects_pool_size __read_mostly
|
||||
static int debug_objects_pool_size __ro_after_init
|
||||
= ODEBUG_POOL_SIZE;
|
||||
static int __data_racy debug_objects_pool_min_level __read_mostly
|
||||
static int debug_objects_pool_min_level __ro_after_init
|
||||
= ODEBUG_POOL_MIN_LEVEL;
|
||||
|
||||
static const struct debug_obj_descr *descr_test __read_mostly;
|
||||
@ -95,8 +95,8 @@ static struct kmem_cache *obj_cache __ro_after_init;
|
||||
/*
|
||||
* Track numbers of kmem_cache_alloc()/free() calls done.
|
||||
*/
|
||||
static int debug_objects_allocated;
|
||||
static int debug_objects_freed;
|
||||
static int __data_racy debug_objects_allocated;
|
||||
static int __data_racy debug_objects_freed;
|
||||
|
||||
static void free_obj_work(struct work_struct *work);
|
||||
static DECLARE_DELAYED_WORK(debug_obj_work, free_obj_work);
|
||||
|
Loading…
Reference in New Issue
Block a user