Re: [PATCH v2 10/11] tools/objtool: Check for use of the ENQCMD instruction in the kernel

From: Fenghua Yu
Date: Mon Dec 27 2021 - 12:51:09 EST


Hi, Josh,

On Fri, Dec 17, 2021 at 02:57:06PM -0800, Josh Poimboeuf wrote:
> On Fri, Dec 17, 2021 at 10:01:35PM +0000, Fenghua Yu wrote:
> > The ENQCMD implicitly accesses the PASID_MSR to fill in the pasid field
> > of the descriptor being submitted to an accelerator. But there is no
> > precise (and stable across kernel changes) point at which the PASID_MSR
> > is updated from the value for one task to the next.
> >
> > Kernel code that uses accelerators must always use the ENQCMDS instruction
> > which does not access the PASID_MSR.
> >
> > Check for use of the ENQCMD instruction in the kernel and warn on its
> > usage.
> >
> > Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> > Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
> > ---
> > v2:
> > - Simplify handling ENQCMD (PeterZ and Josh)
>
> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>

Thank you!

-Fenghua