)]}'
{
  "commit": "0c193886b8ae3c92ea8741a82bcec41856b987e2",
  "tree": "6ffa4a08938028dc6ab74110290f3da7157a0311",
  "parents": [
    "e320a9857a678c229613cedb55bc43f15032f7a6"
  ],
  "author": {
    "name": "Naoya Horiguchi",
    "email": "n-horiguchi@ah.jp.nec.com",
    "time": "Thu May 22 11:54:21 2014 -0700"
  },
  "committer": {
    "name": "flintman",
    "email": "flintman@flintmancomputers.com",
    "time": "Sat Jan 24 14:14:17 2015 -0500"
  },
  "message": "mm/memory-failure.c: fix memory leak by race between poison and unpoison\n\ncommit 3e030ecc0fc7de10fd0da10c1c19939872a31717 upstream.\n\nWhen a memory error happens on an in-use page or (free and in-use)\nhugepage, the victim page is isolated with its refcount set to one.\n\nWhen you try to unpoison it later, unpoison_memory() calls put_page()\nfor it twice in order to bring the page back to free page pool (buddy or\nfree hugepage list).  However, if another memory error occurs on the\npage which we are unpoisoning, memory_failure() returns without\nreleasing the refcount which was incremented in the same call at first,\nwhich results in memory leak and unconsistent num_poisoned_pages\nstatistics.  This patch fixes it.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bc9b3dea90a86cde37d3afe42ca708c2c0327c82",
      "old_mode": 33188,
      "old_path": "mm/memory-failure.c",
      "new_id": "7b376f63f8fd5c49f9a818768e4e0264869db7e1",
      "new_mode": 33188,
      "new_path": "mm/memory-failure.c"
    }
  ]
}
