[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL715WKLQxxeyFqiKbKsUmQ8bZf2f=rwADyKj1ftgROA+dhpXg@mail.gmail.com>
Date: Wed, 22 Feb 2023 10:40:12 -0800
From: Mingwei Zhang <mizhang@...gle.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: "Chang S. Bae" <chang.seok.bae@...el.com>,
Sean Christopherson <seanjc@...gle.com>,
Paolo Bonzini <pbonzini@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org, linux-kselftest@...r.kernel.org,
Jim Mattson <jmattson@...gle.com>,
Venkatesh Srinivas <venkateshs@...gle.com>,
Aaron Lewis <aaronlewis@...gle.com>,
Chao Gao <chao.gao@...el.com>
Subject: Re: [PATCH v3 01/13] x86/fpu/xstate: Avoid getting xstate address of
init_fpstate if fpstate contains the component
> > We have this [1]:
> >
> > if (fpu_state_size_dynamic())
> > mask &= (header.xfeatures | xinit->header.xcomp_bv);
> >
> > If header.xfeatures[18] = 0 then mask[18] = 0 because
> > xinit->header.xcomp_bv[18] = 0. Then, it won't hit that code. So, I'm
> > confused about the problem that you described here.
>
> Read the suggested changelog I wrote in my reply to Mingwei.
>
> TLDR:
>
> xsave.header.xfeatures[18] = 1
> xinit.header.xfeatures[18] = 0
> -> mask[18] = 1
> -> __raw_xsave_addr(xsave, 18) <- Success
> -> __raw_xsave_addr(xinit, 18) <- WARN
>
> Thanks,
>
> tglx
Hi Thomas,
Thanks for the review and I will provide the next version separately
from the series, since this one is independent from the rest.
Chang: to reproduce this issue, you can simply run the amx_test in the
kvm selftest directory.
Thanks.
-Mingwei
Powered by blists - more mailing lists