)]}'
{
  "commit": "a9ff785e4437c83d2179161e012f5bdfbd6381f0",
  "tree": "5aa1ae9e8a721903a0ad337a233cffce2806ea00",
  "parents": [
    "43c523bff7c3b47506d536c10637be8399dfd85f"
  ],
  "author": {
    "name": "Cliff Wickman",
    "email": "cpw@sgi.com",
    "time": "Fri May 24 15:55:36 2013 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Fri May 24 16:22:53 2013 -0700"
  },
  "message": "mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas\n\nA panic can be caused by simply cat\u0027ing /proc/\u003cpid\u003e/smaps while an\napplication has a VM_PFNMAP range.  It happened in-house when a\nbenchmarker was trying to decipher the memory layout of his program.\n\n/proc/\u003cpid\u003e/smaps and similar walks through a user page table should not\nbe looking at VM_PFNMAP areas.\n\nCertain tests in walk_page_range() (specifically split_huge_page_pmd())\nassume that all the mapped PFN\u0027s are backed with page structures.  And\nthis is not usually true for VM_PFNMAP areas.  This can result in panics\non kernel page faults when attempting to address those page structures.\n\nThere are a half dozen callers of walk_page_range() that walk through a\ntask\u0027s entire page table (as N.  Horiguchi pointed out).  So rather than\nchange all of them, this patch changes just walk_page_range() to ignore\nVM_PFNMAP areas.\n\nThe logic of hugetlb_vma() is moved back into walk_page_range(), as we\nwant to test any vma in the range.\n\nVM_PFNMAP areas are used by:\n- graphics memory manager   gpu/drm/drm_gem.c\n- global reference unit     sgi-gru/grufile.c\n- sgi special memory        char/mspec.c\n- and probably several out-of-tree modules\n\n[akpm@linux-foundation.org: remove now-unused hugetlb_vma() stub]\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nReviewed-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Dave Hansen \u003cdave.hansen@intel.com\u003e\nCc: David Sterba \u003cdsterba@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill.shutemov@linux.intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "35aa294656cd812d2773fede0d51179a8b7ee09a",
      "old_mode": 33188,
      "old_path": "mm/pagewalk.c",
      "new_id": "5da2cbcfdbb56b0e9f4fe27d6e04137e59dfce3b",
      "new_mode": 33188,
      "new_path": "mm/pagewalk.c"
    }
  ]
}
