Re: [RESEND][PATCH 1/6] x86/bugs: Add asm helpers for executing VERW

From: Josh Poimboeuf
Date: Mon Oct 23 2023 - 14:08:13 EST


On Fri, Oct 20, 2023 at 07:21:34PM -0700, Pawan Gupta wrote:
> On Sat, Oct 21, 2023 at 02:33:47AM +0100, Andrew Cooper wrote:
> > On 21/10/2023 2:18 am, Pawan Gupta wrote:
> > > On Sat, Oct 21, 2023 at 12:55:45AM +0100, Andrew Cooper wrote:
> > >> Also it avoids playing games with hiding data inside an instruction.
> > >> It's a neat trick, but the neater trick is avoid it whenever possible.
> > > Thanks for the pointers. I think verw in 32-bit mode won't be able to
> > > address the operand outside of 4GB range.
> >
> > And?  In a 32bit kernel, what lives outside of a 4G range?
> >
> > > Maybe this is fine or could it
> > > be a problem addressing from e.g. KVM module?
> >
> > RIP-relative addressing is disp32.  Which is the same as it is for
> > direct calls.
> >
> > So if your module is far enough away for VERW to have issues, you've got
> > far more basic problems to solve first.
>
> Sorry, I raised the wrong problem. In 64-bit mode, verww only has 32-bit
> of relative addressing, so memory operand has to be within 4GB of
> callsite. That could be a constraint.

Even on x86-64, modules are mapped within 4GB of the kernel, so I don't
think that's a concern.

--
Josh