On Thu, 06 Jun, at 03:24:06PM, Borislav Petkov wrote: > On Thu, Jun 06, 2013 at 11:22:33AM +0100, Matt Fleming wrote: > > > @@ -697,7 +714,10 @@ static int __change_page_attr(struct cpa_data *cpa, int primary) > > > else > > > address = *cpa->vaddr; > > > repeat: > > > - kpte = lookup_address(address, &level); > > > + if (cpa->pgd) > > > + kpte = __lookup_address_in_pgd(cpa->pgd, address, &level); > > > + else > > > + kpte = _lookup_address_cpa(cpa, address, &level); > > > > Don't you also need to initialise .pgd in __set_pages_p() and > > __set_pages_np()? > > Hmm, I don't think so. The idea is to leave the current functionality in > pageattr.c untouched. Currently, it maps PTEs in init_mm.pgd by default > because this is the kernel PGD. I meant because the .pgd member is uninitialised and contains garbage. -- Matt Fleming, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html