[Bug 255997] fpu_kern_thread is called before fpu_initialstate has been set in ktls_kern_thread

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 19 May 2021 11:34:13 +0000
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255997

            Bug ID: 255997
           Summary: fpu_kern_thread is called before fpu_initialstate has
                    been set in ktls_kern_thread
           Product: Base System
           Version: 13.0-STABLE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs_at_FreeBSD.org
          Reporter: h.zabel_at_beckhoff.com

the function ktls_kern_thread calls fpu_kern_thread. this allows the ktls
thread to use floating point operations. but at this point the fpu_initialstate
variable in amd64/amd64/fpu.c is not initialized.

if this thread would perform fpu operations directly after calling
fpu_kern_thread, a page fault will occur in fpudna when accessing
fpu_initialstate.

this leads to an endless boot loop.

-> the fpu layer must be initialised before a kernel thread
calls fpu_kern_thread or fpu_kern_enter/leave.

-- 
You are receiving this mail because:
You are the assignee for the bug.
Received on Wed May 19 2021 - 11:34:13 UTC

Original text of this message