From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrea Arcangeli Date: Wed, 21 Apr 2010 20:58:07 +0000 Subject: Re: [patch] ksm: check for ERR_PTR from follow_page() Message-Id: <20100421205807.GV32034@random.random> List-Id: References: <20100421102759.GA29647@bicker> <4BCF18A8.8080809@redhat.com> <20100421174615.GO32034@random.random> <20100421205305.GO20640@cmpxchg.org> In-Reply-To: <20100421205305.GO20640@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Johannes Weiner Cc: Rik van Riel , Dan Carpenter , Izik Eidus , Hugh Dickins , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel-janitors@vger.kernel.org, Andrew Morton On Wed, Apr 21, 2010 at 10:53:05PM +0200, Johannes Weiner wrote: > Check below that loop. If it returns non-null, the first check is > whether it IS_ERR(). Indeed. > + * Returns the mapped (struct page *), %NULL if no mapping exists, or > + * an error pointer if there is a mapping to something not represented > + * by a page descriptor (see also vm_normal_page()). where exactly in vm_normal_page? Note I already checked vm_normal_page before sending the prev email and I didn't immediately see. I search return and they all return NULL except the return pfn_to_page(pfn), so is pfn_to_page that returns -EFAULT (the implementations I checked don't but there are plenty that I didn't check...).