Re: [PATCH RESEND] x86/resource: Do not exclude regions that are marked as MMIO in EFI memmap

From: Bjorn Helgaas
Date: Fri Oct 08 2021 - 06:56:42 EST


[+cc linux-pci]

On Fri, Oct 08, 2021 at 11:45:38AM +0200, Borislav Petkov wrote:
> On Fri, Oct 08, 2021 at 12:23:31PM +0300, Mika Westerberg wrote:
> > Hi,
> >
> > On Fri, Oct 08, 2021 at 10:55:49AM +0200, Werner Sembach wrote:
> > > Is there any update on this matter? Also happens on discrete Thunderbolt 4 chips:
> > > https://bugzilla.kernel.org/show_bug.cgi?id=214259
> >
> > AFAICT no updates.
> >
> > @Bjorn, x86 maintainers,
> >
> > If there are no alternatives can we get this patch merged so that people
> > don't need to carry out-of-tree patches to get their systems working?
>
> Just my 2¢ from briefly skimming over this:
>
> So this reads yet again as BIOS is to blame but what else is new?
>
> "All in all, I think we can fix this by modifying
> arch_remove_reservations() to check the EFI type as well and if it is
> EFI_MEMORY_MAPPED_IO skip the clipping in that case."
>
> And this like we should trust EFI to mark those regions properly, which
> is more of the same but in different color.
>
> That original commit talks about windoze doing a different allocation
> scheme and thus not trusting the untrustworthy firmware anyway and that
> sounds like something we should do too. But WTH do I know?!

There are a couple other threads reporting similar issues:

https://lore.kernel.org/r/20210624095324.34906-1-hui.wang@xxxxxxxxxxxxx
https://lore.kernel.org/r/20211005150956.303707-1-hdegoede@xxxxxxxxxx

I think 4dc2287c1805 ("x86: avoid E820 regions when allocating address
space") was a mistake and we should remove that instead of adding more
complexity to it.

But that requires another approach to fix the issue that 4dc2287c1805
addressed.

Bjorn