Re: [PATCH] powerpc: mm: Limit rma_size to 1TB when running without HV mode
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2019-07-15 02:25:59
Suraj Jitindar Singh [off-list ref] writes:
On Fri, 2019-07-12 at 23:09 +1000, Michael Ellerman wrote:quoted
Suraj Jitindar Singh [off-list ref] writes:quoted
The virtual real mode addressing (VRMA) mechanism is used when a partition is using HPT (Hash Page Table) translation and performs real mode accesses (MSR[IR|DR] = 0) in non-hypervisor mode. In this mode effective address bits 0:23 are treated as zero (i.e. the access is aliased to 0) and the access is performed using an implicit 1TB SLB entry. The size of the RMA (Real Memory Area) is communicated to the guest as the size of the first memory region in the device tree. And because of the mechanism described above can be expected to not exceed 1TB. In the event that the host erroneously represents the RMA as being larger than 1TB, guest accesses in real mode to memory addresses above 1TB will be aliased down to below 1TB. This means that a memory access performed in real mode may differ to one performed in virtual mode for the same memory address, which would likely have unintended consequences. To avoid this outcome have the guest explicitly limit the size of the RMA to the current maximum, which is 1TB. This means that even if the first memory block is larger than 1TB, only the first 1TB should be accessed in real mode. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>I added: Fixes: c3ab300ea555 ("powerpc: Add POWER9 cputable entry") Cc: stable@vger.kernel.org # v4.6+ Which is not exactly correct, but probably good enough?I think we actually want: Fixes: c610d65c0ad0 ("powerpc/pseries: lift RTAS limit for hash") Which is what actually caused it to break and for the issue to present itself.
Thanks, I used that instead. cheers