* Sebastian Andrzej Siewior <[email protected]> wrote:

> It is possible to ignore the validation for a certain log be using
>       lockdep_set_novalidate_class()

s/log/lock
s/be/by

?

> on it. Each invocation will assign a new name to the class it created
> for created __lockdep_no_validate__. That means that once
> lockdep_set_novalidate_class() has been used on two locks then
> class->name won't match lock->name for the first lock triggering the
> warning.
> 
> Ignoring changed non-matching ->name pointer for the
> __lockdep_no_validate__ class.
> 
> Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
> ---
>  kernel/locking/lockdep.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> index d06190fa50822..38be69d344f7f 100644
> --- a/kernel/locking/lockdep.c
> +++ b/kernel/locking/lockdep.c
> @@ -731,7 +731,8 @@ look_up_lock_class(const struct lockdep_map *lock, 
> unsigned int subclass)
>                        * Huh! same key, different name? Did someone trample
>                        * on some memory? We're most confused.
>                        */
> -                     WARN_ON_ONCE(class->name != lock->name);
> +                     WARN_ON_ONCE(class->name != lock->name &&
> +                                  lock->key != &__lockdep_no_validate__);

Looks good otherwise - applied.

Thanks,

        Ingo

Reply via email to