arm64: signal: Remove ISB when resetting POR_EL0
authorKevin Brodsky <kevin.brodsky@arm.com>
Thu, 19 Jun 2025 16:00:42 +0000 (17:00 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 22 Jul 2025 09:44:57 +0000 (10:44 +0100)
commit1a665a71ef0fb043c6cfafbf6a6cc9cdc2357505
treea6af9272dd4b0e6c64a2064571511200bed6ca59
parentaa46e18836c07e4d81491d47f8deeba840e780f0
arm64: signal: Remove ISB when resetting POR_EL0

POR_EL0 is set to its most permissive value before setting up the
signal frame, to ensure that uaccess succeeds regardless of the
signal stack's pkey.

We are now tolerant to spurious POE faults. This means that we do
not strictly need to issue an ISB after updating POR_EL0, even when
followed by uaccess. The question is whether a fault is likely to
happen or not if the ISB is omitted; in this case the answer seems
to be no. If the regular stack is used, then it should already be
accessible. If the alternate signal stack is used, then a special
(inaccessible) pkey may be used - the assumption is that this
situation is very uncommon.

Remove the ISB to speed up the regular path - this should not have
any functional impact regardless of the scenario.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Link: https://lore.kernel.org/r/20250619160042.2499290-3-kevin.brodsky@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/signal.c