From 9cc4f33c764f36f6e1eed2bbabe65a43f5c3545b Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Mon, 9 Oct 2023 23:12:32 -0700 Subject: [PATCH] Fix some todos --- ape/ape-m1.c | 17 +++- execve_test_prog1.com | Bin 232847 -> 0 bytes libc/calls/clock_nanosleep.c | 2 +- libc/calls/diagnose_syscall.S | 110 ------------------------- libc/calls/getrlimit.c | 4 + libc/calls/read-nt.c | 33 ++++---- libc/calls/setrlimit.c | 4 + libc/runtime/syslib.internal.h | 2 + libc/thread/tls.h | 3 +- test/libc/calls/clock_nanosleep_test.c | 4 - test/libc/calls/stackoverflow1_test.c | 108 ++++++++++++++++++++++++ test/libc/calls/stackoverflow2_test.c | 105 +++++++++++++++++++++++ test/libc/thread/makecontext_test.c | 8 +- 13 files changed, 261 insertions(+), 139 deletions(-) delete mode 100755 execve_test_prog1.com delete mode 100644 libc/calls/diagnose_syscall.S create mode 100644 test/libc/calls/stackoverflow1_test.c create mode 100644 test/libc/calls/stackoverflow2_test.c diff --git a/ape/ape-m1.c b/ape/ape-m1.c index 9fdcc885e88..21869f2bd97 100644 --- a/ape/ape-m1.c +++ b/ape/ape-m1.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -30,7 +31,6 @@ #include #include #include -#include #define pagesz 16384 #define SYSLIB_MAGIC ('s' | 'l' << 8 | 'i' << 16 | 'b' << 24) @@ -89,6 +89,8 @@ struct Syslib { long (*sem_post)(int *); long (*sem_wait)(int *); long (*sem_trywait)(int *); + long (*getrlimit)(int, struct rlimit *); + long (*setrlimit)(int, const struct rlimit *); }; #define ELFCLASS32 1 @@ -814,7 +816,8 @@ static long sys_getentropy(void *buf, size_t buflen) { return sysret(getentropy(buf, buflen)); } -static long sys_sem_open(const char *name, int oflags, mode_t mode, unsigned value) { +static long sys_sem_open(const char *name, int oflags, mode_t mode, + unsigned value) { return sysret((long)sem_open(name, oflags, mode, value)); } @@ -838,6 +841,14 @@ static long sys_sem_trywait(sem_t *sem) { return sysret(sem_trywait(sem)); } +static long sys_getrlimit(int which, struct rlimit *rlim) { + return sysret(getrlimit(which, rlim)); +} + +static long sys_setrlimit(int which, const struct rlimit *rlim) { + return sysret(setrlimit(which, rlim)); +} + static long sys_write(int fd, const void *data, size_t size) { return sysret(write(fd, data, size)); } @@ -930,6 +941,8 @@ int main(int argc, char **argv, char **envp) { M->lib.sem_post = sys_sem_post; M->lib.sem_wait = sys_sem_wait; M->lib.sem_trywait = sys_sem_trywait; + M->lib.getrlimit = sys_getrlimit; + M->lib.setrlimit = sys_setrlimit; /* getenv("_") is close enough to at_execfn */ execfn = argc > 0 ? argv[0] : 0; diff --git a/execve_test_prog1.com b/execve_test_prog1.com deleted file mode 100755 index 0a28489305e26ed3380748e96e3b0628fb14764d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232847 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

y9GT^{6K&WA$x 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

nePp% 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 P04=rFQ)M3&4FLQLYkxTS diff --git a/libc/calls/clock_nanosleep.c b/libc/calls/clock_nanosleep.c index 3db418207f6..987d0bbdb3d 100644 --- a/libc/calls/clock_nanosleep.c +++ b/libc/calls/clock_nanosleep.c @@ -100,7 +100,7 @@ static int cosmo_clock_nanosleep(int clock, int flags, if (timespec_cmp(remain, quantum) > 0) { waitfor = timespec_sub(remain, quantum); if (sys_clock_nanosleep(sleep_clock, 0, &waitfor, rem) == -1) { - if (rem && errno == EINTR) { + if (!flags && rem && errno == EINTR) { *rem = timespec_add(*rem, quantum); } return -1; diff --git a/libc/calls/diagnose_syscall.S b/libc/calls/diagnose_syscall.S deleted file mode 100644 index b8319e94405..00000000000 --- a/libc/calls/diagnose_syscall.S +++ /dev/null @@ -1,110 +0,0 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│ -╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2022 Justine Alexandra Roberts Tunney │ -│ │ -│ Permission to use, copy, modify, and/or distribute this software for │ -│ any purpose with or without fee is hereby granted, provided that the │ -│ above copyright notice and this permission notice appear in all copies. │ -│ │ -│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ -│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ -│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ -│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ -│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ -│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ -│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ -│ PERFORMANCE OF THIS SOFTWARE. │ -╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.internal.h" -.privileged - -diagnose_syscall: - push %rbp - mov %rsp,%rbp - push %rbx - push %r12 - push %r13 - push %r14 - push %r15 - - mov $0x7fffffff,%eax - add $4,%eax # set sf/of/pf - - mov %rdi,%rax # nr - mov %rsi,%rdi # arg 1 - mov %rdx,%rsi # arg 2 - mov %rcx,%rdx # arg 3 - mov %r8,%r10 # arg 4 - mov %r9,%r8 # arg 5 - mov 16(%rbp),%r9 # arg 6 - push 24(%rbp) # arg 7 - push %rax # fake ret addr - mov 32(%rbp),%r12 # ucontext before - mov 40(%rbp),%r13 # ucontext after - xor %ecx,%ecx - xor %r11d,%r11d - mov $0x5555555555555555,%r11 - mov $0x5555555555555555,%r14 - mov $0x5555555555555555,%r15 - mov $0x5555555555555555,%rbx - -// save machine state before system call - pushf - pop 176(%r12) - mov %r8,40(%r12) - mov %r9,48(%r12) - mov %r10,56(%r12) - mov %r11,64(%r12) - mov %r12,72(%r12) - mov %r13,80(%r12) - mov %r14,88(%r12) - mov %r15,96(%r12) - mov %rdi,104(%r12) - mov %rsi,112(%r12) - mov %rbp,120(%r12) - mov %rbx,128(%r12) - mov %rdx,136(%r12) - mov %rax,144(%r12) - mov %rcx,152(%r12) - push %rbx - lea 320(%r12),%rbx - mov %rbx,224(%r12) # set fpregs ptr - pop %rbx - - syscall - -// save machine state after system call - pushf - pop 176(%r13) - mov %r8,40(%r13) - mov %r9,48(%r13) - mov %r10,56(%r13) - mov %r11,64(%r13) - mov %r12,72(%r13) - mov %r13,80(%r13) - mov %r14,88(%r13) - mov %r15,96(%r13) - mov %rdi,104(%r13) - mov %rsi,112(%r13) - mov %rbp,120(%r13) - mov %rbx,128(%r13) - mov %rdx,136(%r13) - mov %rax,144(%r13) - mov %rcx,152(%r13) - push %rbx - lea 320(%r13),%rbx - mov %rbx,224(%r13) # set fpregs ptr - pop %rbx - - pop %r13 - pop %r13 - - pop %r15 - pop %r14 - pop %r13 - pop %r12 - pop %rbx - pop %rbp - ret - .endfn diagnose_syscall,globl diff --git a/libc/calls/getrlimit.c b/libc/calls/getrlimit.c index de1c8466858..4ba4ea41d7f 100644 --- a/libc/calls/getrlimit.c +++ b/libc/calls/getrlimit.c @@ -18,11 +18,13 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/calls/calls.h" #include "libc/calls/struct/rlimit.internal.h" +#include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/intrin/describeflags.internal.h" #include "libc/intrin/strace.internal.h" #include "libc/runtime/stack.h" +#include "libc/runtime/syslib.internal.h" #include "libc/sysv/consts/rlimit.h" #include "libc/sysv/errfuns.h" @@ -40,6 +42,8 @@ int getrlimit(int resource, struct rlimit *rlim) { rc = einval(); } else if (!rlim || (IsAsan() && !__asan_is_valid(rlim, sizeof(*rlim)))) { rc = efault(); + } else if (IsXnuSilicon()) { + rc = _sysret(__syslib->__getrlimit(resource, rlim)); } else if (!IsWindows()) { rc = sys_getrlimit(resource, rlim); } else if (resource == RLIMIT_STACK) { diff --git a/libc/calls/read-nt.c b/libc/calls/read-nt.c index 929793a6845..245e2e2b75d 100644 --- a/libc/calls/read-nt.c +++ b/libc/calls/read-nt.c @@ -342,23 +342,26 @@ static textwindows int ProcessMouseEvent(const struct NtInputRecord *r, bs &= kNtFromLeft1stButtonPressed | kNtRightmostButtonPressed; if (ev & kNtMouseWheeled) { // scroll wheel (unnatural mode) - if (!(r->Event.MouseEvent.dwControlKeyState & - (kNtShiftPressed | kNtLeftCtrlPressed | kNtRightCtrlPressed | - kNtLeftAltPressed | kNtRightAltPressed))) { - bool isup = ((int)r->Event.MouseEvent.dwButtonState >> 16) > 0; - if (__ttyconf.magic & kTtyXtMouse) { + bool isup = ((int)r->Event.MouseEvent.dwButtonState >> 16) > 0; + if (__ttyconf.magic & kTtyXtMouse) { + if (r->Event.MouseEvent.dwControlKeyState & + (kNtLeftCtrlPressed | kNtRightCtrlPressed)) { e = isup ? 80 : 81; - goto OutputXtermMouseEvent; } else { - // we disable mouse highlighting when the tty is put in raw mode - // to mouse wheel events with widely understood vt100 arrow keys - *p++ = 033; - *p++ = !__keystroke.ohno_decckm ? '[' : 'O'; - if (isup) { - *p++ = 'A'; - } else { - *p++ = 'B'; - } + e = isup ? 64 : 65; + } + goto OutputXtermMouseEvent; + } else if (!(r->Event.MouseEvent.dwControlKeyState & + (kNtShiftPressed | kNtLeftCtrlPressed | kNtRightCtrlPressed | + kNtLeftAltPressed | kNtRightAltPressed))) { + // we disable mouse highlighting when the tty is put in raw mode + // to mouse wheel events with widely understood vt100 arrow keys + *p++ = 033; + *p++ = !__keystroke.ohno_decckm ? '[' : 'O'; + if (isup) { + *p++ = 'A'; + } else { + *p++ = 'B'; } } } else if ((bs || currentbs) && (__ttyconf.magic & kTtyXtMouse)) { diff --git a/libc/calls/setrlimit.c b/libc/calls/setrlimit.c index 91886c7f351..2883c5f72ae 100644 --- a/libc/calls/setrlimit.c +++ b/libc/calls/setrlimit.c @@ -19,11 +19,13 @@ #include "libc/assert.h" #include "libc/calls/calls.h" #include "libc/calls/struct/rlimit.internal.h" +#include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/intrin/describeflags.internal.h" #include "libc/intrin/strace.internal.h" #include "libc/macros.internal.h" +#include "libc/runtime/syslib.internal.h" #include "libc/sysv/consts/rlimit.h" #include "libc/sysv/errfuns.h" @@ -79,6 +81,8 @@ int setrlimit(int resource, const struct rlimit *rlim) { rc = einval(); } else if (!rlim || (IsAsan() && !__asan_is_valid(rlim, sizeof(*rlim)))) { rc = efault(); + } else if (IsXnuSilicon()) { + rc = _sysret(__syslib->__setrlimit(resource, rlim)); } else if (!IsWindows()) { rc = sys_setrlimit(resource, rlim); if (IsXnu() && !rc && resource == RLIMIT_AS) { diff --git a/libc/runtime/syslib.internal.h b/libc/runtime/syslib.internal.h index 3f3053b24e8..53b7051ff7c 100644 --- a/libc/runtime/syslib.internal.h +++ b/libc/runtime/syslib.internal.h @@ -68,6 +68,8 @@ struct Syslib { long (*__sem_post)(int *); long (*__sem_wait)(int *); long (*__sem_trywait)(int *); + long (*__getrlimit)(int, void *); + long (*__setrlimit)(int, const void *); }; extern struct Syslib *__syslib; diff --git a/libc/thread/tls.h b/libc/thread/tls.h index 28fba51e838..bc94e78f270 100644 --- a/libc/thread/tls.h +++ b/libc/thread/tls.h @@ -3,8 +3,7 @@ #define TLS_ALIGNMENT 64 -#define TIB_FLAG_VFORKED 1 -#define TIB_FLAG_WINCRASHING 2 +#define TIB_FLAG_VFORKED 1 #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/test/libc/calls/clock_nanosleep_test.c b/test/libc/calls/clock_nanosleep_test.c index 775fe15ed41..7ae79174b67 100644 --- a/test/libc/calls/clock_nanosleep_test.c +++ b/test/libc/calls/clock_nanosleep_test.c @@ -32,10 +32,6 @@ #include "libc/testlib/testlib.h" #include "libc/time/time.h" -void SetUpOnce(void) { - if (!IsWindows()) _Exit(0); -} - void OnAlrm(int sig) { // do nothing STRACE("OnAlrm()"); diff --git a/test/libc/calls/stackoverflow1_test.c b/test/libc/calls/stackoverflow1_test.c new file mode 100644 index 00000000000..d0205797897 --- /dev/null +++ b/test/libc/calls/stackoverflow1_test.c @@ -0,0 +1,108 @@ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ +╞══════════════════════════════════════════════════════════════════════════════╡ +│ Copyright 2023 Justine Alexandra Roberts Tunney │ +│ │ +│ Permission to use, copy, modify, and/or distribute this software for │ +│ any purpose with or without fee is hereby granted, provided that the │ +│ above copyright notice and this permission notice appear in all copies. │ +│ │ +│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ +│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ +│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ +│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ +│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ +│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ +│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ +│ PERFORMANCE OF THIS SOFTWARE. │ +╚─────────────────────────────────────────────────────────────────────────────*/ +#include "libc/calls/struct/rlimit.h" +#include "libc/calls/struct/sigaction.h" +#include "libc/calls/struct/sigaltstack.h" +#include "libc/calls/struct/siginfo.h" +#include "libc/dce.h" +#include "libc/intrin/kprintf.h" +#include "libc/limits.h" +#include "libc/mem/gc.internal.h" +#include "libc/mem/mem.h" +#include "libc/runtime/runtime.h" +#include "libc/runtime/sysconf.h" +#include "libc/sysv/consts/rlimit.h" +#include "libc/sysv/consts/sa.h" +#include "libc/sysv/consts/sig.h" +#include "libc/sysv/consts/ss.h" +#include "libc/testlib/testlib.h" +#include "libc/thread/thread.h" + +/** + * stack overflow recovery technique #1 + * overflow the gigantic main process stack + * simple but it can upset kernels / libraries + */ + +jmp_buf recover; +volatile bool smashed_stack; + +void CrashHandler(int sig, siginfo_t *si, void *ctx) { + struct sigaltstack ss; + ASSERT_SYS(0, 0, sigaltstack(0, &ss)); + ASSERT_EQ(SS_ONSTACK, ss.ss_flags); + kprintf("kprintf avoids overflowing %G %p\n", si->si_signo, si->si_addr); + smashed_stack = true; + ASSERT_TRUE(__is_stack_overflow(si, ctx)); + longjmp(recover, 123); +} + +void SetUp(void) { + + // tune down the main process's stack size to a reasonable amount + // some operating systems, e.g. freebsd, will do things like have + // 500mb RLIMIT_STACK by default, even on machines with 400mb RAM + struct rlimit rl = {2 * 1024 * 1024, 2 * 1024 * 1024}; + if (!IsWindows() && !IsXnu()) { + ASSERT_SYS(0, 0, setrlimit(RLIMIT_STACK, &rl)); + } + + // set up the signal handler and alternative stack + struct sigaction sa; + struct sigaltstack ss; + ss.ss_flags = 0; + ss.ss_size = sysconf(_SC_MINSIGSTKSZ) + 8192; + ss.ss_sp = _mapanon(ss.ss_size); + ASSERT_SYS(0, 0, sigaltstack(&ss, 0)); + sa.sa_flags = SA_SIGINFO | SA_ONSTACK; // <-- important + sigemptyset(&sa.sa_mask); + sa.sa_sigaction = CrashHandler; + sigaction(SIGBUS, &sa, 0); + sigaction(SIGSEGV, &sa, 0); +} + +int StackOverflow(int f(), int n) { + if (n < INT_MAX) { + return f(f, n + 1) - 1; + } else { + return INT_MAX; + } +} + +int (*pStackOverflow)(int (*)(), int) = StackOverflow; + +TEST(stackoverflow, standardStack_altStack_process_longjmp) { + if (IsTiny()) return; // TODO(jart): why? + + int jumpcode; + if (!(jumpcode = setjmp(recover))) { + exit(pStackOverflow(pStackOverflow, 0)); + } + ASSERT_EQ(123, jumpcode); + ASSERT_TRUE(smashed_stack); + + // here's where longjmp() gets us into trouble + struct sigaltstack ss; + ASSERT_SYS(0, 0, sigaltstack(0, &ss)); + if (IsXnu() || IsNetbsd()) { + ASSERT_EQ(SS_ONSTACK, ss.ss_flags); // wut + } else { + ASSERT_EQ(0, ss.ss_flags); + } +} diff --git a/test/libc/calls/stackoverflow2_test.c b/test/libc/calls/stackoverflow2_test.c new file mode 100644 index 00000000000..807f59f3a0f --- /dev/null +++ b/test/libc/calls/stackoverflow2_test.c @@ -0,0 +1,105 @@ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ +╞══════════════════════════════════════════════════════════════════════════════╡ +│ Copyright 2023 Justine Alexandra Roberts Tunney │ +│ │ +│ Permission to use, copy, modify, and/or distribute this software for │ +│ any purpose with or without fee is hereby granted, provided that the │ +│ above copyright notice and this permission notice appear in all copies. │ +│ │ +│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ +│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ +│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ +│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ +│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ +│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ +│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ +│ PERFORMANCE OF THIS SOFTWARE. │ +╚─────────────────────────────────────────────────────────────────────────────*/ +#include "libc/calls/struct/sigaction.h" +#include "libc/calls/struct/sigaltstack.h" +#include "libc/calls/struct/siginfo.h" +#include "libc/dce.h" +#include "libc/intrin/kprintf.h" +#include "libc/limits.h" +#include "libc/mem/gc.internal.h" +#include "libc/mem/mem.h" +#include "libc/runtime/runtime.h" +#include "libc/runtime/sysconf.h" +#include "libc/sysv/consts/sa.h" +#include "libc/sysv/consts/sig.h" +#include "libc/sysv/consts/ss.h" +#include "libc/testlib/testlib.h" +#include "libc/thread/thread.h" + +/** + * stack overflow recovery technique #2 + * longjmp out of signal back into thread + * simple but it can upset kernels / libraries + */ + +jmp_buf recover; +volatile bool smashed_stack; + +void CrashHandler(int sig, siginfo_t *si, void *ctx) { + struct sigaltstack ss; + ASSERT_SYS(0, 0, sigaltstack(0, &ss)); + ASSERT_EQ(SS_ONSTACK, ss.ss_flags); + kprintf("kprintf avoids overflowing %G %p\n", si->si_signo, si->si_addr); + smashed_stack = true; + ASSERT_TRUE(__is_stack_overflow(si, ctx)); + longjmp(recover, 123); +} + +int StackOverflow(int f(), int n) { + if (n < INT_MAX) { + return f(f, n + 1) - 1; + } else { + return INT_MAX; + } +} + +int (*pStackOverflow)(int (*)(), int) = StackOverflow; + +void *MyPosixThread(void *arg) { + int jumpcode; + struct sigaction sa, o1, o2; + struct sigaltstack ss; + ss.ss_flags = 0; + ss.ss_size = sysconf(_SC_MINSIGSTKSZ) + 4096; + ss.ss_sp = gc(malloc(ss.ss_size)); + ASSERT_SYS(0, 0, sigaltstack(&ss, 0)); + sa.sa_flags = SA_SIGINFO | SA_ONSTACK; // <-- important + sigemptyset(&sa.sa_mask); + sa.sa_sigaction = CrashHandler; + sigaction(SIGBUS, &sa, &o1); + sigaction(SIGSEGV, &sa, &o2); + if (!(jumpcode = setjmp(recover))) { + exit(pStackOverflow(pStackOverflow, 0)); + } + ASSERT_EQ(123, jumpcode); + sigaction(SIGSEGV, &o2, 0); + sigaction(SIGBUS, &o1, 0); + // here's where longjmp() gets us into trouble + ASSERT_SYS(0, 0, sigaltstack(0, &ss)); + if (IsXnu() || IsNetbsd()) { + ASSERT_EQ(SS_ONSTACK, ss.ss_flags); // wut + } else { + ASSERT_EQ(0, ss.ss_flags); + } + return 0; +} + +TEST(stackoverflow, standardStack_altStack_thread_longjmp) { + pthread_t th; + struct sigaltstack ss; + for (int i = 0; i < 2; ++i) { + smashed_stack = false; + pthread_create(&th, 0, MyPosixThread, 0); + pthread_join(th, 0); + ASSERT_TRUE(smashed_stack); + // this should be SS_DISABLE but ShowCrashReports() creates an alt stack + ASSERT_SYS(0, 0, sigaltstack(0, &ss)); + ASSERT_EQ(0, ss.ss_flags); + } +} diff --git a/test/libc/thread/makecontext_test.c b/test/libc/thread/makecontext_test.c index 0af39770ffe..db1cb4a4065 100644 --- a/test/libc/thread/makecontext_test.c +++ b/test/libc/thread/makecontext_test.c @@ -31,10 +31,9 @@ #include "libc/x/x.h" #include "third_party/libcxx/math.h" -#if 0 // TODO(jart): fix me - bool gotsome; ucontext_t uc, goback; +extern long __klog_handle; void SetUpOnce(void) { testlib_enable_tmp_setup_teardown(); @@ -90,18 +89,17 @@ TEST(makecontext, backtrace) { SPAWN(fork); ASSERT_SYS(0, 0, close(2)); ASSERT_SYS(0, 2, creat("log", 0644)); + __klog_handle = 2; getcontext(&uc); uc.uc_link = 0; uc.uc_stack.ss_sp = NewCosmoStack(); uc.uc_stack.ss_size = GetStackSize(); makecontext(&uc, itsatrap, 2, 123, 456); setcontext(&uc); - EXITS(128 + SIGSEGV); + TERMS(SIGSEGV); if (!GetSymbolTable()) return; char *log = gc(xslurp("log", 0)); EXPECT_NE(0, strstr(log, "itsatrap")); EXPECT_NE(0, strstr(log, "runcontext")); EXPECT_NE(0, strstr(log, "makecontext_backtrace")); } - -#endif