Re: [PATCH] x86/kvm/tdx: Save %rbp in TDX_MODULE_CALL

From: Dave Hansen
Date: Fri May 17 2024 - 11:44:10 EST


On 5/17/24 08:27, Jürgen Groß wrote:
> On 17.05.24 17:16, Dave Hansen wrote:
>> On 5/17/24 07:44, Juergen Gross wrote:
>>> Just another data point: Before using this machine I was testing on
>>> another one with older firmware. That one really didn't support
>>> NOM_RBP_MOD
>>> and I needed to build the kernel with CONFIG_FRAME_POINTER enabled to
>>> get
>>> past the check you are mentioning above.
>>
>> For all intents and purposes, the modules that intentionally clobber RBP
>> don't support Linux. If buggy modules are accidentally clobbering RBP,
>> we can debate how much the kernel should bend over to accommodate them,
>> but my preference would be to ignore them.
>>
>> I'd much rather put a deny list in the kernel than try to tolerate RBP
>> clobbering universally.
>
> Would you be fine with adding a new X86_FEATURE (or BUG?) allowing
> to switch RBP save/restore via ALTERNATIVE, controlled by a command
> line option?
>
> Or maybe by adding a new CONFIG_TDX_MODULE_CAN_CLOBBER_RBP (probably
> using a shorter name) option?

As a last resort maybe.

> TBH I'm slightly puzzled that the firmware I'm using could make it
> outside Intel. I'm fearing this might happen again.

You're puzzled that the firmware is either old buggy or both? Huh.

Intel ships all kinds of crazy pre-production stuff as development
platforms. Let's make sure we know what you've got before we go tearing
up mainline for it.

Because if the options are:

1. Maintain code in mainline until the day I die^Wretire

or

2. Get Jürgen a BIOS update so he stops sending patches

.. it's kinda an easy choice. ;)