Re: [PATCH] mm: hugetlb: undo change to page mapcount in faulthandler

From: Andrew Morton
Date: Wed Jan 04 2012 - 18:16:38 EST


On Fri, 23 Dec 2011 21:00:41 +0800
Hillf Danton <dhillf@xxxxxxxxx> wrote:

> Page mapcount should be updated only if we are sure that the page ends
> up in the page table otherwise we would leak if we couldn't COW due to
> reservations or if idx is out of bounds.

It would be much nicer if we could run vma_needs_reservation() before
even looking up or allocating the page.

And afaict the interface is set up to do that: you run
vma_needs_reservation() before allocating the page and then
vma_commit_reservation() afterwards.

But hugetlb_no_page() and hugetlb_fault() appear to have forgotten to
run vma_commit_reservation() altogether. Why isn't this as busted as
it appears to be?
--
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/