)]}'
{
  "commit": "3b6748e2dd69906af3835db4dc9d1c8a3ee4c68c",
  "tree": "5d5476844f8e29e31684ce8ccf7e163ab3182ad6",
  "parents": [
    "03668a4debf4f50de55c34b6e66dae63e1c73716"
  ],
  "author": {
    "name": "Johannes Weiner",
    "email": "hannes@cmpxchg.org",
    "time": "Tue Jun 16 15:32:35 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Jun 16 19:47:40 2009 -0700"
  },
  "message": "mm: introduce follow_pfn()\n\nAnaloguous to follow_phys(), add a helper that looks up the PFN at a\nuser virtual address in an IO mapping or a raw PFN mapping.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\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": "7b548e7cfbd9c2452f6888913ac9179678bb1414",
      "old_mode": 33188,
      "old_path": "include/linux/mm.h",
      "new_id": "c80dbd4a62c62b11d0a5391a27e9394a4699a986",
      "new_mode": 33188,
      "new_path": "include/linux/mm.h"
    },
    {
      "type": "modify",
      "old_id": "24ff20480bb7273eb3e57d276b5b9e197d8171b9",
      "old_mode": 33188,
      "old_path": "mm/memory.c",
      "new_id": "d5d1653d60a6be51a4ba74de53fd997d8b0bc94c",
      "new_mode": 33188,
      "new_path": "mm/memory.c"
    }
  ]
}
