On Mon, Aug 05, 2024 at 04:10:27PM +0200, Laurent Vivier wrote: > We use our own implementation of assert() because the glic implementation > uses syscalls that aren't in our seccomp filter, see 7a8ed9459dfe > ("Make assertions actually useful"). And we replaced it by an err(), > followed by an abort() (that is also catched by seccomp). I think Stefano's said everything I would on the change itself, but.. > We don't have a coredump or a backtrace but we have at least the > error message... only if logging is enabled. Whether we get a coredump shouldn't be affected by our weird ASSERT() here. If coredumps are enabled (which they're not by default on current distros, AFAICT), we should still get a coredump with the SIGSYS here, just as we would for a SIGABRT. > As this kind of information is needed in any case, replace the "err()" > function by an "fprintf(stderr, ...)". > > Signed-off-by: Laurent Vivier > --- > util.h | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/util.h b/util.h > index b7541ce24e5a..b44b4bfdccd7 100644 > --- a/util.h > +++ b/util.h > @@ -13,6 +13,7 @@ > #include > #include > #include > +#include > #include > > #include "log.h" > @@ -67,8 +68,10 @@ > #define ASSERT(expr) \ > do { \ > if (!(expr)) { \ > - err("ASSERTION FAILED in %s (%s:%d): %s", \ > - __func__, __FILE__, __LINE__, STRINGIFY(expr)); \ > + fprintf(stderr, \ > + "ASSERTION FAILED in %s (%s:%d): %s\n", \ > + __func__, __FILE__, __LINE__, \ > + STRINGIFY(expr)); \ > /* This may actually SIGSYS, due to seccomp, \ > * but that will still get the job done \ > */ \ -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson