RE: hugepage: Fix hugepage logic in free_pgtables()

From: Chen, Kenneth W
Date: Thu Mar 02 2006 - 16:28:09 EST


Hugh Dickins wrote on Thursday, March 02, 2006 12:27 PM
> But the first part, || instead of && in is_hugepage_only_range, looks
> insufficient: the start and end of the range might each fall in a
> non-huge region, but the range still cross a huge region.
>
> Ah, does RGN_HPAGE nestle up against the TASK_SIZE roof, so any range
> already tested against TASK_SIZE (as get_unmapped_area has) cannot
> cross RGN_HPAGE? If so, perhaps it deserves a comment there. And
> if that is so, and can be relied upon, is_hugepage_only_range need
> only be testing REGION_NUMBER(addr+len-1) - but it does seem fragile.

There are many address range check before we hit get_unmapped area.
ia64 can never have a vma range that crosses region boundary. David
pointed out earlier that shmat and mremap can still slip through the
crack and he has a patch that fixed it. But yes, this patch is making
that assumption (or relying on checks being done properly beforehand).

- Ken

-
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/