On Mon, Apr 22, 2024 at 07:06:31PM +0200, FreeBSD User wrote:
> Am Mon, 22 Apr 2024 15:54:27 GMT
> Mark Johnston <ma...@freebsd.org> schrieb:
> 
> > The branch main has been updated by markj:
> > 
> > URL: 
> > https://cgit.FreeBSD.org/src/commit/?id=800da341bc4a35f4b4d82d104b130825d9a42ffa
> > 
> > commit 800da341bc4a35f4b4d82d104b130825d9a42ffa
> > Author:     Mark Johnston <ma...@freebsd.org>
> > AuthorDate: 2024-04-22 15:43:17 +0000
> > Commit:     Mark Johnston <ma...@freebsd.org>
> > CommitDate: 2024-04-22 15:46:59 +0000
> > 
> >     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
> > [...]
> It seems to me that this commit breaks make buildkernel:
> 
> [...]
> ===> accf_dns (all)
> --- kern_thread.o ---
> /usr/src/sys/kern/kern_thread.c:801:2: error: call to undeclared function
> 'kasan_thread_alloc'; ISO C99 and later do not support implicit function 
> declarations
> [-Werror,-Wimplicit-function-declaration] 801 |         
> kasan_thread_alloc(td); |         ^
> /usr/src/sys/kern/kern_thread.c:818:2: error: call to undeclared function
> 'kasan_thread_alloc'; ISO C99 and later do not support implicit function 
> declarations
> [-Werror,-Wimplicit-function-declaration] --- modules-all --- --- 
> all_subdir_accf_http ---
> ===> accf_http (all)
> --- kern_thread.o ---
>   818 |         kasan_thread_alloc(td);
>       |         ^
> 2 errors generated.

I've just pushed a commit to fix this.

Reply via email to