)]}'
{
  "commit": "c4ea95d7cd08d9ffd7fa75e6c5e0332d596dd11e",
  "tree": "528a94f26b4e2bc1ca8652a6dfa9a34d746c4d4f",
  "parents": [
    "2022b4d18a491a578218ce7a4eca8666db895a73"
  ],
  "author": {
    "name": "Daniel Forrest",
    "email": "dan.forrest@ssec.wisc.edu",
    "time": "Tue Dec 02 15:59:42 2014 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Dec 03 09:36:04 2014 -0800"
  },
  "message": "mm: fix anon_vma_clone() error treatment\n\nAndrew Morton noticed that the error return from anon_vma_clone() was\nbeing dropped and replaced with -ENOMEM (which is not itself a bug\nbecause the only error return value from anon_vma_clone() is -ENOMEM).\n\nI did an audit of callers of anon_vma_clone() and discovered an actual\nbug where the error return was being lost.  In __split_vma(), between\nLinux 3.11 and 3.12 the code was changed so the err variable is used\nbefore the call to anon_vma_clone() and the default initial value of\n-ENOMEM is overwritten.  So a failure of anon_vma_clone() will return\nsuccess since err at this point is now zero.\n\nBelow is a patch which fixes this bug and also propagates the error\nreturn value from anon_vma_clone() in all cases.\n\nFixes: ef0855d334e1 (\"mm: mempolicy: turn vma_set_policy() into vma_dup_policy()\")\nSigned-off-by: Daniel Forrest \u003cdan.forrest@ssec.wisc.edu\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Konstantin Khlebnikov \u003ckoct9i@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Tim Hartrick \u003ctim@edgecast.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.12+]\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": "87e82b38453c2cbca83f1dd7ad472c02b6a73b77",
      "old_mode": 33188,
      "old_path": "mm/mmap.c",
      "new_id": "ae919891a087e0d7f3a76c5b47f4f1d8326f6dfa",
      "new_mode": 33188,
      "new_path": "mm/mmap.c"
    },
    {
      "type": "modify",
      "old_id": "19886fb2f13aac6a659ba1ae8b9e4db2f8efa7a4",
      "old_mode": 33188,
      "old_path": "mm/rmap.c",
      "new_id": "3e4c7213210c6f22a0da6f88c13689a9c99b92f1",
      "new_mode": 33188,
      "new_path": "mm/rmap.c"
    }
  ]
}
