Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3cdcadd authored by Isaac J. Manjarres's avatar Isaac J. Manjarres
Browse files

ARM: dts: msm: Use a carveout for memshare memory

The memshare driver currently uses CMA memory for its usecases. This
is problematic, as CMA memory has a normal cached mapping in the kernel,
which allows for speculative access. This makes it possible for a
speculative cache-line fill to occur, prior to the memory being unmapped
from the stage-2 page tables of Linux, as well as XPU protected. The
cache-line can later be evicted, while the memory is still XPU protected.
This results in a write to the system cache, which is blocked by the XPU,
resulting in an XPU violation.

Given the nature of the memshare usecases (i.e. the memory is allocated
once, and never given back to Linux), move the memshare driver to using
a carveout. Using a carveout makes it so that there are no normal cached
mappings in the kernel for the memory, which prevents speculative
cache-line fills from occurring.

Change-Id: I97e2fe144c8fde364ecd40fdd181a881ca93c4b1
parent 0fa79835
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment