print: add nouserprint argument

For some usecases, silencing syscall_print()s is ideal. A good example
of that is syzkaller, which uses logs to detect crashes and a badly
timed syscall_print() could interfere.

Add a nouserprint argument which skips printing on syscall_print().
This commit is contained in:
Matheus
2026-10-05 15:21:42 -03:00
parent 77520c00c5
commit d214326e8e
+7
View File
@@ -4,12 +4,18 @@
#include <mutex.h> #include <mutex.h>
#include <util.h> #include <util.h>
#include <arch/cpu.h> #include <arch/cpu.h>
#include <kernel/kernel_args.h>
DEFINE_KERNEL_ARGUMENT(nouserprint, bool);
syscallret_t syscall_print(context_t *context, char *message) { syscallret_t syscall_print(context_t *context, char *message) {
syscallret_t ret = { syscallret_t ret = {
.ret = -1 .ret = -1
}; };
if (GET_KERNEL_ARGUMENT(nouserprint, bool))
goto leave;
static MUTEX_DEFINE(mutex); static MUTEX_DEFINE(mutex);
size_t len; size_t len;
@@ -35,6 +41,7 @@ syscallret_t syscall_print(context_t *context, char *message) {
arch_e9_putc('\n'); arch_e9_putc('\n');
MUTEX_RELEASE(&mutex); MUTEX_RELEASE(&mutex);
leave:
ret.errno = 0; ret.errno = 0;
ret.ret = 0; ret.ret = 0;
return ret; return ret;