Searched hist:"800 da341bc4a35f4b4d82d104b130825d9a42ffa" (Results 1 – 4 of 4) sorted by relevance
/freebsd/sys/kern/ |
H A D | subr_asan.c | diff 800da341bc4a35f4b4d82d104b130825d9a42ffa Mon Apr 22 17:43:17 CEST 2024 Mark Johnston <markj@FreeBSD.org> thread: Simplify sanitizer integration with thread creation
fork() may allocate a new thread in one of two ways: from UMA, or cached in a freed proc that was just allocated from UMA. In either case, KASAN and KMSAN need to initialize some state; in particular they need to initialize the shadow mapping of the new thread's stack.
This is done differently between KASAN and KMSAN, which is confusing. This patch improves things a bit: - Add a new thread_recycle() function, which moves all kernel stack handling out of kern_fork.c, since it doesn't really belong there. - Then, thread_alloc_stack() has only one local caller, so just inline it. - Avoid redundant shadow stack initialization: thread_alloc() initializes the KMSAN shadow stack (via kmsan_thread_alloc()) even through vm_thread_new() already did that. - Add kasan_thread_alloc(), for consistency with kmsan_thread_alloc().
No functional change intended.
Reviewed by: khng MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44891
|
H A D | kern_thread.c | diff 800da341bc4a35f4b4d82d104b130825d9a42ffa Mon Apr 22 17:43:17 CEST 2024 Mark Johnston <markj@FreeBSD.org> thread: Simplify sanitizer integration with thread creation
fork() may allocate a new thread in one of two ways: from UMA, or cached in a freed proc that was just allocated from UMA. In either case, KASAN and KMSAN need to initialize some state; in particular they need to initialize the shadow mapping of the new thread's stack.
This is done differently between KASAN and KMSAN, which is confusing. This patch improves things a bit: - Add a new thread_recycle() function, which moves all kernel stack handling out of kern_fork.c, since it doesn't really belong there. - Then, thread_alloc_stack() has only one local caller, so just inline it. - Avoid redundant shadow stack initialization: thread_alloc() initializes the KMSAN shadow stack (via kmsan_thread_alloc()) even through vm_thread_new() already did that. - Add kasan_thread_alloc(), for consistency with kmsan_thread_alloc().
No functional change intended.
Reviewed by: khng MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44891
|
/freebsd/sys/vm/ |
H A D | vm_glue.c | diff 800da341bc4a35f4b4d82d104b130825d9a42ffa Mon Apr 22 17:43:17 CEST 2024 Mark Johnston <markj@FreeBSD.org> thread: Simplify sanitizer integration with thread creation
fork() may allocate a new thread in one of two ways: from UMA, or cached in a freed proc that was just allocated from UMA. In either case, KASAN and KMSAN need to initialize some state; in particular they need to initialize the shadow mapping of the new thread's stack.
This is done differently between KASAN and KMSAN, which is confusing. This patch improves things a bit: - Add a new thread_recycle() function, which moves all kernel stack handling out of kern_fork.c, since it doesn't really belong there. - Then, thread_alloc_stack() has only one local caller, so just inline it. - Avoid redundant shadow stack initialization: thread_alloc() initializes the KMSAN shadow stack (via kmsan_thread_alloc()) even through vm_thread_new() already did that. - Add kasan_thread_alloc(), for consistency with kmsan_thread_alloc().
No functional change intended.
Reviewed by: khng MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44891
|
/freebsd/sys/sys/ |
H A D | proc.h | diff 800da341bc4a35f4b4d82d104b130825d9a42ffa Mon Apr 22 17:43:17 CEST 2024 Mark Johnston <markj@FreeBSD.org> thread: Simplify sanitizer integration with thread creation
fork() may allocate a new thread in one of two ways: from UMA, or cached in a freed proc that was just allocated from UMA. In either case, KASAN and KMSAN need to initialize some state; in particular they need to initialize the shadow mapping of the new thread's stack.
This is done differently between KASAN and KMSAN, which is confusing. This patch improves things a bit: - Add a new thread_recycle() function, which moves all kernel stack handling out of kern_fork.c, since it doesn't really belong there. - Then, thread_alloc_stack() has only one local caller, so just inline it. - Avoid redundant shadow stack initialization: thread_alloc() initializes the KMSAN shadow stack (via kmsan_thread_alloc()) even through vm_thread_new() already did that. - Add kasan_thread_alloc(), for consistency with kmsan_thread_alloc().
No functional change intended.
Reviewed by: khng MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44891
|