From b6b81f697b38ef915a5dbf1311baba164822e917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Thu, 12 Dec 2024 17:56:04 +0100 Subject: clone: clear the frame pointer in the child process on relevant ports This just mirrors what is done in the start code for the affected ports, as well as what is already done for the three x86 ports. Clearing the frame pointer helps protect FP-based unwinders from wrongly attempting to traverse into the parent thread's call frame stack. --- src/thread/aarch64/clone.s | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/thread/aarch64/clone.s') diff --git a/src/thread/aarch64/clone.s b/src/thread/aarch64/clone.s index e3c83395..9ac272bd 100644 --- a/src/thread/aarch64/clone.s +++ b/src/thread/aarch64/clone.s @@ -24,7 +24,8 @@ __clone: // parent ret // child -1: ldp x1,x0,[sp],#16 +1: mov fp, 0 + ldp x1,x0,[sp],#16 blr x1 mov x8,#93 // SYS_exit svc #0 -- cgit v1.2.1