[PATCH v1] powerpc/64s/interrupt: Fix check_return_regs_valid false positive

Michael Ellerman patch-notifications at ellerman.id.au
Tue Nov 2 21:11:57 AEDT 2021


On Tue, 26 Oct 2021 22:25:31 +1000, Nicholas Piggin wrote:
> The check_return_regs_valid can cause a false positive if the return
> regs are marked as norestart and they are an HSRR type interrupt,
> because the low bit in the bottom of regs->trap causes interrupt
> type matching to fail.
> 
> This can occcur for example on bare metal with a HV privileged doorbell
> interrupt that causes a signal, but do_signal returns early because
> get_signal() fails, and takes the "No signal to deliver" path. In this
> case no signal was delivered so the return location is not changed so
> return SRRs are not invalidated, yet set_trap_norestart is called, which
> messes up the match. Building go-1.16.6 is known to reproduce this.
> 
> [...]

Applied to powerpc/next.

[1/1] powerpc/64s/interrupt: Fix check_return_regs_valid false positive
      https://git.kernel.org/powerpc/c/4a5cb51f3db4be547225a4bce7a43d41b231382b

cheers


More information about the Linuxppc-dev mailing list