Messages in this thread | | | Date | Wed, 17 May 2006 18:42:32 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [PATCH] Fix do_mlock so page alignment is to hugepage boundries when needed |
| |
On Wed, 17 May 2006, Eric Paris wrote: > sys_m{,un}lock and do_mlock all align memory references and the length > of the mlock given by userspace to page boundaries. If the page being > mlocked is a hugepage instead of a normal page the start and finish of > the mlock will still only be aligned to normal page boundaries. > Ultimately upon the process exiting we will eventually call unmap_vmas > which will call unmap_hugepage_range for all of the ranges. > unmap_hugepage_range checks to make sure the beginning and the end of > the range are actually hugepage aligned and if not will BUG(). Since we > only aligned to a normal page boundary the end of the first range and > the beginning of the second will likely (unless userspace passed of > values already hugepage aligned) not be hugepage aligned and thus we > bomb.
When did you test this? It should have been fixed in 2.6.11 onwards by split_vma()'s simple:
if (is_vm_hugetlb_page(vma) && (addr & ~HPAGE_MASK)) return -EINVAL;
Hugh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |