Re: [PATCH] hugetlb: release pages in the error path of hugetlb_cow()

Andrea Arcangeli
2011-11-11T17:23:11Z

On Fri, Nov 11, 2011 at 09:01:20PM +0800, Hillf Danton wrote:
> If fail to prepare anon_vma, {new, old}_page should be released, or they will
> escape the track and/or control of memory management.
>
> Thanks
>
> Signed-off-by: Hillf Danton <dhillf@gmail.com>
> ---
>
> --- a/mm/hugetlb.c Fri Nov 11 20:36:32 2011
> +++ b/mm/hugetlb.c Fri Nov 11 20:43:06 2011
> @@ -2422,6 +2422,8 @@ retry_avoidcopy:
> * anon_vma prepared.
> */
> if (unlikely(anon_vma_prepare(vma))) {
> + page_cache_release(new_page);
> + page_cache_release(old_page);
> /* Caller expects lock to be held */
> spin_lock(&mm->page_table_lock);
> return VM_FAULT_OOM;

Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>