)]}'
{
  "log": [
    {
      "commit": "2c07f25ea7800adb36cd8da9b58c4ecd3fc3d064",
      "tree": "b312e3b679b544de20569f8e31dd1469e8a72be1",
      "parents": [
        "5318edefb61eddf91d4c4a089644fcee3ccfda62"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jun 12 15:24:40 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:42 2012 -0700"
      },
      "message": "splice: fix racy pipe-\u003ebuffers uses\n\ncommit 047fe3605235888f3ebcda0c728cb31937eadfe6 upstream.\n\nDave Jones reported a kernel BUG at mm/slub.c:3474! triggered\nby splice_shrink_spd() called from vmsplice_to_pipe()\n\ncommit 35f3d14dbbc5 (pipe: add support for shrinking and growing pipes)\nadded capability to adjust pipe-\u003ebuffers.\n\nProblem is some paths don\u0027t hold pipe mutex and assume pipe-\u003ebuffers\ndoesn\u0027t change for their duration.\n\nFix this by adding nr_pages_max field in struct splice_pipe_desc, and\nuse it in place of pipe-\u003ebuffers where appropriate.\n\nsplice_shrink_spd() loses its struct pipe_inode_info argument.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nTested-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n[bwh: Backported to 3.2:\n - Adjust context in vmsplice_to_pipe()\n - Update one more call to splice_shrink_spd(), from skb_splice_bits()]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "708e3508c2a2204cc276dcdb543009a441bfe91b",
      "tree": "9e301ba4ebf3b34a00228c26977feebfba8ad9ef",
      "parents": [
        "2efaca927f5cd7ecd0f1554b8f9b6a9a2c329c03"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jul 25 17:12:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:11 2011 -0700"
      },
      "message": "tmpfs: clone shmem_file_splice_read()\n\nCopy __generic_file_splice_read() and generic_file_splice_read() from\nfs/splice.c to shmem_file_splice_read() in mm/shmem.c.  Make\npage_cache_pipe_buf_ops and spd_release_page() accessible to it.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35f3d14dbbc58447c61e38a162ea10add6b31dc7",
      "tree": "3e03cd540b7dcdac82195c4e76862c0ce6daaaf0",
      "parents": [
        "3d42b3612891baecf709d93f28655a6882a65d41"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 20 10:43:18 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:12:40 2010 +0200"
      },
      "message": "pipe: add support for shrinking and growing pipes\n\nThis patch adds F_GETPIPE_SZ and F_SETPIPE_SZ fcntl() actions for\ngrowing and shrinking the size of a pipe and adjusts pipe.c and splice.c\n(and relay and network splice) usage to work with these larger (or smaller)\npipes.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2b1ccc0ee918a653d0483fdad9dd6112ce8e9043",
      "tree": "b640b08b9852955f3399307cbe7d733118c5eca0",
      "parents": [
        "e458824f9d32e9bf7700d1eb0d201749af48eee0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue May 12 11:11:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue May 12 11:11:48 2009 +0200"
      },
      "message": "splice: fix misleading comment\n\nSplice is tied to pipes by design, it\u0027ll not change. And now that\nthe splice stuff is in splice.h (and note pipe.h), the rest of the comment\nis out-of-date as well.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "328eaaba4e41a04c1dc4679d65bea3fee4349d86",
      "tree": "171bf86b590a841729bab11feec874869bcab49e",
      "parents": [
        "eb443e5a25d43996deb62b9bcee1a4ce5dea2ead"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:39 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:12 2009 +0200"
      },
      "message": "ocfs2: fix i_mutex locking in ocfs2_splice_to_file()\n\nRearrange locking of i_mutex on destination and call to\nocfs2_rw_lock() so locks are only held while buffers are copied with\nthe pipe_to_file() actor, and not while waiting for more data on the\npipe.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b3c2d2ddd63944ef2a1e4a43077b602288107e01",
      "tree": "2264092a285ab6af01f5f86d2cf06d2068546d37",
      "parents": [
        "91e463c8f5f7a5b09d3d034c01a88567af60c504"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:36 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:11 2009 +0200"
      },
      "message": "splice: split up __splice_from_pipe()\n\nSplit up __splice_from_pipe() into four helper functions:\n\n  splice_from_pipe_begin()\n  splice_from_pipe_next()\n  splice_from_pipe_feed()\n  splice_from_pipe_end()\n\nsplice_from_pipe_next() will wait (if necessary) for more buffers to\nbe added to the pipe.  splice_from_pipe_feed() will feed the buffers\nto the supplied actor and return when there\u0027s no more data available\n(or if all of the requested data has been copied).\n\nThis is necessary so that implementations can do locking around the\nnon-waiting splice_from_pipe_feed().\n\nThis patch should not cause any change in behavior.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bbdfc2f70610bebb841d0874dc901c648308e43a",
      "tree": "0f78843b93bb3338ccd6dd36bd7d3677a97083e5",
      "parents": [
        "d10f2150eab62f633aeae36cf4612d1f648a817e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 06 23:29:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:30 2008 -0800"
      },
      "message": "[SPLICE]: Don\u0027t assume regular pages in splice_to_pipe()\n\nAllow caller to pass in a release function, there might be\nother resources that need releasing as well. Needed for\nnetwork receive.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "497f9625c2bbd6a8525fb2eedb22a382a6a8253c",
      "tree": "8637f882dbe2eea6a731a6df0317a276bf2cfec3",
      "parents": [
        "d6b29d7cee064f28ca097e906de7453541351095"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 11 12:00:45 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "pipe: allow passing around of ops private pointer\n\nrelay needs this for proper consumption handling, and the network\nreceive support needs it as well to lookup the sk_buff on pipe\nrelease.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d6b29d7cee064f28ca097e906de7453541351095",
      "tree": "16775787df194cb45b4ac712da1c240f48cae96e",
      "parents": [
        "ebf9909343392c929d9943c04f421cd42e03b530"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 04 09:59:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "splice: divorce the splice structure/function definitions from the pipe header\n\nWe need to move even more stuff into the header so that folks can use\nthe splice_to_pipe() implementation instead of open-coding a lot of\npipe knowledge (see relay implementation), so move to our own header\nfile finally.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ]
}
