summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2020-03-11 13:42:16 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2020-03-11 13:42:16 +0000
commitbfad1e2b6ed98d3c329bd0dfaff0ec93e38d9ad9 (patch)
treef16a9aeed43179331c8c75ac80166a9dd9c00d48
parentd43cb295e2cf9556b8d128ceb44061b823ea5e54 (diff)
In the sigtramp the fallback SYS_exit always works, there is no reason
to spin trying things. ok kettenis
-rw-r--r--sys/arch/arm/arm/sigcode.S8
-rw-r--r--sys/arch/arm64/arm64/locore.S5
2 files changed, 3 insertions, 10 deletions
diff --git a/sys/arch/arm/arm/sigcode.S b/sys/arch/arm/arm/sigcode.S
index 91328f9c0a8..447534c620f 100644
--- a/sys/arch/arm/arm/sigcode.S
+++ b/sys/arch/arm/arm/sigcode.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: sigcode.S,v 1.7 2018/08/06 18:39:13 kettenis Exp $ */
+/* $OpenBSD: sigcode.S,v 1.8 2020/03/11 13:42:15 deraadt Exp $ */
/* $NetBSD: sigcode.S,v 1.6 2003/10/05 19:44:58 matt Exp $ */
/*
@@ -59,12 +59,8 @@ sigcode:
swi SYS_sigreturn
.globl _C_LABEL(sigcoderet)
_C_LABEL(sigcoderet):
-
-/* Well if that failed we better exit quick ! */
-
+ /* Well if that failed we better exit quick ! */
swi SYS_exit
- b . - 8
-
.align 2
.global _C_LABEL(esigcode)
_C_LABEL(esigcode):
diff --git a/sys/arch/arm64/arm64/locore.S b/sys/arch/arm64/arm64/locore.S
index f0eff2b4246..e4c6c335e53 100644
--- a/sys/arch/arm64/arm64/locore.S
+++ b/sys/arch/arm64/arm64/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.29 2020/02/16 09:33:47 kettenis Exp $ */
+/* $OpenBSD: locore.S,v 1.30 2020/03/11 13:41:53 deraadt Exp $ */
/*-
* Copyright (c) 2012-2014 Andrew Turner
* All rights reserved.
@@ -344,7 +344,6 @@ _C_LABEL(sigcode):
mov x0, sp
add x0, x0, #SF_SC
-1:
mov x8, #SYS_sigreturn
svc 0
dsb nsh
@@ -357,8 +356,6 @@ _C_LABEL(sigcoderet):
svc 0
dsb nsh
isb
-
- b 1b
END(sigcode)
/* This may be copied to the stack, keep it 16-byte aligned */
.align 3