On Mon, Mar 14, 2016 at 11:43:43AM +0100, Alexander Potapenko wrote:
> +depot_stack_handle_t depot_save_stack(struct stack_trace *trace,
> +                                 gfp_t alloc_flags)
> +{
> +     u32 hash;
> +     depot_stack_handle_t retval = 0;
> +     struct stack_record *found = NULL, **bucket;
> +     unsigned long flags;
> +     struct page *page = NULL;
> +     void *prealloc = NULL;
> +     bool *rec;
> +
> +     if (unlikely(trace->nr_entries == 0))
> +             goto fast_exit;
> +
> +     rec = this_cpu_ptr(&depot_recursion);
> +     /* Don't store the stack if we've been called recursively. */
> +     if (unlikely(*rec))
> +             goto fast_exit;
> +     *rec = true;
> +
> +     hash = hash_stack(trace->entries, trace->nr_entries);
> +     /* Bad luck, we won't store this stack. */
> +     if (hash == 0)
> +             goto exit;

Hello,

why is hash == 0 skipped?

Thanks.

Reply via email to