On Sun, Jun 6, 2010 at 9:00 PM, Siarhei Liakh <sliakh.lkml@xxxxxxxxx> wrote: > This patch fixes a bug in try_preserve_large_page() which may result > in improper large page preservation and improper application of page > attributes to the memory area outside of the original change request. > More specifically, the problem manifests itself when set_memory_*() is > called for several pages at the beginning of the large page and > try_preserve_large_page() erroneously concludes that the change can be > applied to whole large page. > The fix consists of 3 parts: > 1. addition of "required" protection attributes in > static_protections(), so .data and .bss can be guaranteed to stay "RW" > 2. static_protections() is now called for every small page within > large page to determine compatibility of new protection attributes > (instead of just small pages within the requested range). > 3. large page can be preserved only if attribute change is > large-page-aligned and covers whole large page. > > V1: try_preserve_large_page() patch for Linux 2.6.34-rc2 > V2: replaced pfn check with address check for kernel rw-data > > Signed-off-by: Siarhei Liakh <sliakh.lkml@xxxxxxxxx> > Signed-off-by: Xuxian Jiang <jiang@xxxxxxxxxxx> > Reviewed-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> > --- Does anyone have any feedback on this patch set? Thank you. -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html