On Mon, Jan 23, 2017 at 09:23:06AM -0800, Dave Hansen wrote:
> On 01/23/2017 08:55 AM, Yu-cheng Yu wrote:
> >> The best fix here would be not to paper over the issue in the copy
> >> function but find where it got clobbered, or where some initialization
> >> code failed to set it.
> > 
> > Someone else reported different issues from the same bug and a different
> > patch was just tested OK this morning.  I think that adding xfeatures bits
> > to xcomp_bv should have been done in fpstate_init().
> 
> Right.  So where did it get cleared out?

It is not set until a task triggers XSAVES.  We did not set it in fpstate_init()
because there is no valid data at the time.  The problem happens when Linux 
copies data to the XSAVES area, like we see here; the kernel is not expected
to change XSAVES format (xcomp_bv) but xcomp_bv is still blank (except bit 63). 

Because XSAVES format is not changed after boot time and xcomp_bv does not 
affect
INIT optimization, why don't we fix the problem in fpstate_init()?  

Yu-cheng
 

Reply via email to