Xen MMU's requirement to pin pages RO and initial_memory_mapping.

From: Konrad Rzeszutek Wilk
Date: Fri May 13 2011 - 11:30:37 EST


aka, remove the hack added by git commit 609cfda586c7fe3e5d1a02c51edb587506294167
(Merge branch 'stable/bug-fixes-for-rc5' of git://git.kernel.org/../xen)

One idea that is on the table was proposed by Yinghai:
"Xen should set RAM for page-table to RO after init_memory mapping."

In other words, don't do the magic 'mask_rw_pte' when set_pte is called.
(and don't do the calls to make_lowmem_page_readonly when allocating
the PTE table, nor PMD, nor PUD) - I think?

But instead do:
a). when we load the cr3? We could go through the whole pagetable and
set the RO as we need?
b). when we are finished with the creation of a page table? So similary
to the point above - don't set the RO on the pages until we have completed
the full creation of the page.
c). when post_allocator_start is called?
d). other ideas?

But I vaguelly recall that we are using the page table as we are adding in the
entries. And that we are pinning them as well. Perhaps the trigger to scan the
pagetable and set them to RO should be done .. at what point? When the PUD/PMD
allocations are done? And when PUD/PMD are set?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/