]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commitdiff
fix: replace x86-specific child_regs.eax=0 with arch_regs_set_retval in fork_impl
authorTulio A M Mendes <[email protected]>
Fri, 13 Feb 2026 18:25:45 +0000 (15:25 -0300)
committerTulio A M Mendes <[email protected]>
Fri, 13 Feb 2026 18:25:45 +0000 (15:25 -0300)
src/kernel/syscall.c

index 1da65bb4b4f43b50951a3bdef0f4b87f071f4dd9..8cde2f34226f8cdaf0337e941a80c0d86d3e8701 100644 (file)
@@ -29,6 +29,7 @@ extern void x86_sysenter_init(void);
 #include "hal/cpu.h"
 #include "arch_signal.h"
 #include "arch_syscall.h"
+#include "arch_process.h"
 
 #include <stddef.h>
 
@@ -178,7 +179,7 @@ static int syscall_fork_impl(struct registers* regs) {
     if (!child_as) return -ENOMEM;
 
     struct registers child_regs = *regs;
-    child_regs.eax = 0;
+    arch_regs_set_retval(&child_regs, 0);
 
     struct process* child = process_fork_create(child_as, &child_regs);
     if (!child) {