Re: [PATCH] x86: temporarily remove all attempts to provide setup_data

From: Jason A. Donenfeld
Date: Wed Feb 08 2023 - 13:34:49 EST


On Wed, Feb 08, 2023 at 06:31:20PM +0000, Daniel P. Berrangé wrote:
> On Wed, Feb 08, 2023 at 07:26:05PM +0100, Jason A. Donenfeld wrote:
> > On Wed, Feb 08, 2023 at 01:18:37PM -0500, Michael S. Tsirkin wrote:
> > > On Wed, Feb 08, 2023 at 03:14:38PM -0300, Jason A. Donenfeld wrote:
> > > > On Wed, Feb 8, 2023 at 3:13 PM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
> > > > >
> > > > > On Wed, Feb 08, 2023 at 03:08:35PM -0300, Jason A. Donenfeld wrote:
> > > > > > All attempts at providing setup_data have been made as an iteration on
> > > > > > whatever was there before, stretching back to the original
> > > > > > implementation used for DTBs that [mis]used the kernel image itself.
> > > > > > We've now had a dozen rounds of bugs and hacks, and the result is
> > > > > > turning into a pile of unmaintainable and increasingly brittle hacks.
> > > > > >
> > > > > > Let's just rip out all the madness and start over. We can re-architect
> > > > > > this based on having a separate standalone setup_data file, which is how
> > > > > > it should have been done in the first place. This is a larger project
> > > > > > with a few things to coordinate, but we can't really begin thinking
> > > > > > about that while trying to play whack-a-mole with the current buggy
> > > > > > implementation.
> > > > > >
> > > > > > So this commit removes the setup_data setting from x86_load_linux(),
> > > > > > while leaving intact the infrastructure we'll need in the future to try
> > > > > > again.
> > > > > >
> > > > > > Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
> > > > > > Cc: Dov Murik <dovmurik@xxxxxxxxxxxxx>
> > > > > > Cc: Tom Lendacky <thomas.lendacky@xxxxxxx>
> > > > > > Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
> > > > > > Cc: Daniel P. Berrangé <berrange@xxxxxxxxxx>
> > > > > > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> > > > > > Cc: Richard Henderson <richard.henderson@xxxxxxxxxx>
> > > > > > Cc: H. Peter Anvin <hpa@xxxxxxxxx>
> > > > > > Cc: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>
> > > > > > Cc: Nathan Chancellor <nathan@xxxxxxxxxx>
> > > > > > Cc: Borislav Petkov <bp@xxxxxxxxx>
> > > > > > Cc: Eric Biggers <ebiggers@xxxxxxxxxx>
> > > > > > Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx>
> > > > >
> > > > > I think I'll be happier if this is just a revert of
> > > > > the relevant commits in reverse order to make life easier
> > > > > for backporters.
> > > > > Unless that's too much work as we made other changes around
> > > > > this code?
> > > >
> > > > I think that's going to be messy. And it won't handle the dtb stuff
> > > > either straightforwardly.
> > >
> > > List of Fixes tags so people can at least figure out whether they
> > > have a version that needs this fix then?
> >
> > 7.2 is when the functionality started causing problems for most people.
> > But the buggy code goes back to 3cbeb524 in 2016.
>
> We can't rip out the full setup_data support back to that point. That
> is deleting significant features that would break -dtb IIUC. For that
> we would need to have a deprecation period to announce the incompatibility.
>
> I was thinking this would only revert the RNG seed pieces which have
> negligible user impact.

I'm pretty sure -dtb is used by nobody...

Jason