)]}'
{
  "log": [
    {
      "commit": "2030a42cecd4dd1985a2ab03e25f3cd6106a5ca8",
      "tree": "7cb4710c3f7a4e034a20890f0df99bc42f9bbcee",
      "parents": [
        "9f3acc3140444a900ab280de942291959f0f615d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Feb 23 06:46:49 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:08:50 2008 -0400"
      },
      "message": "[PATCH] sanitize anon_inode_getfd()\n\na) none of the callers even looks at inode or file returned by anon_inode_getfd()\nb) any caller that would try to look at those would be racy, since by the time\nit returns we might have raced with close() from another thread and that\nfile would be pining for fjords.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0859ab59a8a48d2a96b9d2b7100889bcb6bb5818",
      "tree": "afaa1f394cdd14c5ac3d3c4b956a6ac440c2c479",
      "parents": [
        "544451a1a36b06f43fc67112ede3b92e6203eb9d"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu Apr 10 21:29:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:06:44 2008 -0700"
      },
      "message": "signalfd: fix for incorrect SI_QUEUE user data reporting\n\nMichael Kerrisk found out that signalfd was not reporting back user data\npushed using sigqueue:\n\n  http://groups.google.com/group/linux.kernel/msg/9397cab8551e3123\n\nThe following patch makes signalfd report back the ssi_ptr and ssi_int members\nof the signalfd_siginfo structure.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ec37dfd4d282ce132dcb048398800951f6d11ef",
      "tree": "4fef63bbc5695661fd0f2288801be48038bf8596",
      "parents": [
        "12c2ab5e8fdfde67f3f6778a366cbdef06de410d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "fs/signalfd.c should #include \u003clinux/syscalls.h\u003e\n\nEvery file should include the headers containing the prototypes for its global\nfunctions (in this case sys_signalfd()).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e4a0f2bb242f8008bc70b55fa834292c6a62af",
      "tree": "325c507c57e4cb25cc2659869297558ffbb0a2e6",
      "parents": [
        "96532babc3e2ec4e0fce891d64319f183f043855"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sun Feb 03 15:12:15 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:12:15 2008 +0200"
      },
      "message": "Fix a small number of \"memeber\" typoes.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "96358de6bc2ab0bc5e8b44a8f3be4c9bf4a14e4f",
      "tree": "62f7ed295e7da3eb0706ca8d2b7454817bed6400",
      "parents": [
        "059590f495f9c6e89cb018b9e612c3eec2336109"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Tue Oct 16 23:30:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:01 2007 -0700"
      },
      "message": "rename signalfd_siginfo fields\n\nFor Michael Kerrisk request, the following patch renames signalfd_siginfo\nfields in order to keep them consistent with the siginfo_t ones.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8fceee17a310f189188599a8fa5e9beaff57eb0",
      "tree": "21308319be2579059a4d4d7db680a73334659f82",
      "parents": [
        "9db619e66503494e41159de3c76fafabe80d016b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu Sep 20 12:40:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Sep 20 13:19:59 2007 -0700"
      },
      "message": "signalfd simplification\n\nThis simplifies signalfd code, by avoiding it to remain attached to the\nsighand during its lifetime.\n\nIn this way, the signalfd remain attached to the sighand only during\npoll(2) (and select and epoll) and read(2).  This also allows to remove\nall the custom \"tsk \u003d\u003d current\" checks in kernel/signal.c, since\ndequeue_signal() will only be called by \"current\".\n\nI think this is also what Ben was suggesting time ago.\n\nThe external effect of this, is that a thread can extract only its own\nprivate signals and the group ones.  I think this is an acceptable\nbehaviour, in that those are the signals the thread would be able to\nfetch w/out signalfd.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9ee228bdc82cff8ea1ec00fd952890e00679dd8",
      "tree": "4c087502431a70bf7479555dcf4c1c4265835ebe",
      "parents": [
        "834d216e1f804560bd1421c511ad168d7c24b01d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Aug 22 14:01:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:46 2007 -0700"
      },
      "message": "signalfd: make it group-wide, fix posix-timers scheduling\n\nWith this patch any thread can dequeue its own private signals via signalfd,\neven if it was created by another sub-thread.\n\nTo do so, we pass \"current\" to dequeue_signal() if the caller is from the same\nthread group. This also fixes the scheduling of posix timers broken by the\nprevious patch.\n\nIf the caller doesn\u0027t belong to this thread group, we can\u0027t handle __SI_TIMER\ncase properly anyway. Perhaps we should forbid the cross-process signalfd usage\nand convert ctx-\u003etsk to ctx-\u003esighand.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f50cadaa8ffa72ad430e5beabe02eb752f3f72a3",
      "tree": "6bceb53482a223006f48e784ca1458375e53d4a5",
      "parents": [
        "87588dd6663b6f306f03f2deaec0d0fd3f0cb26e"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Thu Jul 26 10:40:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:33:06 2007 -0700"
      },
      "message": "tiny signalfd cleanup\n\nThis is probably a leftover from a time when the return wasn\u0027t there yet.\nNow the extra assignment is just irritating.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8738c5c5298d55ccfc26383f9f45af082a9be57",
      "tree": "baa7c6f2a31dcc4c4d2875f73b1462be5fbb388d",
      "parents": [
        "58e78475ec706f93e0cc049449ffd11fbfdadb3e"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Jun 27 14:09:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jun 28 11:34:54 2007 -0700"
      },
      "message": "avoid spurious POLLIN returns in signalfd\n\nThe new code in kernel/signal.c does not allow fetching private signals\nfrom another task.  This patch avoid spurious POLLIN returns from a\nsignalfd poll(2) operation.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3762bfc8d046342db664d855f8f875e8a4c2ca1",
      "tree": "fefa7bf1aecbdf458f31d4896498282f5ee9d1e7",
      "parents": [
        "0532cb427ed2a5957d39e98cb5a4741b68fc6102"
      ],
      "author": {
        "name": "Davi Arnaut",
        "email": "davi@haxent.com.br",
        "time": "Wed May 23 13:58:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:14 2007 -0700"
      },
      "message": "signalfd: retrieve multiple signals with one read() call\n\nGathering signals in bulk enables server applications to drain a signal\nqueue (almost full of realtime signals) more efficiently by reducing the\nsyscall and file look-up overhead.\n\nVery similar to the sigtimedwait4() call described by Niels Provos, Chuck\nLever, and Stephen Tweedie in a paper entitled \"Analyzing the Overload\nBehavior of a Simple Web Server\".  The paper lists more details and\nadvantages.\n\nSigned-off-by: Davi E. M. Arnaut \u003cdavi@haxent.com.br\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fba2afaaec790dc5ab4ae8827972f342211bbb86",
      "tree": "2694d4cd8c6b7d69a5569b92151d61a3d4af39b7",
      "parents": [
        "5dc8bf8132d59c03fe2562bce165c2f03f021687"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: signalfd core\n\nThis patch series implements the new signalfd() system call.\n\nI took part of the original Linus code (and you know how badly it can be\nbroken :), and I added even more breakage ;) Signals are fetched from the same\nsignal queue used by the process, so signalfd will compete with standard\nkernel delivery in dequeue_signal().  If you want to reliably fetch signals on\nthe signalfd file, you need to block them with sigprocmask(SIG_BLOCK).  This\nseems to be working fine on my Dual Opteron machine.  I made a quick test\nprogram for it:\n\nhttp://www.xmailserver.org/signafd-test.c\n\nThe signalfd() system call implements signal delivery into a file descriptor\nreceiver.  The signalfd file descriptor if created with the following API:\n\nint signalfd(int ufd, const sigset_t *mask, size_t masksize);\n\nThe \"ufd\" parameter allows to change an existing signalfd sigmask, w/out going\nto close/create cycle (Linus idea).  Use \"ufd\" \u003d\u003d -1 if you want a brand new\nsignalfd file.\n\nThe \"mask\" allows to specify the signal mask of signals that we are interested\nin.  The \"masksize\" parameter is the size of \"mask\".\n\nThe signalfd fd supports the poll(2) and read(2) system calls.  The poll(2)\nwill return POLLIN when signals are available to be dequeued.  As a direct\nconsequence of supporting the Linux poll subsystem, the signalfd fd can use\nused together with epoll(2) too.\n\nThe read(2) system call will return a \"struct signalfd_siginfo\" structure in\nthe userspace supplied buffer.  The return value is the number of bytes copied\nin the supplied buffer, or -1 in case of error.  The read(2) call can also\nreturn 0, in case the sighand structure to which the signalfd was attached,\nhas been orphaned.  The O_NONBLOCK flag is also supported, and read(2) will\nreturn -EAGAIN in case no signal is available.\n\nIf the size of the buffer passed to read(2) is lower than sizeof(struct\nsignalfd_siginfo), -EINVAL is returned.  A read from the signalfd can also\nreturn -ERESTARTSYS in case a signal hits the process.  The format of the\nstruct signalfd_siginfo is, and the valid fields depends of the (-\u003ecode \u0026\n__SI_MASK) value, in the same way a struct siginfo would:\n\nstruct signalfd_siginfo {\n\t__u32 signo;\t/* si_signo */\n\t__s32 err;\t/* si_errno */\n\t__s32 code;\t/* si_code */\n\t__u32 pid;\t/* si_pid */\n\t__u32 uid;\t/* si_uid */\n\t__s32 fd;\t/* si_fd */\n\t__u32 tid;\t/* si_fd */\n\t__u32 band;\t/* si_band */\n\t__u32 overrun;\t/* si_overrun */\n\t__u32 trapno;\t/* si_trapno */\n\t__s32 status;\t/* si_status */\n\t__s32 svint;\t/* si_int */\n\t__u64 svptr;\t/* si_ptr */\n\t__u64 utime;\t/* si_utime */\n\t__u64 stime;\t/* si_stime */\n\t__u64 addr;\t/* si_addr */\n};\n\n[akpm@linux-foundation.org: fix signalfd_copyinfo() on i386]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
