Re: [PATCH 08/10] efi/x86: Drop soft_limit for x86 initrd loading

From: Arvind Sankar
Date: Wed Apr 29 2020 - 17:33:57 EST


On Wed, Apr 29, 2020 at 09:05:51PM +0200, Ard Biesheuvel wrote:
> On Wed, 29 Apr 2020 at 19:41, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
> >
> > Currently the EFI stub attempts to load initrd(s) specified on the
> > command line below hdr->initrd_addr_max (2G) and if that fails, falls
> > back to allocating at an unrestricted address.
> >
> > The only case when loading at a low address helps is for the 32-bit
> > kernel, where the initrd must be copied by the kernel into lowmem if
> > it's not there already. The limit specified in hdr->initrd_addr_max is
> > insufficient to ensure this in any case, since lowmem by default will
> > extend to about 0.9G rather than 2G, and we don't attempt to load the
> > initrd in lowmem at all for the new device-path based initrd.
> >
> > Simplify the code by dropping this optimization for the command line
> > initrd(s) as well.
> >
> > Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx>
>
> It is not really an optimization, unfortunately. Commit 47226ad4f4cfd
> has the details, but in short, loading above 4 GB broke some
> platforms, so below 4 GB had to remain the default.
>
> This was 6 years ago, and so we might be able to revisit this, but
> characterising it as a mere optimization is inaccurate.
>

Drat. Ok so I guess this patch has to be dropped then.