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

From: Josh Poimboeuf
Date: Fri Dec 17 2021 - 17:57:27 EST


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>

--
Josh