linux-user: Fixed cpu restore with pc 0 on SIGBUS
authorRobbin Ehn <rehn@rivosinc.com>
Fri, 12 Jan 2024 20:57:22 +0000 (21:57 +0100)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 23 Jan 2024 03:22:46 +0000 (13:22 +1000)
commit6d913158b5023ac948b8fd649d77fc86e28072f6
treecd0d174892f52f2ca23af83d7bf7838edfb30f48
parent8f8419d3255365121e3596307b98ab3d6dcbdf1a
linux-user: Fixed cpu restore with pc 0 on SIGBUS

Commit f4e1168198 (linux-user: Split out host_sig{segv,bus}_handler)
introduced a bug, when returning from host_sigbus_handler the PC is
never set. Thus cpu_loop_exit_restore is called with a zero PC and
we immediate get a SIGSEGV.

Signed-off-by: Robbin Ehn <rehn@rivosinc.com>
Fixes: f4e1168198 ("linux-user: Split out host_sig{segv,bus}_handler")
Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
Message-Id: <33f27425878fb529b9e39ef22c303f6e0d90525f.camel@rivosinc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/signal.c