)]}'
{
  "commit": "d9d5899d33d74df4e3375635d480496d43e758c3",
  "tree": "ec54e27e39ab27247e899a73bb20eb2dd69df022",
  "parents": [
    "598870e5d3566dce00516a5b585bbda4da203904"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Mar 01 20:13:31 2019 -0500"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Mar 01 20:16:11 2019 -0500"
  },
  "message": "Fix data leak in fs_file_write()\n\nThe user could give write() the valid address of a non-resident page,\nparticularly one in a file-backed region.  The kernel would fail to read\nfrom it, and thus not write any data into the page cache.  The page\ncache page is uninitialized, and thus contains arbitrary kernel data.\n\nThis is a stopgap, until I sort out handling page faults in the kernel -\nparticularly on file-backed virtual addresses.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9659b8dbab9567d2193930c4376224a4889b9d98",
      "old_mode": 33188,
      "old_path": "kern/include/umem.h",
      "new_id": "3ff2118453faaac488811bb9bdfe2ffb700a76e3",
      "new_mode": 33188,
      "new_path": "kern/include/umem.h"
    },
    {
      "type": "modify",
      "old_id": "09aa0739c6e54682e093892746690a1a21396243",
      "old_mode": 33188,
      "old_path": "kern/src/ns/fs_file.c",
      "new_id": "d1a40869ff14ec6a6762ec5573887c68364d3b6a",
      "new_mode": 33188,
      "new_path": "kern/src/ns/fs_file.c"
    },
    {
      "type": "modify",
      "old_id": "0baea20f2a43d939bcb2d5eb5f49002e22811e2a",
      "old_mode": 33188,
      "old_path": "kern/src/umem.c",
      "new_id": "fea17ad9a2dd822d189ff7d8715f9ce6ef2c7072",
      "new_mode": 33188,
      "new_path": "kern/src/umem.c"
    }
  ]
}
