Re: [PATCH v1] powerpc/64s/interrupt: Fix check_return_regs_valid false positive
From: Michael Ellerman <hidden>
Date: 2021-11-02 11:50:33
From: Michael Ellerman <hidden>
Date: 2021-11-02 11:50:33
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