Thread (2 messages) 2 messages, 2 authors, 2021-11-02

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help