Displaying 2 results from an estimated 2 matches for "30ef39ef".
2020 Aug 27
0
[klibc:master] signal: Add compile-time check on signal types
...less than 64
* sigset_t too small for _NSIG
* sa_mask not at the end of struct sigaction
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
---
usr/klibc/sigaction.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/usr/klibc/sigaction.c b/usr/klibc/sigaction.c
index 19a8a54b..30ef39ef 100644
--- a/usr/klibc/sigaction.c
+++ b/usr/klibc/sigaction.c
@@ -3,6 +3,7 @@
*/
#include <signal.h>
+#include <stddef.h>
#include <sys/syscall.h>
#include <klibc/sysconfig.h>
@@ -38,6 +39,13 @@ int sigaction(int sig, const struct sigaction *act, struct sigaction *...
2020 Aug 27
0
[klibc:master] signal: Note another reason to define _KLIBC_NEEDS_SA_RESTORER
..., and therefore must have
- * SA_RESTORER set.
+ * SA_RESTORER set. On others, the default sigreturn requires an
+ * executable stack, which we should avoid.
*/
#ifndef _KLIBC_NEEDS_SA_RESTORER
# define _KLIBC_NEEDS_SA_RESTORER 0
diff --git a/usr/klibc/sigaction.c b/usr/klibc/sigaction.c
index 30ef39ef..966bc1c6 100644
--- a/usr/klibc/sigaction.c
+++ b/usr/klibc/sigaction.c
@@ -31,8 +31,6 @@ int sigaction(int sig, const struct sigaction *act, struct sigaction *oact)
sa = *act;
act = &sa;
- /* The kernel can't be trusted to have a valid default
- restorer */
sa.sa_flags |=...