)]}'
{
  "commit": "ee5daa1361fceb6f482c005bcc9ba8d01b92ea5c",
  "tree": "71736f733c7efec13218756ab8635b258b8a1c53",
  "parents": [
    "3fc928dc5308f6533d0e8004c8c63b46709a5276",
    "d85e2aa2e34dac793e70b900d865f48c69ecbc27"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sun Feb 11 13:57:19 2018 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sun Feb 11 13:57:19 2018 -0800"
  },
  "message": "Merge branch \u0027work.poll2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull more poll annotation updates from Al Viro:\n \"This is preparation to solving the problems you\u0027ve mentioned in the\n  original poll series.\n\n  After this series, the kernel is ready for running\n\n      for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do\n            L\u003d`git grep -l -w POLL$V | grep -v \u0027^t\u0027 | grep -v /um/ | grep -v \u0027^sa\u0027 | grep -v \u0027/poll.h$\u0027|grep -v \u0027^D\u0027`\n            for f in $L; do sed -i \"-es/^\\([^\\\"]*\\)\\(\\\u003cPOLL$V\\\u003e\\)/\\\\1E\\\\2/\" $f; done\n      done\n\n  as a for bulk search-and-replace.\n\n  After that, the kernel is ready to apply the patch to unify\n  {de,}mangle_poll(), and then get rid of kernel-side POLL... uses\n  entirely, and we should be all done with that stuff.\n\n  Basically, that\u0027s what you suggested wrt KPOLL..., except that we can\n  use EPOLL... instead - they already are arch-independent (and equal to\n  what is currently kernel-side POLL...).\n\n  After the preparations (in this series) switch to returning EPOLL...\n  from -\u003epoll() instances is completely mechanical and kernel-side\n  POLL... can go away. The last step (killing kernel-side POLL... and\n  unifying {de,}mangle_poll() has to be done after the\n  search-and-replace job, since we need userland-side POLL... for\n  unified {de,}mangle_poll(), thus the cherry-pick at the last step.\n\n  After that we will have:\n\n   - POLL{IN,OUT,...} *not* in __poll_t, so any stray instances of\n     -\u003epoll() still using those will be caught by sparse.\n\n   - eventpoll.c and select.c warning-free wrt __poll_t\n\n   - no more kernel-side definitions of POLL... - userland ones are\n     visible through the entire kernel (and used pretty much only for\n     mangle/demangle)\n\n   - same behavior as after the first series (i.e. sparc et.al. epoll(2)\n     working correctly)\"\n\n* \u0027work.poll2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  annotate ep_scan_ready_list()\n  ep_send_events_proc(): return result via esed-\u003eres\n  preparation to switching -\u003epoll() to returning EPOLL...\n  add EPOLLNVAL, annotate EPOLL... and event_poll-\u003eevent\n  use linux/poll.h instead of asm/poll.h\n  xen: fix poll misannotation\n  smc: missing poll annotations\n",
  "tree_diff": []
}
