On Sat, Mar 21, 2026 at 10:48:36AM +1000, Nicholas Piggin wrote:
> riscv signal frame setup is missing unlock_user_struct().
>
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Chao Liu <chao.liu.zevorn@gmail.com>
Thanks,
Chao
> ---
> linux-user/riscv/signal.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/linux-user/riscv/signal.c b/linux-user/riscv/signal.c
> index 358fa1d82d..22b1b8149f 100644
> --- a/linux-user/riscv/signal.c
> +++ b/linux-user/riscv/signal.c
> @@ -126,6 +126,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
>
> setup_ucontext(&frame->uc, env, set);
> frame->info = *info;
> + unlock_user_struct(frame, frame_addr, 1);
>
> env->pc = ka->_sa_handler;
> env->gpr[xSP] = frame_addr;
> --
> 2.51.0
>
>