From 97c07cd31fcd053caceda7790d9dff9300cb061e Mon Sep 17 00:00:00 2001 From: Matthew Leach Date: Fri, 9 Jan 2026 06:38:20 +0000 Subject: [PATCH] arch: arm64: signal: use VDSO for sigreturn Support non SA_RESTORER sigactions by using the trampoline in the kernel VDSO. --- src/arch/arm64/proc/signal.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/arch/arm64/proc/signal.rs b/src/arch/arm64/proc/signal.rs index 5e784aa..dcc9a33 100644 --- a/src/arch/arm64/proc/signal.rs +++ b/src/arch/arm64/proc/signal.rs @@ -1,3 +1,4 @@ +use super::vdso::VDSO_BASE; use crate::{ arch::arm64::exceptions::ExceptionState, memory::uaccess::{UserCopyable, copy_from_user, copy_to_user}, @@ -36,9 +37,12 @@ pub async fn do_signal(id: SigId, sa: UserspaceSigAction) -> Result = if sa.flags.contains(SigActionFlags::SA_ONSTACK) && let Some(alt_stack) = signal.alt_stack.as_mut() @@ -56,7 +60,7 @@ pub async fn do_signal(id: SigId, sa: UserspaceSigAction) -> Result