From 034aab48d3a2e0bd1d014394350d2b857ff2fb37 Mon Sep 17 00:00:00 2001 From: boreddevnl Date: Tue, 21 Apr 2026 16:42:24 +0200 Subject: [PATCH] fix(net): guard network_cleanup() with TCP connection ownership token --- src/sys/process.c | 5 +++++ src/sys/process.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/sys/process.c b/src/sys/process.c index 9dbb2bb..9791065 100644 --- a/src/sys/process.c +++ b/src/sys/process.c @@ -475,6 +475,11 @@ process_t* process_get_current(void) { return current_process[cpu]; } +uint32_t process_get_current_pid(void) { + process_t *p = process_get_current(); + return p ? p->pid : 0; +} + uint64_t process_schedule(uint64_t current_rsp) { uint32_t my_cpu = smp_this_cpu_id(); uint64_t rflags = spinlock_acquire_irqsave(&runqueue_lock); diff --git a/src/sys/process.h b/src/sys/process.h index 820734d..ebe46ec 100644 --- a/src/sys/process.h +++ b/src/sys/process.h @@ -105,6 +105,7 @@ process_t* process_create(void (*entry_point)(void), bool is_user); process_t* process_create_elf(const char* filepath, const char* args_str, bool terminal_proc, int tty_id); int process_exec_replace_current(registers_t *regs, const char* filepath, const char* args_str); process_t* process_get_current(void); +uint32_t process_get_current_pid(void); void process_set_current_for_cpu(uint32_t cpu_id, process_t* p); process_t* process_get_current_for_cpu(uint32_t cpu_id); uint64_t process_schedule(uint64_t current_rsp);