aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_fork.c
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2021-08-11 00:58:00 +0000
committerMark Johnston <markj@FreeBSD.org>2021-08-11 01:27:53 +0000
commit5dda15adbcf7b650fb69b5259090b16c66d1cf1a (patch)
treed056d7faf2b8e2d0d072d0c05eabbb4cc6327141 /sys/kern/kern_fork.c
parenta422084abbda10edc0b591021536a7c9c6d0c8b4 (diff)
downloadsrc-5dda15adbcf7b650fb69b5259090b16c66d1cf1a.tar.gz
src-5dda15adbcf7b650fb69b5259090b16c66d1cf1a.zip
kern: Ensure that thread-local KMSAN state is available
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/kern/kern_fork.c')
-rw-r--r--sys/kern/kern_fork.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index 7a80f7de85d8..b71a00adb62e 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$");
#include <sys/sysctl.h>
#include <sys/lock.h>
#include <sys/malloc.h>
+#include <sys/msan.h>
#include <sys/mutex.h>
#include <sys/priv.h>
#include <sys/proc.h>
@@ -958,6 +959,7 @@ fork1(struct thread *td, struct fork_req *fr)
}
proc_linkup(newproc, td2);
} else {
+ kmsan_thread_alloc(td2);
if (td2->td_kstack == 0 || td2->td_kstack_pages != pages) {
if (td2->td_kstack != 0)
vm_thread_dispose(td2);