lockdep: Fix lockdep_no_validate against IRQ states
Thomas noticed that a lock marked with lockdep_set_novalidate_class() will still trigger warnings for IRQ inversions. Cure this by skipping those when marking irq state. Reported-and-tested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/n/tip-2dp5vmpsxeraqm42kgww6ge2@git.kernel.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
4582c0a486
Коммит
efbe2eee6d
|
@ -2468,6 +2468,9 @@ mark_held_locks(struct task_struct *curr, enum mark_type mark)
|
||||||
|
|
||||||
BUG_ON(usage_bit >= LOCK_USAGE_STATES);
|
BUG_ON(usage_bit >= LOCK_USAGE_STATES);
|
||||||
|
|
||||||
|
if (hlock_class(hlock)->key == &__lockdep_no_validate__)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (!mark_lock(curr, hlock, usage_bit))
|
if (!mark_lock(curr, hlock, usage_bit))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче