[PATCH 02/15] stackdepot: simplify __stack_depot_save
From: andrey . konovalov
Date: Tue Aug 29 2023 - 13:12:42 EST
From: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
The retval local variable in __stack_depot_save has the union type
handle_parts, but the function never uses anything but the union's
handle field.
Define retval simply as depot_stack_handle_t to simplify the code.
Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
---
lib/stackdepot.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/lib/stackdepot.c b/lib/stackdepot.c
index 3a945c7206f3..0772125efe8a 100644
--- a/lib/stackdepot.c
+++ b/lib/stackdepot.c
@@ -360,7 +360,7 @@ depot_stack_handle_t __stack_depot_save(unsigned long *entries,
gfp_t alloc_flags, bool can_alloc)
{
struct stack_record *found = NULL, **bucket;
- union handle_parts retval = { .handle = 0 };
+ depot_stack_handle_t handle = 0;
struct page *page = NULL;
void *prealloc = NULL;
unsigned long flags;
@@ -377,7 +377,7 @@ depot_stack_handle_t __stack_depot_save(unsigned long *entries,
nr_entries = filter_irq_stacks(entries, nr_entries);
if (unlikely(nr_entries == 0) || stack_depot_disabled)
- goto fast_exit;
+ return 0;
hash = hash_stack(entries, nr_entries);
bucket = &stack_table[hash & stack_hash_mask];
@@ -443,9 +443,8 @@ depot_stack_handle_t __stack_depot_save(unsigned long *entries,
free_pages((unsigned long)prealloc, DEPOT_POOL_ORDER);
}
if (found)
- retval.handle = found->handle.handle;
-fast_exit:
- return retval.handle;
+ handle = found->handle.handle;
+ return handle;
}
EXPORT_SYMBOL_GPL(__stack_depot_save);
--
2.25.1