[PATCH stable 6.1.y 1/2] KVM: arm64: Prevent the donation of no-map pages

Jitindar Singh, Suraj surajjs at amazon.com
Thu Sep 21 15:22:54 PDT 2023


On Thu, 2023-09-21 at 08:13 +0100, Marc Zyngier wrote:
> On Wed, 20 Sep 2023 20:27:28 +0100,
> Suraj Jitindar Singh <surajjs at amazon.com> wrote:
> > 
> > From: Quentin Perret <qperret at google.com>
> > 
> > commit 43c1ff8b75011bc3e3e923adf31ba815864a2494 upstream.
> > 
> > Memory regions marked as "no-map" in the host device-tree routinely
> > include TrustZone carev-outs and DMA pools. Although donating such
> > pages
> > to the hypervisor may not breach confidentiality, it could be used
> > to
> > corrupt its state in uncontrollable ways. To prevent this, let's
> > block
> > host-initiated memory transitions targeting "no-map" pages
> > altogether in
> > nVHE protected mode as there should be no valid reason to do this
> > in
> > current operation.
> > 
> > Thankfully, the pKVM EL2 hypervisor has a full copy of the host's
> > list
> > of memblock regions, so we can easily check for the presence of the
> > MEMBLOCK_NOMAP flag on a region containing pages being donated from
> > the
> > host.
> > 
> > Reviewed-by: Philippe Mathieu-Daudé <philmd at linaro.org>
> > Tested-by: Vincent Donnefort <vdonnefort at google.com>
> > Signed-off-by: Quentin Perret <qperret at google.com>
> > Signed-off-by: Will Deacon <will at kernel.org>
> > Signed-off-by: Marc Zyngier <maz at kernel.org>
> > Link:
> > https://lore.kernel.org/r/20221110190259.26861-8-will@kernel.org
> > [ bp: clean ]
> 
> What is this?

Noting any details about the backport. In this case it was a clean
backport.

> 
> > Signed-off-by: Suraj Jitindar Singh <surajjs at amazon.com>
> 
> What is the rationale for backporting this? It wasn't tagged as Cc:
> to
> stable for a reason: pKVM isn't functional upstream, and won't be for
> the next couple of cycles *at least*.
> 
> So at it stands, I'm against such a backport.
> 

The 2 patches were backported to address CVE-2023-21264.
This one provides context for the proceeding patch.

I wasn't aware that it's non functional. Does this mean that the code
won't be compiled or just that it can't actually be run currently from
the upstream codebase?

I guess I'm trying to understand if the conditions of the CVE are a
real concern even if it isn't technically functional.

Thanks

> Thanks,
> 
>         M.
> 



More information about the linux-arm-kernel mailing list