[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1368625360-cebir27q-mutt-n-horiguchi@ah.jp.nec.com>
Date: Wed, 15 May 2013 09:42:40 -0400
From: Naoya Horiguchi <n-horiguchi@...jp.nec.com>
To: Cliff Wickman <cpw@....com>
Cc: linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
mgorman@...e.de, aarcange@...hat.com, dave.hansen@...el.com,
dsterba@...e.cz, hannes@...xchg.org, kosaki.motohiro@...il.com,
kirill.shutemov@...ux.intel.com, mpm@...enic.com,
rdunlap@...radead.org
Subject: Re: [PATCH v3] mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP
areas
On Wed, May 15, 2013 at 07:46:36AM -0500, Cliff Wickman wrote:
>
> /proc/<pid>/smaps and similar walks through a user page table should not
> be looking at VM_PFNMAP areas.
>
> v2:
> - moves the VM_BUG_ON out of the loop
> - adds the needed test for vma->vm_start <= addr
>
> v3 adds comments to make this clearer, as N. Horiguchi recommends:
> > I recommend that you check VM_PFNMAP in the possible callers' side.
> > But this patch seems to solve your problem, so with properly commenting
> > this somewhere, I do not oppose it.
>
> Certain tests in walk_page_range() (specifically split_huge_page_pmd())
> assume that all the mapped PFN's are backed with page structures. And this is
> not usually true for VM_PFNMAP areas. This can result in panics on kernel
> page faults when attempting to address those page structures.
>
> There are a half dozen callers of walk_page_range() that walk through
> a task's entire page table (as N. Horiguchi pointed out). So rather than
> change all of them, this patch changes just walk_page_range() to ignore
> VM_PFNMAP areas.
>
> The logic of hugetlb_vma() is moved back into walk_page_range(), as we
> want to test any vma in the range.
>
> VM_PFNMAP areas are used by:
> - graphics memory manager gpu/drm/drm_gem.c
> - global reference unit sgi-gru/grufile.c
> - sgi special memory char/mspec.c
> - and probably several out-of-tree modules
>
> I'm copying everyone who has changed this file recently, in case
> there is some reason that I am not aware of to provide
> /proc/<pid>/smaps|clear_refs|maps|numa_maps for these VM_PFNMAP areas.
>
> Signed-off-by: Cliff Wickman <cpw@....com>
Thank you.
Reviewed-by: Naoya Horiguchi <n-horiguchi@...jp.nec.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists