lockdep: ipipe: improve detection of out-of-band contexts
trace_hardirqs_on_virt[_caller]() must be invoked instead of trace_hardirqs_on[_caller]() from assembly sites before returning from an interrupt/fault, so that the virtual IRQ disable state is checked for before switching the tracer's logic state to ON. This is required as an interrupt may be received and handled by the pipeline core although not forwarded to the root domain, when interrupts are virtually disabled. In such a case, we want to reconcile the tracer's logic with the effect of interrupt pipelining.
Showing with 22 additions and 7 deletions