Re: [PATCH] kunit: added lockdep support

From: Peter Zijlstra
Date: Mon Aug 10 2020 - 17:43:37 EST


On Mon, Aug 10, 2020 at 09:32:57PM +0000, Uriel Guajardo wrote:
> +static inline void kunit_check_locking_bugs(struct kunit *test,
> + unsigned long saved_preempt_count)
> +{
> + preempt_count_set(saved_preempt_count);
> +#ifdef CONFIG_TRACE_IRQFLAGS
> + if (softirq_count())
> + current->softirqs_enabled = 0;
> + else
> + current->softirqs_enabled = 1;
> +#endif
> +#if IS_ENABLED(CONFIG_LOCKDEP)
> + local_irq_disable();
> + if (!debug_locks) {
> + kunit_set_failure(test);
> + lockdep_reset();
> + }
> + local_irq_enable();
> +#endif
> +}

Unless you can guarantee this runs before SMP brinup, that
lockdep_reset() is terminally broken.