)]}'
{
  "commit": "e0b057b406a33501a656dc8d67ea945d7bcdad61",
  "tree": "16132a7c59322cb1d406a07b875518a3bbd3db39",
  "parents": [
    "6afcb3b7393f5aa388a0d077c490ed411ab3cd27"
  ],
  "author": {
    "name": "Tetsuo Handa",
    "email": "penguin-kernel@I-love.SAKURA.ne.jp",
    "time": "Fri Oct 21 12:37:13 2011 +0900"
  },
  "committer": {
    "name": "James Morris",
    "email": "jmorris@namei.org",
    "time": "Sat Oct 22 21:55:26 2011 +0200"
  },
  "message": "TOMOYO: Fix incomplete read after seek.\n\nCommit f23571e8 \"TOMOYO: Copy directly to userspace buffer.\" introduced\ntomoyo_flush() that flushes data to be read as soon as possible.\ntomoyo_select_domain() (which is called by write()) enqueues data which meant\nto be read by next read(), but previous read()\u0027s read buffer\u0027s size was not\ncleared. As a result, since 2.6.36, sequence like\n\n   char *cp \u003d \"select global-pid\u003d1\\n\";\n   read(fd, buf1, sizeof(buf1));\n   write(fd, cp, strlen(cp));\n   read(fd, buf2, sizeof(buf2));\n\ncauses enqueued data to be flushed to buf1 rather than buf2.\nFix this bug by clearing read buffer\u0027s size upon write() request.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "96b7233a0df601c26bfcec6c1a58560c91f3a6ca",
      "old_mode": 33188,
      "old_path": "security/tomoyo/common.c",
      "new_id": "d41900de8a69d267dce90c66b7ef0fc21229bb48",
      "new_mode": 33188,
      "new_path": "security/tomoyo/common.c"
    }
  ]
}
