[Bug 16] malfunction of __clear_pt_page when a virtual address is accessed and at that time the corresponding PDTE is invalid: FIX large page issue
This commit is contained in:
@ -385,6 +385,11 @@ static int __clear_pt_page(struct page_table *pt, void *virt, int largepage)
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ((pt->entry[l2idx] & PFL2_PRESENT)) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
pt = phys_to_virt(pt->entry[l2idx] & PAGE_MASK);
|
||||
|
||||
pt->entry[l1idx] = 0;
|
||||
|
||||
Reference in New Issue
Block a user