diff mbox series

[v8,05/20] aarch64: Add GCS support to vfork

Message ID 20250114160328.2031684-6-yury.khrustalev@arm.com
State New
Headers show
Series aarch64: Add support for Guarded Control Stack extension | expand

Commit Message

Yury Khrustalev Jan. 14, 2025, 4:03 p.m. UTC
From: Szabolcs Nagy <szabolcs.nagy@arm.com>

Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
---
 sysdeps/unix/sysv/linux/aarch64/vfork.S | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/sysdeps/unix/sysv/linux/aarch64/vfork.S b/sysdeps/unix/sysv/linux/aarch64/vfork.S
index 27618567f1..d5943a7485 100644
--- a/sysdeps/unix/sysv/linux/aarch64/vfork.S
+++ b/sysdeps/unix/sysv/linux/aarch64/vfork.S
@@ -33,8 +33,13 @@  ENTRY (__vfork)
 
 	cmn	x0, #4095
 	b.cs    .Lsyscall_error
+	cbz	x0, L(child)
 	RET
-
+L(child):
+	/* Return with indirect branch in the child to support GCS.
+	   Compilers insert BTI instruction after vfork() to make
+	   sure return via BR works on systems with BTI.  */
+	br	x30
 PSEUDO_END (__vfork)
 libc_hidden_def (__vfork)