)]}'
{
  "log": [
    {
      "commit": "a7429e55ed9dd4fe486a6579392d9b2e2055257c",
      "tree": "1420e1d5e4203b50b029f7bd346df47469caf338",
      "parents": [
        "8affb4e2680f7b11294f67ba6cd6f539ba543846"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rlove@google.com",
        "time": "Mon May 12 17:08:29 2008 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:47 2011 -0700"
      },
      "message": "net: socket ioctl to reset connections matching local address\n\nIntroduce a new socket ioctl, SIOCKILLADDR, that nukes all sockets\nbound to the same local address. This is useful in situations with\ndynamic IPs, to kill stuck connections.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\n\nnet: fix tcp_v4_nuke_addr\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n\nnet: ipv4: Fix a spinlock recursion bug in tcp_v4_nuke.\n\nWe can\u0027t hold the lock while calling to tcp_done(), so we drop\nit before calling. We then have to start at the top of the chain again.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n\nnet: ipv4: Fix race in tcp_v4_nuke_addr().\n\nTo fix a recursive deadlock in 2.6.29, we stopped holding the hash table lock\nacross tcp_done() calls. This fixed the deadlock, but introduced a race where\nthe socket could die or change state.\n\nFix: Before unlocking the hash table, we grab a reference to the socket. We\ncan then unlock the hash table without risk of the socket going away. We then\nlock the socket, which is safe because it is pinned. We can then call\ntcp_done() without recursive deadlock and without race. Upon return, we unlock\nthe socket and then unpin it, killing it.\n\nChange-Id: Idcdae072b48238b01bdbc8823b60310f1976e045\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\nAcked-by: Dima Zavin \u003cdima@android.com\u003e\n\nipv4: disable bottom halves around call to tcp_done().\n\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n\nipv4: Move sk_error_report inside bh_lock_sock in tcp_v4_nuke_addr\n\nWhen sk_error_report is called, it wakes up the user-space thread, which then\ncalls tcp_close.  When the tcp_close is interrupted by the tcp_v4_nuke_addr\nioctl thread running tcp_done, it leaks 392 bytes and triggers a WARN_ON.\n\nThis patch moves the call to sk_error_report inside the bh_lock_sock, which\nmatches the locking used in tcp_v4_err.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "2f4e1b3970973bbb57cc3a3b9d67e67c1c648c37",
      "tree": "d7b4d7d64ed8a02c3cd10064eb9d8e177d2be5c3",
      "parents": [
        "ee3f1aaf930b7cfbf3d34eff1e5e076393227e90"
      ],
      "author": {
        "name": "Mario Schuknecht",
        "email": "m.schuknecht@dresearch.de",
        "time": "Wed Mar 09 14:08:09 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:08:09 2011 -0800"
      },
      "message": "tcp: ioctl type SIOCOUTQNSD returns amount of data not sent\n\nIn contrast to SIOCOUTQ which returns the amount of data sent\nbut not yet acknowledged plus data not yet sent this patch only\nreturns the data not sent.\n\nFor various methods of live streaming bitrate control it may\nbe helpful to know how much data are in the tcp outqueue are\nnot sent yet.\n\nSigned-off-by: Mario Schuknecht \u003cm.schuknecht@dresearch.de\u003e\nSigned-off-by: Steffen Sledz \u003csledz@dresearch.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb9eff097831007afb30d64373f29d99825d0068",
      "tree": "823a5668c6f4b3f577a1d4cc73b3df2d7e33c5c4",
      "parents": [
        "a75244c3d519fcb490ca2bf3f123c98017f1e8d0"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:33 2009 -0800"
      },
      "message": "net: new user space API for time stamping of incoming and outgoing packets\n\nUser space can request hardware and/or software time stamping.\nReporting of the result(s) via a new control message is enabled\nseparately for each field in the message because some of the\nfields may require additional computation and thus cause overhead.\nUser space can tell the different kinds of time stamps apart\nand choose what suits its needs.\n\nWhen a TX timestamp operation is requested, the TX skb will be cloned\nand the clone will be time stamped (in hardware or software) and added\nto the socket error queue of the skb, if the skb has a socket\nassociated with it.\n\nThe actual TX timestamp will reach userspace as a RX timestamp on the\ncloned packet. If timestamping is requested and no timestamping is\ndone in the device driver (potentially this may use hardware\ntimestamping), it will be done in software after the device\u0027s\nstart_hard_xmit routine.\n\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90833aa4f496d69ca374af6acef7d1614c8693ff",
      "tree": "dbac818cc40ab12d493c45778febf6b7a768f757",
      "parents": [
        "d7f7365f5776723da6df73540d855069c2daaa5c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 13 16:02:22 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:23 2006 -0800"
      },
      "message": "[NET]: The scheduled removal of the frame diverter.\n\nThis patch contains the scheduled removal of the frame diverter.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02c30a84e6298b6b20a56f0896ac80b47839e134",
      "tree": "031e9d68ad83c371af7ebeb6840f3ede52698663",
      "parents": [
        "125947f2ab8c45417feaa4a8800e89529ca4612f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu May 05 16:16:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:49 2005 -0700"
      },
      "message": "[PATCH] update Ross Biro bouncing email address\n\nRoss moved.  Remove the bad email address so people will find the correct\none in ./CREDITS.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
