]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: Fix incorrect irqflag restore for priority masking for compat
authorJames Morse <james.morse@arm.com>
Thu, 3 Oct 2019 17:01:27 +0000 (18:01 +0100)
committerWill Deacon <will@kernel.org>
Fri, 4 Oct 2019 10:44:03 +0000 (11:44 +0100)
commit5310d093061779e8d5e9a2c91da044c9ed334cf2
treebf8dc9446a691e50306f4a8a500a17b5f77d7002
parentbeaec2a8e788ebbdbe445de53ce63a44464c6fae
arm64: Fix incorrect irqflag restore for priority masking for compat

Commit 46d502a3e81a ("arm64: Fix incorrect irqflag restore for priority
masking") added a macro to the entry.S call paths that leave the
PSTATE.I bit set. This tells the pPNMI masking logic that interrupts
are masked by the CPU, not by the PMR. This value is read back by
local_daif_save().

Commit 46d502a3e81a added this call to el0_svc, as el0_svc_handler
is called with interrupts masked. el0_svc_compat was missed, but should
be covered in the same way as both of these paths end up in
el0_svc_common(), which expects to unmask interrupts.

Fixes: 46d502a3e81a ("arm64: Fix incorrect irqflag restore for priority masking")
Signed-off-by: James Morse <james.morse@arm.com>
Cc: Julien Thierry <julien.thierry.kdev@gmail.com>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/entry.S