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
Loading
Please register or sign in to comment