]> git.baikalelectronics.ru Git - kernel.git/commit
s390/entry: fix duplicate tracking of irq nesting level
authorSven Schnelle <svens@linux.ibm.com>
Mon, 6 Dec 2021 10:50:16 +0000 (11:50 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Sun, 12 Dec 2021 17:52:26 +0000 (18:52 +0100)
commit416198b460d67a6d14c871d9dc8046512174d706
treedfbe454db40c768b6c0955ee0846122ab06fdbd4
parentfd49e86ab5e86cb824b9de683fb8edab81f05c85
s390/entry: fix duplicate tracking of irq nesting level

In the current code, when exiting from idle, rcu_irq_enter() is
called twice during irq entry:

irq_entry_enter()-> rcu_irq_enter()
irq_enter() -> rcu_irq_enter()

This may lead to wrong results from rcu_is_cpu_rrupt_from_idle()
because of a wrong dynticks nmi nesting count. Fix this by only
calling irq_enter_rcu().

Cc: <stable@vger.kernel.org> # 5.12+
Reported-by: Mark Rutland <mark.rutland@arm.com>
Fixes: 5711550ab8af ("s390: convert to generic entry")
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/kernel/irq.c