From 19c81863a31fd39abf0f55162761f8a4001ff56f Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Tue, 7 May 2024 17:36:17 -0700 Subject: [PATCH] Improve crash backtrace reliability We're now able to pretty print a C++ backtrace upon crashing in pretty much any runtime execution scenario. The default pledge sandbox policy on Linux is now to return EPERM. If you call pledge and have debugging functions linked (e.g. GetSymbolTable) then the symbol table shall get loaded before any security policy is put in place. This change updates build/bootstrap/fixupobj too and fixes some other sneaky build errors. --- build/bootstrap/ape.aarch64 | Bin 8304 -> 8360 bytes build/bootstrap/ape.elf | Bin 9249 -> 9249 bytes build/bootstrap/ape.macho | Bin 9249 -> 9249 bytes build/bootstrap/fixupobj | Bin 246854 -> 206739 bytes examples/crashreport2.cc | 12 ++++++++++++ libc/calls/pledge.c | 28 ++++++++++++++++------------ libc/intrin/promises.c | 2 +- libc/intrin/x86.h | 6 +++--- libc/log/addr2linepath.c | 16 ++++++++++------ libc/log/backtrace2.c | 2 +- libc/log/backtrace3.c | 16 ++++++++++++++-- libc/log/oncrash_arm64.c | 29 +++++++++++++---------------- libc/mem/tinymalloc.inc | 18 +++++++++++++----- libc/runtime/getsymboltable.c | 3 +++ libc/str/demangle.c | 27 +++++++++------------------ libc/testlib/testmain.c | 6 ++++++ test/libc/calls/unveil_test.c | 2 ++ 17 files changed, 103 insertions(+), 64 deletions(-) diff --git a/build/bootstrap/ape.aarch64 b/build/bootstrap/ape.aarch64 index 27fd3d7fba464b1cf42921bfb0c31aa0d67a0a0e..832fb1ad198a2a60795b0ab1924b090ea19f12bf 100755 GIT binary patch delta 2050 zcmZWqZ)}rA7=P})u79?5ZP$%V$QQ$Zd2T%047WRVynF4B0^qO2no{rNmeN$l!pz|pQBjr*a< z%XfLLTtT^MTy)c=irXua^wWseL8BTq`R{KwM1NI`*B?}amW)6=0T80Nd(Ha}v{Hk^ z)EP_A62C~Nd;Ui66~N+mDZ~ev(DveM>$L-lK-tIL(PcI~3lb##lvp?6;pUGrc1WdPx@Y8eKL@b$E<}=zzpGD9Kis>V|?2BB67emCeD{J z@v8BXqheB%Lh!QMR#RnZu?aNy0^r@~Q^E!~pFlasB=(wSlz&^uXX9+cVHRy7wt-bJ z<@!TVYn{AWTrhbJh9X`m#!yg;xJNk5RR%*bw~MFE9>T;6=5^)!iutVvX;;t)d~_K2 zWf=>3_hIf8h*3Zco2N!f{A&RG5>*4Jg@EJZ57Ip&SU)O^f1NqI-Ni4VA6ZksD{x&> zpV8O3_<7V9qm85xU}w;6P=ju&mfk^3nW6@Pg1^zL1{2#L&Ma!M9MsZ;Kp8QLAbZIO z!9>uw&ki9;b)`uSVo?uCGOU=0OsLVuv_Gf|OQ6I*g2mpakj@$fOMtStEZ)@xSc@hW zcbl6oGBDS>sc$v|z_D!hj_RhUn#Z)&d2kF#?^GbS^PG~`xtNf_Bcy0=*~mQ54w1aU zRYXZG<~#StC>-P|LUADI`~C z5F(wcJ!lko2e}wchZ4xu+qehh^;TsSNAsq&?6UHEy6U!--_hk21$<1Gr`z}~UGBH> zlrA^h`88d>Cd%?h$QOcGXDW4GQDc2C|C*N%W5fh?`WwY*YnAe&TcoT@?C0J5=0v&& zuSY+Y-B41r6wH)&>stl04Y+ne94XkXEO(0r+w)4ZSA1w|RqjrR%eM7orD(NRlIKL& z&ZbRxc_RkDPu;P#csI#peG?Ggo&5>A*4U?ti}vr38tzy`dXE0$SZZ|WuLuH=XJ)8cy4dJG@3?KsYUSG_U!Q$qS&6G8-Tuw}7;Cm28=OpQKi{*RU66V)x;y{(5DW@be~iJLE!_xKLU{x&-ma?<|k2 zWo3SL&wTl4V(Z5){pi`3OC`2%uxC6x68DU*7u@3_T}Pvys|tBT@Uog*{a`blVxX+v tqMxTtSbPnZ_DMhOq6KIAX|{+xz5r%+7QeTJr95Cc<(1I^UJ;Hm-@hZ{aSQ+e delta 1981 zcmZWqYfMx}6h1SvFCM$>^12JVx{F{Ti>;JWkf`AbCR!7#l8wcr30Rv*B+*dYRHJb( zwpI)2V;oZwu>orz?zV}xXk~4hVEV&QVq<9&n`rAkq*~XA7!2I_*q*!WZ5ukt+?hEu z-|Ey%NDf{h8QGd=HoY1Z!Kyxj4BoY#m+V5^?r%V1}7}Y6lBG+-V42rKa0YDnX40Abg_<)Cho|A!5r{ zc0?-8QI;2qFsJWuGTE!*4kaLmA20|-P917iMozxg0MHSw1-~~>uJ;(AbD$3UrSfjD zzy??bxtgtAvz5!cJ=bXG<~j)Yy*qFaflfu=EZ@P$lSygWPI>pS0J!>@z4KjtuHC`^ zz`0032`AB6qz=@rOO>%Ui!yf8t{g4PlhtWv3`Oc>b&8onG3E|MSwSey3?UPeWyHFP z!4asLIoHo1QBuRezd!_yuD}A^t`$s)J803Cn$61CLbQz%F=_;Vgv#nbHk_?Q zP9CM)7KHAw{L$@2D^-G+j(ICpEAr$4W1`dw{--5)KE>az0{$h2P4=?B-#q-G;I}{){NHxD5k&{3%gysqmKNa~C4+qu&X} zLao%8I6=VQW{|_f0JUDxWoh>g<#Y8(Qff8iAWKJcfR>RJl&!_JFRYzmQ)=djVoRW~2o6H%kVkd73K4 zQ%I{!mF5Tq-wHRjdmt=lD9v6_iX(jx)@TZ#g7E-Gt$|DIs1M3sYF3&tSI0CxBn(6g z=th&Q#xZY8a%44zIeeUwo=OTw6efqYoQ$GYidhazmd0OXu+&adPqmCJOw;+*U6qYN zB}-PLnQ#Vm@1c;{bBSj4tRZCdJjw44#Fm2E$g)OT2~Diw`;Ts8a3)Cu_g}$8n8@8< zY=ivn8v!|dz$~jjk%FFK3f(c5<0C+N{=}dn%oaL8jonRn+PeoW!HIqdCn__8*B>W) zC;H{^-Gi%x8k>pAHNjz>(ccRB`^ek`ld65UP{(cpXOlFiV;E(L_sQYdK3Qmvub>kR z3~Z)0B?U-a5#yOl$zP%*%N1xv3O~^>dl17U461lk3rc1MJ-Vc!w2wBLmUD^3U&hTf z%!SlpB%gwX6V-;~6ToQ<^IB`)TyrR=dNv~MTd!~uIL*(`!~nYhJmyN6b}MV8}x za!!mmR*}yJ9l7gF4*f;IxKgEMu+wQKn}*D@L+t_4o{%>Dzy4cv`>%8Ct8fv4$>dzO z>(llM@pI7^MN@N7nrDW0wNvn7iD+vISSHBgLa|h&@BF&92+Idp?T`sAViMQ3hz!?a z{MNe`7wL~wY8ie$$C`_=mx(TyRHR4hO;3M^?W~`#ads~DM}2lM>bglujTo7~I8zUM uDpycXZH9hEr&!^s%cw{{krko~M{;_EXYe#&e8k&8hQtc|9u!^P^1lHWhF(wr diff --git a/build/bootstrap/ape.elf b/build/bootstrap/ape.elf index 6a87fd728effd415b1df1d88a5adae83ac440eeb..5ffffe84bd8ed17dcfaf9d99e9b196dc2f35ac57 100755 GIT binary patch delta 1210 zcmXw2Uu;uV7(b^gZP&HCx7~1Ck=VkW7B&-W#<*2sopjr&yNi85-DUzaiwmI(VWVRL zWq-WAk&~ODaEOV%VT^&87@!aGN6os(g2NbCd>}kH9*DVf6E|z-AgtH#+{OEF@;l$( z-}!ytJx|V)PkP+JN@RV(%F74$VgLWvbt6K-%G`aN!FZLuQ}QnEX1S7fTe*1F9>j~e zkbRqNw1G@`9|jO2bg$$h<}HQBr7(d*BwMr6C8)zM@=$7g_h^gKN@zjQPB;-78?j>{ zdmND7DyoL9PhG{rM@Qh^r;hk{3)+C?dWq1r4*GMgX_|P~&sIu~&h z>vipLH%Nr0r6AE(*cYxaChWFr=V(_oLi3l_pqPGKB>L;Xwn!q=L`zFz+5?2%;sGD? z0Q`8+%Xy0g|3ae0Bi!51y#wIwp!o#O4|)~7UlKd;d?K2+0uJ(kBm^YrQw5&40);}4 z5}`#hu^|&cY`nB8V6_PFn29|&LGSX3#FS`8im@xDTk4WlO$8eyWRU0*5!$9nG%h8r z`XOFF&&4nyiJ7G}@UR;93vL@YTC^1*dx*W^ZmqLFHqHG&_+Ax4&7Fkaq*IoBKAt+^ zodGk^U@HV|jool7epyiKY+!?7R;w}=G%u?u3kzwfn!q&Rhy{s$l(m=b#4)Cp?RhP! zY$dKFjAs%?nv6qUoJaP=Vev9t_`}9m|C(lZ7qsOn_QdtQQvWe7;yGsX3~o*u?}MLC zX_J=m*=OKk^-q8ul!~!4o)`UhLA>U!=5DBPtPAqyHnKaOSNpPH-nX9{%fa~hMuh0p z{5g0pmqaEiyg;6x26@%>eZ!;|_Gu{4d=&%LYb9_*W+N-cDL$K$RP{nzT=-#q&A9y< zY!ot5Y{2^*?qp}Y+Z|yAD1}+xTNMlV5n9*_GnY!+*|wdWt$klr==n<2Al zVGO^`+C&-eU}NGTe4G6xZo^-)8sA0R{Q~>ZC)?(hS_?|DA cW@Of?L1^B1xXhOP-{a2QHx=7GSArq?e|{Xl6aWAK delta 1165 zcmXw&YfKbZ6vyW-%kHx5diUXD3pIdF6#)~Lv^bkm%fc=_TL!zSBo!N#Xkv`0HG)Bt z4Pb_8y_s(MxSxz|jNhp32XzyX)HVw#q)ADG^pW%to3xD?3T|33xKeR??vl=j$?u*s z=k>p5uEJG#zuTP;N`)sMym9;>3H*OtGfGlEnE9Ec2$|t;6un6rc&4b`cAtJ|uOwe( zs_Z*#gLRPh{#hnTz&d3YSYN9wCMN-3KG-@eU&lP+P=B`N!tTMi+6HWi>U*7%G&Eo* zbog~7qs^z8wxe2}(0AJLd{i39r-qI{N0s7-T50vPIRmm<%{ojMJrxMsIu%|{!u8SGNg&>vv)xoCCGfylF^enxYb4XGm zGD&p-bhKRwXCX2^PyszNiqW}2(pHM-@Gt1oR%~kkR(Af^csNT(_bO^+g7-LglGpep z=K?v*-*&y=Zjyne@YEh%@L6Uew)5^}sJu!kQnDNm*a zzPf5z3HC%ydyQr6uPT?QT7Y!%6&$T2GTlL2ry(*0v~4O88SnMr(1l#abyuBL-#)Ue{asj5tV4Iq=#)>K7joR;HJ&q@!Azr{P3YNzF}4xs ztX;vzFqOi`JUauAQQc@)bU$V|--U6`jXdvpG4UCi4;~W6b!eQ}AW3Xuj^n68p?c7; zd1dY!R9jnHKmtc_v(A=9Zxd{FtO#G>+3>P?ou|Cd63#DqD@c-$d20?NRji#f-Yu*k zupD5^E;Cn*lBA1U0+KZU5<*hI^9Y9p)FSi>*n;qpfM*bH3Gg9&C%}oYm}y?;B#z(l zH#Qr12W@nW2>gRH+TdtikN71Yr<;8p!g}!`?#hu>cF*kQIXXlJ_**`O9N;6qQ)G#6 z^6wziJnH|%W_!pN{EE%F$hQUR%76L?^^A|8FhLaNu3reFvis~e^AAVZlSgEbz0+E#tDvdaD+*6FLc diff --git a/build/bootstrap/ape.macho b/build/bootstrap/ape.macho index 42b153c6a3e5b19d4002365c756b1e48a364bf7f..d6d22567b6973a512ce50f79b7bfcf37e21e2750 100755 GIT binary patch delta 1218 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≶q9e~E&bfQK_%g5uR{6T-=6+bGJ*43yal?& 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 diff --git a/examples/crashreport2.cc b/examples/crashreport2.cc index 06bb92548..d57f3bdea 100644 --- a/examples/crashreport2.cc +++ b/examples/crashreport2.cc @@ -7,6 +7,7 @@ │ • http://creativecommons.org/publicdomain/zero/1.0/ │ ╚─────────────────────────────────────────────────────────────────*/ #endif +#include "libc/calls/calls.h" #include "libc/math.h" #include "libc/runtime/runtime.h" @@ -18,6 +19,17 @@ void crash(long x0, long x1, long x2, // void (*pCrash)(long, long, long, double, double, double) = crash; int main(int argc, char *argv[]) { + + // // by default we launch an addr2line subprocess to print backtraces + // // with line numbers. you can force it to use the embedded solution + // setenv("ADDR2LINE", "", true); + + // // using a seccomp sandbox is another way to force embedded backtraces + // pledge("stdio", NULL); + + // enable the crash reporting feature ShowCrashReports(); + + // time to die pCrash(1, 2, 3, NAN, NAN, NAN); } diff --git a/libc/calls/pledge.c b/libc/calls/pledge.c index 3ce335cfd..f56af95fa 100644 --- a/libc/calls/pledge.c +++ b/libc/calls/pledge.c @@ -24,11 +24,13 @@ #include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" #include "libc/errno.h" -#include "libc/intrin/kprintf.h" #include "libc/intrin/promises.internal.h" #include "libc/intrin/strace.internal.h" +#include "libc/intrin/weaken.h" #include "libc/nexgen32e/vendor.internal.h" #include "libc/runtime/runtime.h" +#include "libc/runtime/symbols.internal.h" +#include "libc/runtime/zipos.internal.h" #include "libc/sysv/consts/pr.h" #include "libc/sysv/errfuns.h" @@ -199,22 +201,22 @@ * `__pledge_mode` is available to improve the experience of pledge() on * Linux. It should specify one of the following penalties: * + * - `PLEDGE_PENALTY_RETURN_EPERM` causes system calls to just return an + * `EPERM` error instead of killing. This is the default on Linux. + * This is a gentler solution that allows code to display a friendly + * warning. Please note this may lead to weird behaviors if the + * software being sandboxed is lazy about checking error results. + * * - `PLEDGE_PENALTY_KILL_THREAD` causes the violating thread to be - * killed. This is the default on Linux. It's effectively the same as - * killing the process, since redbean has no threads. The termination - * signal can't be caught and will be either `SIGSYS` or `SIGABRT`. - * Consider enabling stderr logging below so you'll know why your - * program failed. Otherwise check the system log. + * killed. It's effectively the same as killing the process, since + * redbean has no threads. The termination signal can't be caught and + * will be either `SIGSYS` or `SIGABRT`. Consider enabling stderr + * logging below so you'll know why your program failed. Otherwise + * check the system log. * * - `PLEDGE_PENALTY_KILL_PROCESS` causes the process and all its * threads to be killed. This is always the case on OpenBSD. * - * - `PLEDGE_PENALTY_RETURN_EPERM` causes system calls to just return an - * `EPERM` error instead of killing. This is a gentler solution that - * allows code to display a friendly warning. Please note this may - * lead to weird behaviors if the software being sandboxed is lazy - * about checking error results. - * * `mode` may optionally bitwise or the following flags: * * - `PLEDGE_STDERR_LOGGING` enables friendly error message logging @@ -240,6 +242,8 @@ int pledge(const char *promises, const char *execpromises) { int e, rc; unsigned long ipromises, iexecpromises; + if (_weaken(GetSymbolTable)) + _weaken(GetSymbolTable)(); if (!promises) { // OpenBSD says NULL argument means it doesn't change, i.e. // pledge(0,0) on OpenBSD does nothing. The Cosmopolitan Libc diff --git a/libc/intrin/promises.c b/libc/intrin/promises.c index f549c6db3..a04f9cd8a 100644 --- a/libc/intrin/promises.c +++ b/libc/intrin/promises.c @@ -21,6 +21,6 @@ // XXX: should be inherited thread local // see also sys_pledge_linux() which is 100% pure -int __pledge_mode; +int __pledge_mode = PLEDGE_PENALTY_RETURN_EPERM; unsigned long __promises; unsigned long __execpromises; diff --git a/libc/intrin/x86.h b/libc/intrin/x86.h index 26093109e..8608454f2 100644 --- a/libc/intrin/x86.h +++ b/libc/intrin/x86.h @@ -3,8 +3,8 @@ COSMOPOLITAN_C_START_ enum VendorSignatures { - SIG_INTEL = 0x756e6547, // Genu - SIG_AMD = 0x68747541, // Auth + SIG_INTEL = 0x756e6547, /* Genu */ + SIG_AMD = 0x68747541, /* Auth */ }; enum ProcessorVendors { @@ -139,7 +139,7 @@ struct __processor_model { const char *__cpu_march; }; -struct __processor_model __cpu_model; +extern struct __processor_model __cpu_model; const char *__cpu_march(unsigned); diff --git a/libc/log/addr2linepath.c b/libc/log/addr2linepath.c index 89c09d18b..eb656175e 100644 --- a/libc/log/addr2linepath.c +++ b/libc/log/addr2linepath.c @@ -37,9 +37,14 @@ static struct { } g_addr2line; void GetAddr2linePathInit(void) { + char *res; int e = errno; - const char *path; - if (!(path = getenv("ADDR2LINE"))) { + const char *env, *cmd, *path; + if ((env = getenv("ADDR2LINE"))) { + cmd = env; + path = env; + } else { + cmd = "addr2line"; path = ADDR2LINE; } char *buf = g_addr2line.buf; @@ -48,12 +53,11 @@ void GetAddr2linePathInit(void) { strlcat(buf, "/", PATH_MAX); } strlcat(buf, path, PATH_MAX); - } - if (*buf) { - g_addr2line.res = buf; + res = buf; } else { - g_addr2line.res = commandv("addr2line", buf, PATH_MAX); + res = commandv(cmd, buf, PATH_MAX); } + g_addr2line.res = res; errno = e; } diff --git a/libc/log/backtrace2.c b/libc/log/backtrace2.c index 5c2f7c015..a68d90f05 100644 --- a/libc/log/backtrace2.c +++ b/libc/log/backtrace2.c @@ -66,7 +66,7 @@ static int PrintBacktraceUsingAddr2line(int fd, const struct StackFrame *bp) { } if (!PLEDGED(STDIO) || !PLEDGED(EXEC) || !PLEDGED(EXEC)) { - ShowHint("won't print addr2line backtrace because pledge"); + ShowHint("pledge() sandboxing makes backtraces not as good"); return -1; } diff --git a/libc/log/backtrace3.c b/libc/log/backtrace3.c index 6857d1d6f..b82e12a4a 100644 --- a/libc/log/backtrace3.c +++ b/libc/log/backtrace3.c @@ -18,6 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" #include "libc/calls/calls.h" +#include "libc/cosmo.h" #include "libc/fmt/itoa.h" #include "libc/intrin/kprintf.h" #include "libc/intrin/weaken.h" @@ -29,6 +30,7 @@ #include "libc/runtime/runtime.h" #include "libc/runtime/symbols.internal.h" #include "libc/str/str.h" +#include "libc/thread/thread.h" #include "libc/thread/tls.h" #define LIMIT 100 @@ -47,8 +49,11 @@ dontinstrument dontasan int PrintBacktraceUsingSymbols( int fd, const struct StackFrame *bp, struct SymbolTable *st) { size_t gi; intptr_t addr; + const char *name; int i, symbol, addend; + static char cxxbuf[8192]; struct Garbages *garbage; + static pthread_spinlock_t lock; const struct StackFrame *frame; (void)gi; if (!bp) @@ -83,8 +88,15 @@ dontinstrument dontasan int PrintBacktraceUsingSymbols( symbol = 0; addend = 0; } - kprintf("%012lx %lx %s%+d\n", frame, addr, __get_symbol_name(st, symbol), - addend); + if ((name = __get_symbol_name(st, symbol)) && __is_mangled(name)) { + pthread_spin_lock(&lock); + __demangle(cxxbuf, name, sizeof(cxxbuf)); + kprintf("%012lx %lx %s%+d\n", frame, addr, cxxbuf, addend); + pthread_spin_unlock(&lock); + name = cxxbuf; + } else { + kprintf("%012lx %lx %s%+d\n", frame, addr, name, addend); + } } return 0; } diff --git a/libc/log/oncrash_arm64.c b/libc/log/oncrash_arm64.c index 47106759f..2ab6d31a1 100644 --- a/libc/log/oncrash_arm64.c +++ b/libc/log/oncrash_arm64.c @@ -31,6 +31,7 @@ #include "libc/calls/struct/utsname.h" #include "libc/calls/syscall-sysv.internal.h" #include "libc/calls/ucontext.h" +#include "libc/cosmo.h" #include "libc/cxxabi.h" #include "libc/errno.h" #include "libc/intrin/atomic.h" @@ -40,7 +41,6 @@ #include "libc/log/internal.h" #include "libc/log/log.h" #include "libc/macros.internal.h" -#include "libc/mem/mem.h" #include "libc/nexgen32e/stackframe.h" #include "libc/runtime/memtrack.internal.h" #include "libc/runtime/runtime.h" @@ -178,15 +178,15 @@ static relegated bool AppendFileLine(struct Buffer *b, const char *addr2line, } } -static relegated char *GetSymbolName(struct SymbolTable *st, int symbol, - char **mem, size_t *memsz) { - char *s, *t; - if ((s = __get_symbol_name(st, symbol)) && // - s[0] == '_' && s[1] == 'Z' && // - (t = __cxa_demangle(s, *mem, memsz, 0))) { - *mem = s = t; - } - return s; +static relegated char *GetSymbolName(struct SymbolTable *st, int symbol) { + char *str; + static char buf[8192]; + if (!(str = __get_symbol_name(st, symbol))) + return str; + if (!__is_mangled(str)) + return str; + __demangle(buf, str, sizeof(buf)); + return buf; } static relegated void __oncrash_impl(int sig, struct siginfo *si, @@ -241,8 +241,6 @@ static relegated void __oncrash_impl(int sig, struct siginfo *si, : (struct StackFrame *)__builtin_frame_address(0))); if (ctx) { long pc; - char *mem = 0; - size_t memsz = 0; int addend, symbol; const char *debugbin; const char *addr2line; @@ -305,7 +303,7 @@ static relegated void __oncrash_impl(int sig, struct siginfo *si, addend -= st->symbols[symbol].x; Append(b, " "); if (!AppendFileLine(b, addr2line, debugbin, pc)) { - Append(b, "%s", GetSymbolName(st, symbol, &mem, &memsz)); + Append(b, "%s", GetSymbolName(st, symbol)); if (addend) Append(b, "%+d", addend); } @@ -327,7 +325,7 @@ static relegated void __oncrash_impl(int sig, struct siginfo *si, addend -= st->symbols[symbol].x; Append(b, " "); if (!AppendFileLine(b, addr2line, debugbin, pc)) { - Append(b, "%s", GetSymbolName(st, symbol, &mem, &memsz)); + Append(b, "%s", GetSymbolName(st, symbol)); if (addend) Append(b, "%+d", addend); } @@ -367,13 +365,12 @@ static relegated void __oncrash_impl(int sig, struct siginfo *si, } Append(b, " %016lx fp %lx lr ", fp, pc); if (!AppendFileLine(b, addr2line, debugbin, pc) && st) { - Append(b, "%s", GetSymbolName(st, symbol, &mem, &memsz)); + Append(b, "%s", GetSymbolName(st, symbol)); if (addend) Append(b, "%+d", addend); } Append(b, "\n"); } - free(mem); } b->p[b->n - 1] = '\n'; klog(b->p, MIN(b->i, b->n)); diff --git a/libc/mem/tinymalloc.inc b/libc/mem/tinymalloc.inc index f214248aa..fffdcdc6c 100644 --- a/libc/mem/tinymalloc.inc +++ b/libc/mem/tinymalloc.inc @@ -19,10 +19,18 @@ #include "libc/stdckdint.h" #include "libc/str/str.h" +#ifndef TINYMALLOC_MAX_BYTES +#define TINYMALLOC_MAX_BYTES 1073741824 +#endif + +#ifndef TINYMALLOC_MAX_ALIGN +#define TINYMALLOC_MAX_ALIGN 4096 +#endif + #ifndef MODE_DBG /* don't interfere with asan dlmalloc hooking */ -_Alignas(65536) static struct { - char memory[1024 * 1024 * 1024]; +_Alignas(TINYMALLOC_MAX_ALIGN) static struct { + char memory[TINYMALLOC_MAX_BYTES]; unsigned used, last, free; } heap; @@ -59,7 +67,7 @@ void *memalign(size_t align, size_t need) { need = sizeof(unsigned); if (align < sizeof(unsigned)) align = sizeof(unsigned); - if (align > 65536) + if (align > TINYMALLOC_MAX_ALIGN) goto InvalidArgument; if (ckd_add(&need, need, sizeof(unsigned) - 1)) goto OutOfMemory; @@ -86,7 +94,7 @@ void *memalign(size_t align, size_t need) { base &= -align; if (ckd_add(&toto, base, need)) goto OutOfMemory; - if (toto > sizeof(heap.memory)) + if (toto > TINYMALLOC_MAX_BYTES) goto OutOfMemory; res = heap.memory + base; ((unsigned *)res)[-1] = need; @@ -139,7 +147,7 @@ void *realloc(void *ptr, size_t need) { need &= -sizeof(unsigned); if (ckd_add(&toto, base, need)) goto OutOfMemory; - if (toto > sizeof(heap.memory)) + if (toto > TINYMALLOC_MAX_BYTES) goto OutOfMemory; ((unsigned *)mem)[-1] = need; heap.used = toto; diff --git a/libc/runtime/getsymboltable.c b/libc/runtime/getsymboltable.c index b9f8ae2cb..4f87c2762 100644 --- a/libc/runtime/getsymboltable.c +++ b/libc/runtime/getsymboltable.c @@ -17,6 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" +#include "libc/errno.h" #include "libc/intrin/promises.internal.h" #include "libc/intrin/strace.internal.h" #include "libc/intrin/weaken.h" @@ -124,6 +125,7 @@ struct SymbolTable *GetSymbolTable(void) { struct Zipos *z; if (pthread_spin_trylock(&g_lock)) return 0; + int e = errno; if (!__symtab && !__isworker) { if (_weaken(__zipos_get) && (z = _weaken(__zipos_get)())) { if ((__symtab = GetSymbolTableFromZip(z))) { @@ -137,6 +139,7 @@ struct SymbolTable *GetSymbolTable(void) { __symtab = GetSymbolTableFromElf(); } } + errno = e; pthread_spin_unlock(&g_lock); return __symtab; } diff --git a/libc/str/demangle.c b/libc/str/demangle.c index a290f5485..40d390b32 100644 --- a/libc/str/demangle.c +++ b/libc/str/demangle.c @@ -43,7 +43,7 @@ Copyright (c) 2007 Hyogeol Lee \n\ Copyright (c) 2015-2017 Kai Wang \n\ Copyright (c) 2024 Justine Tunney "); // https://github.com/freebsd/freebsd-src/blob/2176c9ab71c85efd90a6c7af4a9e04fe8e3d49ca/contrib/libcxxrt/libelftc_dem_gnu3.c -// clang -format off +// clang-format off /** * @file demangle.c @@ -321,9 +321,9 @@ static char * vector_str_get_flat(struct cpp_demangle_data *ddata, const struct vector_str *v, size_t *l) { - ssize_t elem_pos, elem_size, rtn_size; size_t i; - char *rtn; + char *rtn, *p; + ssize_t rtn_size; if (!v || !v->size) return 0; @@ -334,14 +334,9 @@ vector_str_get_flat(struct cpp_demangle_data *ddata, const struct vector_str *v, if (!(rtn = (char *)alloc(ddata, 1, rtn_size + 1))) return 0; - elem_pos = 0; - for (i = 0; i < v->size; ++i) { - elem_size = strlen(v->container[i]); - memcpy(rtn + elem_pos, v->container[i], elem_size); - elem_pos += elem_size; - } - - rtn[rtn_size] = '\0'; + p = rtn; + for (i = 0; i < v->size; ++i) + p = stpcpy(p, v->container[i]); if (l) *l = rtn_size; @@ -2878,7 +2873,7 @@ static int cpp_demangle_read_tmpl_args(struct cpp_demangle_data *ddata) { struct vector_str *v; - size_t arg_len, idx, limit, size; + size_t arg_len, idx, limit; char *arg; if (!ddata || *ddata->cur == '\0') @@ -2907,12 +2902,7 @@ cpp_demangle_read_tmpl_args(struct cpp_demangle_data *ddata) if (*ddata->cur == 'E') { ++ddata->cur; - size = v->size; - ASSERT(size > 0); - if (!strncmp(v->container[size - 1], ">", 1)) { - if (!DEM_PUSH_STR(ddata, ">")) - return 0; - } else if (!DEM_PUSH_STR(ddata, ">")) + if (!DEM_PUSH_STR(ddata, ">")) return 0; ddata->is_tmpl = true; break; @@ -4070,6 +4060,7 @@ failure(char *buf, const char *org, size_t buflen) * be a partially copied result. In both cases, -1 is returned. The size * of the output is only returned if this routine is fully succesful. To * successfully cover nearly all the test cases from libcxxabi use 65536 + * and to be able to print 99% of the symbols LLVM's libcxx.a, use 5632. * * It's important to call ismangled() before this, since non-c++ symbols * have a special meaning; for example, "g" will return "__float128". It diff --git a/libc/testlib/testmain.c b/libc/testlib/testmain.c index c87f84ac5..b343aa374 100644 --- a/libc/testlib/testmain.c +++ b/libc/testlib/testmain.c @@ -94,6 +94,12 @@ dontasan int main(int argc, char *argv[]) { struct Dll *e; struct TestAspect *a; + if (errno) { + tinyprint(2, "error: the errno variable was contaminated by constructors\n", + NULL); + return 1; + } + __ubsan_strict = true; __log_level = kLogInfo; GetOpts(argc, argv); diff --git a/test/libc/calls/unveil_test.c b/test/libc/calls/unveil_test.c index 6681eec8d..9e302e878 100644 --- a/test/libc/calls/unveil_test.c +++ b/test/libc/calls/unveil_test.c @@ -18,6 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/calls/calls.h" #include "libc/calls/landlock.h" +#include "libc/calls/pledge.h" #include "libc/calls/struct/dirent.h" #include "libc/calls/struct/stat.h" #include "libc/calls/syscall-sysv.internal.h" @@ -337,6 +338,7 @@ TEST(unveil, usedTwice_forbidden_worksWithPledge) { ASSERT_NE(-1, (gotsome = _mapshared(FRAMESIZE))); ASSERT_NE(-1, (pid = fork())); if (!pid) { + __pledge_mode = PLEDGE_PENALTY_KILL_PROCESS; // install our first seccomp filter ASSERT_SYS(0, 0, pledge("stdio rpath wpath cpath unveil", 0)); ASSERT_SYS(0, 0, mkdir("jail", 0755));