)]}'
{
  "commit": "95042f9eb78a8d9a17455e2ef263f2f310ecef15",
  "tree": "ac9fe0a5e17c4b94b18b84338ffbeca2cee140cb",
  "parents": [
    "be85bccaa5aa5a11dcaf85f9e945ffefd253f631"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Apr 12 14:15:51 2011 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Apr 12 14:15:51 2011 -0700"
  },
  "message": "vm: fix mlock() on stack guard page\n\nCommit 53a7706d5ed8 (\"mlock: do not hold mmap_sem for extended periods\nof time\") changed mlock() to care about the exact number of pages that\n__get_user_pages() had brought it.  Before, it would only care about\nerrors.\n\nAnd that doesn\u0027t work, because we also handled one page specially in\n__mlock_vma_pages_range(), namely the stack guard page.  So when that\ncase was handled, the number of pages that the function returned was off\nby one.  In particular, it could be zero, and then the caller would end\nup not making any progress at all.\n\nRather than try to fix up that off-by-one error for the mlock case\nspecially, this just moves the logic to handle the stack guard page\ninto__get_user_pages() itself, thus making all the counts come out\nright automatically.\n\nReported-by: Robert Święcki \u003crobert@swiecki.net\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9da8cab1b1b0abceae9569a794447f3ddb0c1134",
      "old_mode": 33188,
      "old_path": "mm/memory.c",
      "new_id": "b623a249918c95a819e4b3f1b7c0814d24f78a03",
      "new_mode": 33188,
      "new_path": "mm/memory.c"
    },
    {
      "type": "modify",
      "old_id": "2689a08c79affabda1e46b65271c60e3ba653ab7",
      "old_mode": 33188,
      "old_path": "mm/mlock.c",
      "new_id": "6b55e3efe0df4ebd9aafd71e9317bc664956006f",
      "new_mode": 33188,
      "new_path": "mm/mlock.c"
    }
  ]
}
