Loading
intel_idle: Fix false positive RCU splats due to incorrect hardirqs state
mainline inclusion from mainline-v6.0 commit d295ad34 category: feature bugzilla: https://gitee.com/openeuler/intel-kernel/issues/IB1H2A CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d295ad34f236c3518634fb6403d4c0160456e470 ------------------------------------------------- Intel-SIG: commit d295ad34 intel_idle: Fix false positive RCU splats due to incorrect hardirqs state Backport for GNR intel_idle support and fix on 5.10 Commit 32d4fd57 ("cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE") uses raw_local_irq_enable/local_irq_disable() around call to __intel_idle() in intel_idle_irq(). With interrupt enabled, timer tick interrupt can happen and a subsequently call to __do_softirq() may change the lockdep hardirqs state of a debug kernel back to 'on'. This will result in a mismatch between the cpu hardirqs state (off) and the lockdep hardirqs state (on) causing a number of false positive "WARNING: suspicious RCU usage" splats. Fix that by using local_irq_disable() to disable interrupt in intel_idle_irq(). Fixes: 32d4fd57 ("cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE") Signed-off-by:Waiman Long <longman@redhat.com> Cc: 5.16+ <stable@vger.kernel.org> # 5.16+ Signed-off-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com> [ yingbao jia: amend commit log ] Signed-off-by:
yingbao jia <yingbao.jia@intel.com>