2016-04-13 12:07:34

by Alexander Potapenko

[permalink] [raw]
Subject: [PATCH v2] lib/stackdepot.c: allow the stack trace hash to be zero

Do not bail out from depot_save_stack() if the stack trace has zero hash.
Initially depot_save_stack() silently dropped stack traces with zero
hashes, however there's actually no point in reserving this zero value.

Reported-by: Joonsoo Kim <[email protected]>
Signed-off-by: Alexander Potapenko <[email protected]>
---
lib/stackdepot.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/lib/stackdepot.c b/lib/stackdepot.c
index 654c9d8..9e0b031 100644
--- a/lib/stackdepot.c
+++ b/lib/stackdepot.c
@@ -210,10 +210,6 @@ depot_stack_handle_t depot_save_stack(struct stack_trace *trace,
goto fast_exit;

hash = hash_stack(trace->entries, trace->nr_entries);
- /* Bad luck, we won't store this stack. */
- if (hash == 0)
- goto exit;
-
bucket = &stack_table[hash & STACK_HASH_MASK];

/*
--
2.8.0.rc3.226.g39d4020


2016-04-15 16:26:50

by Andrey Ryabinin

[permalink] [raw]
Subject: Re: [PATCH v2] lib/stackdepot.c: allow the stack trace hash to be zero



On 04/13/2016 03:07 PM, Alexander Potapenko wrote:
> Do not bail out from depot_save_stack() if the stack trace has zero hash.
> Initially depot_save_stack() silently dropped stack traces with zero
> hashes, however there's actually no point in reserving this zero value.
>
> Reported-by: Joonsoo Kim <[email protected]>
> Signed-off-by: Alexander Potapenko <[email protected]>

Acked-by: Andrey Ryabinin <[email protected]>

> ---
> lib/stackdepot.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/lib/stackdepot.c b/lib/stackdepot.c
> index 654c9d8..9e0b031 100644
> --- a/lib/stackdepot.c
> +++ b/lib/stackdepot.c
> @@ -210,10 +210,6 @@ depot_stack_handle_t depot_save_stack(struct stack_trace *trace,
> goto fast_exit;
>
> hash = hash_stack(trace->entries, trace->nr_entries);
> - /* Bad luck, we won't store this stack. */
> - if (hash == 0)
> - goto exit;
> -
> bucket = &stack_table[hash & STACK_HASH_MASK];
>
> /*
>