Re: [PATCH] x86/unaccepted_memory: Do not accept ranges that are no longer E820 RAM

From: Gupta, Pankaj

Date: Tue Nov 03 2026 - 07:09:05 EST


Can we just disallow memmap= when running in a confidential VM?
My experiments showed: memmap itself don't have a problem but memap
with a hole is causing crash.

There might be some usecases which are already using this, e.g:

https://lore.kernel.org/all/20261029-cma-multi-v1-0-2cbced8b5cb7@xxxxxxxxxx/


Its also good to have a general safeguard to not accept memory that is
not marked as RAM in e820?

Personally, I think all these command line hacks should be avoided in
confidential VMs, on the basis that the firmware's view of memory should
be in sync with the OS.
Fair enough. I can post a separate on top RFC patch to disable memmap= holes completely
for confidential guests and see if anybody objects.

That said, this patch fixes a real crash with memmap= holes functionality in confidential guests today,
and should be backported to stable kernels as well. It also hardens the existing code to only accept the
e820 RAM regions.

Thanks for having a look!

Pankaj