Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758063Ab2EANx7 (ORCPT ); Tue, 1 May 2012 09:53:59 -0400 Received: from mail-vx0-f174.google.com ([209.85.220.174]:40322 "EHLO mail-vx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755661Ab2EANx6 convert rfc822-to-8bit (ORCPT ); Tue, 1 May 2012 09:53:58 -0400 MIME-Version: 1.0 In-Reply-To: <201205011333.q41DXsK7026759@farm-0013.internal.tilera.com> References: <201204291936.q3TJa4Mv008924@farm-0027.internal.tilera.com> <20120501131413.GA11435@suse.de> <201205011333.q41DXsK7026759@farm-0013.internal.tilera.com> Date: Tue, 1 May 2012 21:53:58 +0800 Message-ID: Subject: Re: [PATCH] hugetlb: avoid gratuitous BUG_ON in hugetlb_fault() -> hugetlb_cow() From: Hillf Danton To: Chris Metcalf Cc: Hugh Dickins , Mel Gorman , Andrew Morton , Michal Hocko , KAMEZAWA Hiroyuki , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1656 Lines: 37 On Mon, Apr 30, 2012 at 3:04 AM, Chris Metcalf wrote: > Commit 66aebce747eaf added code to avoid a race condition by > elevating the page refcount in hugetlb_fault() while calling > hugetlb_cow().  However, one code path in hugetlb_cow() includes > an assertion that the page count is 1, whereas it may now also > have the value 2 in this path.  Consensus is that this BUG_ON > has served its purpose, so rather than extending it to cover both > cases, we just remove it. > > Signed-off-by: Chris Metcalf > --- Acked-by: Hillf Danton >  mm/hugetlb.c |    1 - >  1 files changed, 0 insertions(+), 1 deletions(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index cd65cb1..baaad5d 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -2498,7 +2498,6 @@ retry_avoidcopy: >                if (outside_reserve) { >                        BUG_ON(huge_pte_none(pte)); >                        if (unmap_ref_private(mm, vma, old_page, address)) { > -                               BUG_ON(page_count(old_page) != 1); >                                BUG_ON(huge_pte_none(pte)); >                                spin_lock(&mm->page_table_lock); >                                ptep = huge_pte_offset(mm, address & huge_page_mask(h)); > -- > 1.6.5.2 > -- 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/