)]}'
{
  "commit": "8ce32bf08819c991977c67296eb8ed79696aaaaf",
  "tree": "215794f8822955eac1588ce9d62ec7c804b7e009",
  "parents": [
    "8b4e389296c5ed5e3a3c5c3fc0a6bc9fafd3d26b"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Wed Nov 06 13:25:25 2019 -0500"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Wed Nov 06 13:43:32 2019 -0500"
  },
  "message": "Unmap pages mapped during a failed fill_vmr()\n\nIf we get part of the way through filling the VMR with the parent\u0027s\ncontents, but then run out of memory, we were leaving the old,\nsuccessful PTE mappings behind.  The VMR would be freed and never\nadded to the proc\u0027s list, so we wouldn\u0027t unmap it during __proc_free().\nHowever, our assert would catch that the process still has mapped pages\nthat weren\u0027t a part of any VMR.\n\nI\u0027m not 100% that this is what happened with syzkaller, but it\u0027s a\nlikely scenario, especially since other bugs it found recently are due\nto running low/out of memory.\n\nReported-by: syzbot+28ec6ca66d7b660fbf4d@syzkaller.appspotmail.com\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5249ed020b50339cd04c42c155bc986257f31dd",
      "old_mode": 33188,
      "old_path": "kern/src/mm.c",
      "new_id": "648745a1e0d4d19fc685d019f43128014f114309",
      "new_mode": 33188,
      "new_path": "kern/src/mm.c"
    }
  ]
}
