On Fri, 17 May 2019 19:15:07 +0200 Dmitry Vyukov <dvyu...@gmail.com> wrote:

> From: Dmitry Vyukov <dvyu...@google.com>
> 
> in_softirq() is a wrong predicate to check if we are in a softirq context.
> It also returns true if we have BH disabled, so objects are falsely
> stamped with "softirq" comm. The correct predicate is in_serving_softirq().
>
> ...
> 
> --- a/mm/kmemleak.c
> +++ b/mm/kmemleak.c
> @@ -588,7 +588,7 @@ static struct kmemleak_object *create_object(unsigned 
> long ptr, size_t size,
>       if (in_irq()) {
>               object->pid = 0;
>               strncpy(object->comm, "hardirq", sizeof(object->comm));
> -     } else if (in_softirq()) {
> +     } else if (in_serving_softirq()) {
>               object->pid = 0;
>               strncpy(object->comm, "softirq", sizeof(object->comm));
>       } else {

What are the user-visible runtime effects of this change?

Reply via email to