NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/53383 CVS commit: src/sys/arch/x86/x86



The following reply was made to PR port-i386/53383; it has been noted by GNATS.

From: "Maxime Villard" <maxv%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/53383 CVS commit: src/sys/arch/x86/x86
Date: Tue, 19 Jun 2018 07:23:45 +0000

 Module Name:	src
 Committed By:	maxv
 Date:		Tue Jun 19 07:23:45 UTC 2018
 
 Modified Files:
 	src/sys/arch/x86/x86: vm_machdep.c
 
 Log Message:
 Explicitly clear l2's pcb_fpcpu when forking.
 
 A context switch (preemption) could occur between
 
 	fpusave_lwp(l1, true);
 and
 	memcpy(pcb2, pcb1, sizeof(struct pcb));
 
 In this case, l1's FPU state is re-installed on the current CPU, and
 pcb1->pcb_fpcpu becomes non NULL. While it's fine to have l1's state
 installed, we don't want to indicate l2's state is installed too.
 
 With lazy fpu this was not a problem, because the context-switch would
 not re-install the state, so pcb1->pcb_fpcpu was NULL.
 
 Should fix PR/53383.
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.33 -r1.34 src/sys/arch/x86/x86/vm_machdep.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index