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