summaryrefslogtreecommitdiffstats
path: root/arch/mips/powertv/memory.c
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-08-17 22:43:28 +0200
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-08-23 16:14:52 +0200
commitc96aae1f7f393387d160211f60398d58463a7e65 (patch)
treed8f41f596cdd974ccca13d146188265096c3bf9e /arch/mips/powertv/memory.c
parentxen/p2m: Reuse existing P2M leafs if they are filled with 1:1 PFNs or INVALID. (diff)
downloadlinux-c96aae1f7f393387d160211f60398d58463a7e65.tar.xz
linux-c96aae1f7f393387d160211f60398d58463a7e65.zip
xen/setup: Fix one-off error when adding for-balloon PFNs to the P2M.
When we are finished with return PFNs to the hypervisor, then populate it back, and also mark the E820 MMIO and E820 gaps as IDENTITY_FRAMEs, we then call P2M to set areas that can be used for ballooning. We were off by one, and ended up over-writting a P2M entry that most likely was an IDENTITY_FRAME. For example: 1-1 mapping on 40000->40200 1-1 mapping on bc558->bc5ac 1-1 mapping on bc5b4->bc8c5 1-1 mapping on bc8c6->bcb7c 1-1 mapping on bcd00->100000 Released 614 pages of unused memory Set 277889 page(s) to 1-1 mapping Populating 40200-40466 pfn range: 614 pages added => here we set from 40466 up to bc559 P2M tree to be INVALID_P2M_ENTRY. We should have done it up to bc558. The end result is that if anybody is trying to construct a PTE for PFN bc558 they end up with ~PAGE_PRESENT. CC: stable@vger.kernel.org Reported-by-and-Tested-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/mips/powertv/memory.c')
0 files changed, 0 insertions, 0 deletions