提交 efbe2eee 编写于 作者: P Peter Zijlstra 提交者: Ingo Molnar

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: NThomas Gleixner <tglx@linutronix.de>
Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-2dp5vmpsxeraqm42kgww6ge2@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@elte.hu>
上级 4582c0a4
...@@ -2468,6 +2468,9 @@ mark_held_locks(struct task_struct *curr, enum mark_type mark) ...@@ -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;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册