[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aMQxaf6SwMz-RJ0I@google.com>
Date: Fri, 12 Sep 2025 07:42:49 -0700
From: Sean Christopherson <seanjc@...gle.com>
To: Chao Gao <chao.gao@...el.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org, acme@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, hpa@...or.com, john.allen@....com,
mingo@...nel.org, mingo@...hat.com, minipli@...ecurity.net,
mlevitsk@...hat.com, namhyung@...nel.org, pbonzini@...hat.com,
prsampat@....com, rick.p.edgecombe@...el.com, shuah@...nel.org,
tglx@...utronix.de, weijiang.yang@...el.com, x86@...nel.org, xin@...or.com,
xiaoyao.li@...el.com
Subject: Re: [PATCH v14 15/22] KVM: x86: Don't emulate instructions guarded by CET
On Tue, Sep 09, 2025, Chao Gao wrote:
> @@ -4068,9 +4070,11 @@ static const struct opcode group4[] = {
> static const struct opcode group5[] = {
> F(DstMem | SrcNone | Lock, em_inc),
> F(DstMem | SrcNone | Lock, em_dec),
> - I(SrcMem | NearBranch | IsBranch, em_call_near_abs),
> - I(SrcMemFAddr | ImplicitOps | IsBranch, em_call_far),
> - I(SrcMem | NearBranch | IsBranch, em_jmp_abs),
> + I(SrcMem | NearBranch | IsBranch | ShadowStack | IndirBrnTrk,
> + em_call_near_abs),
Argh, these wraps are killing me. I spent a good 20 seconds staring at the code
trying to figure out which instructions are affected. There's definitely a bit
of -ENOCOFFEE going on, but there's also zero reason to wrap.
> + I(SrcMemFAddr | ImplicitOps | IsBranch | ShadowStack | IndirBrnTrk,
> + em_call_far),
> + I(SrcMem | NearBranch | IsBranch | IndirBrnTrk, em_jmp_abs),
> I(SrcMemFAddr | ImplicitOps | IsBranch, em_jmp_far),
> I(SrcMem | Stack | TwoMemOp, em_push), D(Undefined),
> };
Powered by blists - more mailing lists