From 7c1a75480777a28aff603c5946da088c2ba05e51 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Fri, 13 Jun 2025 19:08:04 -0400 Subject: kernel: Only free thread data on exit Signed-off-by: Ian Moffett --- sys/kern/kern_exit.c | 4 ++++ sys/kern/kern_spawn.c | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'sys') diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index a03d902..2f9e344 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -137,6 +137,10 @@ exit1(struct proc *td, int flags) proc_reap(td); } + if (td->data != NULL) { + dynfree(td->data); + } + /* * Only free the process structure if we aren't * being waited on, otherwise let it be so the diff --git a/sys/kern/kern_spawn.c b/sys/kern/kern_spawn.c index 60d8e22..6addf8f 100644 --- a/sys/kern/kern_spawn.c +++ b/sys/kern/kern_spawn.c @@ -82,7 +82,6 @@ spawn_thunk(void) execve_args.envp = envp; path = NULL; - dynfree(args); if (execve(cur, &execve_args) != 0) { pr_error("execve failed, aborting\n"); -- cgit v1.2.3