)]}'
{
  "commit": "325b7cac226324c9c523d12da5121f0ff91da0ec",
  "tree": "ca28023bed1702309efcedb77b46b3eb1611d68a",
  "parents": [
    "e1f4a01157c08df1b0076595bfebe8564623505f"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Sun Jan 08 15:42:50 2017 -0500"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Mon Jan 09 19:01:40 2017 -0500"
  },
  "message": "srv: Support remove on close\n\nNote that the O_REMCLO only applies to the chan/file *created* in srv,\nnot the ones made from *opening* a file in srv.  When someone opens a\nchan/file in srv, that FD points to a new chan from another device,\n(e.g. a pipe), and when *that* FD is closed, we call *that* device\u0027s\nclose.\n\nI don\u0027t know what the deal was with O_REMCLO and the commented-out code.\nAll in all, srv needs a good security review, and optionally a port from\nPlan 9.  This one was written since the Inferno one didn\u0027t seem to do\nwhat we needed.\n\nAlso, srv should have some security checks on setting REMCLO, equivalent\nto what we do for remove.  Right now, we have no checks on that, so\nwhatever.  Also, due to srv\u0027s implementation, you can only set REMCLO on\ncreate(), which means a process was the creator.  It seems reasonable to\nallow the creator to also remove.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ba4e1445f1984d5ccb135ceabdc2fd1f5330d623",
      "old_mode": 33188,
      "old_path": "kern/drivers/dev/srv.c",
      "new_id": "c3d2f658e837c8df2e7e5fb8834da29c814af9d8",
      "new_mode": 33188,
      "new_path": "kern/drivers/dev/srv.c"
    }
  ]
}
