Re: [PATCH v2 06/17] x86/virt/tdx: Re-initialize the extensions on runtime TDX module update
From: Xu Yilun
Date: Thu Jul 30 2026 - 22:33:29 EST
On Thu, Jul 30, 2026 at 06:41:55PM +0000, Edgecombe, Rick P wrote:
> On Fri, 2026-07-31 at 00:01 +0800, Xu Yilun wrote:
> > > I've found issue in my implementation. If extensions are required at
> > > boot up time but somehow not required after update, the code just skip
> > > tdx_ext_init() and the update succeed, but after that the extension
> > > features will break.
> > >
> > > IOW, we should not update the metadata, we should follow the boot up
> > > time metadata to ensure no feature changes.
> >
> > Sorry, I changed my mind. I remember TDX module architector said "the
> > host should not assume any feature/SEAMCALL must be associated with any
> > extension, it is hidden from the host. Today a SEAMCALL is backed by an
> > extension, tomorrow it may not".
> >
> > So in this case, ext_required may flip across updates and we should
> > honor the runtime metadata.
>
> Then this is an incompatible update, no? Linux doesn't support incompatible
> updates. We can keep it simpler.
I imagine if a SEAMCALL is no longer backed by an extension and we
switched off extension after update, the SEAMCALL would still work. But
I don't have use case and I'm not sure.
OK. I'm good this is defined as incompatible update now. Maybe I'm too
worried about thing that is hardly possible. I'll make this set simple.