mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
lib/stackdepot: rename stack_depot_disable
Rename stack_depot_disable to stack_depot_disabled to make its name look similar to the names of other stack depot flags. Also put stack_depot_disabled's definition together with the other flags. Also rename is_stack_depot_disabled to disable_stack_depot: this name looks more conventional for a function that processes a boot parameter. No functional changes. Link: https://lkml.kernel.org/r/d78a07d222e689926e5ead229e4a2e3d87dc9aa7.1676063693.git.andreyknvl@google.com Signed-off-by: Andrey Konovalov <andreyknvl@google.com> Reviewed-by: Alexander Potapenko <glider@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
1c0310add7
commit
735df3c3a3
@@ -71,6 +71,7 @@ struct stack_record {
|
|||||||
unsigned long entries[]; /* Variable-sized array of entries. */
|
unsigned long entries[]; /* Variable-sized array of entries. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static bool stack_depot_disabled;
|
||||||
static bool __stack_depot_early_init_requested __initdata = IS_ENABLED(CONFIG_STACKDEPOT_ALWAYS_INIT);
|
static bool __stack_depot_early_init_requested __initdata = IS_ENABLED(CONFIG_STACKDEPOT_ALWAYS_INIT);
|
||||||
static bool __stack_depot_early_init_passed __initdata;
|
static bool __stack_depot_early_init_passed __initdata;
|
||||||
|
|
||||||
@@ -91,21 +92,20 @@ static DEFINE_RAW_SPINLOCK(depot_lock);
|
|||||||
static unsigned int stack_hash_order;
|
static unsigned int stack_hash_order;
|
||||||
static unsigned int stack_hash_mask;
|
static unsigned int stack_hash_mask;
|
||||||
|
|
||||||
static bool stack_depot_disable;
|
|
||||||
static struct stack_record **stack_table;
|
static struct stack_record **stack_table;
|
||||||
|
|
||||||
static int __init is_stack_depot_disabled(char *str)
|
static int __init disable_stack_depot(char *str)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = kstrtobool(str, &stack_depot_disable);
|
ret = kstrtobool(str, &stack_depot_disabled);
|
||||||
if (!ret && stack_depot_disable) {
|
if (!ret && stack_depot_disabled) {
|
||||||
pr_info("disabled\n");
|
pr_info("disabled\n");
|
||||||
stack_table = NULL;
|
stack_table = NULL;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
early_param("stack_depot_disable", is_stack_depot_disabled);
|
early_param("stack_depot_disable", disable_stack_depot);
|
||||||
|
|
||||||
void __init stack_depot_request_early_init(void)
|
void __init stack_depot_request_early_init(void)
|
||||||
{
|
{
|
||||||
@@ -128,7 +128,7 @@ int __init stack_depot_early_init(void)
|
|||||||
if (kasan_enabled() && !stack_hash_order)
|
if (kasan_enabled() && !stack_hash_order)
|
||||||
stack_hash_order = STACK_HASH_ORDER_MAX;
|
stack_hash_order = STACK_HASH_ORDER_MAX;
|
||||||
|
|
||||||
if (!__stack_depot_early_init_requested || stack_depot_disable)
|
if (!__stack_depot_early_init_requested || stack_depot_disabled)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (stack_hash_order)
|
if (stack_hash_order)
|
||||||
@@ -145,7 +145,7 @@ int __init stack_depot_early_init(void)
|
|||||||
|
|
||||||
if (!stack_table) {
|
if (!stack_table) {
|
||||||
pr_err("hash table allocation failed, disabling\n");
|
pr_err("hash table allocation failed, disabling\n");
|
||||||
stack_depot_disable = true;
|
stack_depot_disabled = true;
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ int stack_depot_init(void)
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
mutex_lock(&stack_depot_init_mutex);
|
mutex_lock(&stack_depot_init_mutex);
|
||||||
if (!stack_depot_disable && !stack_table) {
|
if (!stack_depot_disabled && !stack_table) {
|
||||||
unsigned long entries;
|
unsigned long entries;
|
||||||
int scale = STACK_HASH_SCALE;
|
int scale = STACK_HASH_SCALE;
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ int stack_depot_init(void)
|
|||||||
stack_table = kvcalloc(entries, sizeof(struct stack_record *), GFP_KERNEL);
|
stack_table = kvcalloc(entries, sizeof(struct stack_record *), GFP_KERNEL);
|
||||||
if (!stack_table) {
|
if (!stack_table) {
|
||||||
pr_err("hash table allocation failed, disabling\n");
|
pr_err("hash table allocation failed, disabling\n");
|
||||||
stack_depot_disable = true;
|
stack_depot_disabled = true;
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
}
|
}
|
||||||
stack_hash_mask = entries - 1;
|
stack_hash_mask = entries - 1;
|
||||||
@@ -353,7 +353,7 @@ depot_stack_handle_t __stack_depot_save(unsigned long *entries,
|
|||||||
*/
|
*/
|
||||||
nr_entries = filter_irq_stacks(entries, nr_entries);
|
nr_entries = filter_irq_stacks(entries, nr_entries);
|
||||||
|
|
||||||
if (unlikely(nr_entries == 0) || stack_depot_disable)
|
if (unlikely(nr_entries == 0) || stack_depot_disabled)
|
||||||
goto fast_exit;
|
goto fast_exit;
|
||||||
|
|
||||||
hash = hash_stack(entries, nr_entries);
|
hash = hash_stack(entries, nr_entries);
|
||||||
|
Reference in New Issue
Block a user