)]}'
{
  "commit": "25412491e9e43d27d9c50aea09a106e4876f108e",
  "tree": "a3100ce8969e56f921ddf8cfc4133fd7c84ce22f",
  "parents": [
    "6c954707b3c7dddbeca90750ee54d26b0095544c"
  ],
  "author": {
    "name": "Andrea Arcangeli",
    "email": "aarcange@redhat.com",
    "time": "Wed Sep 20 20:07:00 2017 +0200"
  },
  "committer": {
    "name": "Andrea Arcangeli",
    "email": "aarcange@redhat.com",
    "time": "Tue Jan 09 15:30:12 2018 +0100"
  },
  "message": "userfaultfd: switch to exclusive wakeup for blocking reads\n\nThe uffd can\u0027t short-read. Lengths not multiple of sizeof(struct\nuffd_msg) immediately return -EINVAL. The userfaults aren\u0027t\nbroadcasted to all readers.\n\nread will return one or more events, sizeof(struct uffd_msg). Signal\ninterruptions only are reported if it\u0027s about to block and it found\nnothing.\n\nEvery new userfault blocking (and at max 1 event to read is generated\nfor each new blocking userfaults) wakes one more reader, and each\nreader is guaranteed to be blocked only if the pending (pending as not\nread yet) waitqueue is truly empty.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8e1a38adcd9c2cba89616e4cc54651f57817bab",
      "old_mode": 33188,
      "old_path": "fs/userfaultfd.c",
      "new_id": "d3fbab1e22b0b33bd9a0289256a38c9853ab3260",
      "new_mode": 33188,
      "new_path": "fs/userfaultfd.c"
    }
  ]
}
