/proc/<pid>/smaps should not be looking at VM_PFNMAP areas. Certain tests in show_smap() (especially for huge pages) assume that 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.
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 - probably several out-of-tree modules I'm copying everyone who has changed fs/proc/task_mmu.c recently, in case of some reason to provide /proc/<pid>/smaps for these areas that I am not aware of. Signed-off-by: Cliff Wickman <c...@sgi.com> --- fs/proc/task_mmu.c | 3 +++ 1 file changed, 3 insertions(+) Index: linux/fs/proc/task_mmu.c =================================================================== --- linux.orig/fs/proc/task_mmu.c +++ linux/fs/proc/task_mmu.c @@ -589,6 +589,9 @@ static int show_smap(struct seq_file *m, .private = &mss, }; + if (vma->vm_flags & VM_PFNMAP) + return 0; + memset(&mss, 0, sizeof mss); mss.vma = vma; /* mmap_sem is held in m_start */ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/