)]}'
{
  "log": [
    {
      "commit": "42dc9cd54b7290f862874a2544e50395e5719985",
      "tree": "f37f4465f6adbdcdc9b961aa867919a3970190ce",
      "parents": [
        "202a03acf9994076055df40ae093a5c5474ad0bd"
      ],
      "author": {
        "name": "Michal Ostrowski",
        "email": "mostrows@earthlink.net",
        "time": "Fri Apr 20 16:59:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:21 2007 -0700"
      },
      "message": "[PPPOE]: Fix device tear-down notification.\n\npppoe_flush_dev() kicks all sockets bound to a device that is going down.\nIn doing so, locks must be taken in the right order consistently (sock lock,\nfollowed by the pppoe_hash_lock).  However, the scan process is based on\nus holding the sock lock.  So, when something is found in the scan we must\nrelease the lock we\u0027re holding and grab the sock lock.\n\nThis patch fixes race conditions between this code and pppoe_release(),\nboth of which perform similar functions but would naturally prefer to grab\nlocks in opposing orders.  Both code paths are now going after these locks\nin a consistent manner.\n\npppoe_hash_lock protects the contents of the \"pppox_sock\" objects that reside\ninside the hash.  Thus, NULL\u0027ing out the pppoe_dev field should be done\nunder the protection of this lock.\n\nSigned-off-by: Michal Ostrowski \u003cmostrows@earthlink.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74b885cf86def9bc836772e3c1788c00b72a35c9",
      "tree": "2397bcd487363cdda290c71856af59f0e6cf2ffe",
      "parents": [
        "bfafb26e11849fe99e03cc1902a91f7f65354e47"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Fri Apr 20 16:57:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:19 2007 -0700"
      },
      "message": "[PPPOE]: race between interface going down and connect()\n\nbelow you find a patch that (hopefully) fixes a race between an interface\ngoing down and a connect() to a peer on that interface. Before,\nconnect() would determine that an interface is up, then the interface\ncould go down and all entries referring to that interface in the\nitem_hash_table would be marked as ZOMBIEs and their references to\nthe device would be freed, and after that, connect() would put a new\nentry into the hash table referring to the device that meanwhile is\ndown already - which also would cause unregister_netdevice() to wait\nuntil the socket has been release()d.\n\nThis patch does not suffice if we are not allowed to accept connect()s\nreferring to a device that we already acked a NETDEV_GOING_DOWN for\n(that is: all references are only guaranteed to be freed after\nNETDEV_DOWN has been acknowledged, not necessarily after the\nNETDEV_GOING_DOWN already). And if we are allowed to, we could avoid\nlooking through the hash table upon NETDEV_GOING_DOWN completely and\nonly do that once we get the NETDEV_DOWN ...\n\nmostrows:\npppoe_flush_dev is called on NETDEV_GOING_DOWN and NETDEV_DOWN to deal with\nthis \"late connect\" issue.  Ideally one would hope to notify users at the\n\"NETDEV_GOING_DOWN\" phase (just to pretend to be nice).  However, it is the\nNETDEV_DOWN scan that takes all the responsibility for ensuring nobody is\nhanging around at that time.\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nAcked-by: Michal Ostrowski \u003cmostrows@earthlink.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfafb26e11849fe99e03cc1902a91f7f65354e47",
      "tree": "4ddd6237cebfcfcbe9ec1dc15a375c0a5fe355f7",
      "parents": [
        "0c6fcc8a8cfcc737d05b6be8b2c3e931ef99cfc2"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Fri Apr 20 16:56:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:18 2007 -0700"
      },
      "message": "[PPPoE]: miscellaneous smaller cleanups\n\nbelow is a patch that just removes dead code/initializers without any\neffect (first access is an assignment) that I stumbled accross while\nreading the source.\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nAcked-by: Michal Ostrowski \u003cmostrows@earthlink.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d626f62b11e00c16e81e4308ab93d3f13551812a",
      "tree": "fac4af6ced853755e12fc709d55f0c2bec51265d",
      "parents": [
        "2a123b86e2b242a4a6db990d2851d45e192f88e5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 27 18:55:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}\n\nTo clearly state the intent of copying from linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce",
      "tree": "03a715961ba576a11cbc0e91c5d465e4c4d95d82",
      "parents": [
        "57effc70a5be9f7804e9a99964eb7265367effca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:45:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:46 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_network_header(skb)\n\nFor the common, open coded \u0027skb-\u003enh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003enh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "797659fb4a4a511649cd71028141c32ad1698a12",
      "tree": "370361e706de99e3c176b343e9f2db5a1a9df2a3",
      "parents": [
        "37e6636669b0b996681586facee8034f7f674f6a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 15:56:08 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:43 2007 -0700"
      },
      "message": "[PPPOE]: Introduce pppoe_hdr()\n\nFor consistency with all the other skb-\u003enh.raw accessors.\n\nAlso do some really obvious simplifications in pppoe_recvmsg, well the\nkfree_skb one is not so obvious, but free() and kfree() have the same behaviour\n(hint :-) ).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f30e1867cb73602c6ed7f97e15a48e0a0c96cde",
      "tree": "4715c38e7555c42b92dbb8cf27afcde68a144cb8",
      "parents": [
        "bc5f77434721a84705601e4d448d331c73900759"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@gmx.de",
        "time": "Sun Mar 04 16:03:22 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 05 13:25:28 2007 -0800"
      },
      "message": "[PPPOE]: Use ifindex instead of device pointer in key lookups.\n\nOtherwise we can potentially try to dereference a NULL device\npointer in some cases.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90719dbeafdb40a15105ff0c899485b43c2a2a55",
      "tree": "d16cf7c3589013b16bfde03d9d64a36a19b97b11",
      "parents": [
        "248f06726e866942b3d8ca8f411f9067713b7ff8"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@gmx.de",
        "time": "Fri Mar 02 13:16:56 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 02 20:37:35 2007 -0800"
      },
      "message": "[PPPOE]: Key connections properly on local device.\n\nIt is based on the assumption that an interface\u0027s ifindex is basically\nan alias for a local MAC address, so incoming packets now are matched\nto sockets based on remote MAC, session id, and ifindex of the\ninterface the packet came in on/the socket was bound to by connect().\n\nFor relayed packets, the socket that\u0027s used for relaying is selected\nbased on destination MAC, session ID and the interface index of the\ninterface whose name currently matches the name requested by userspace\nas the relaying source interface.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d54b1fdb1d9f82e375a299e22bd366aad52d4c34",
      "tree": "f94768d59702dbbc0beb9a70d9be65dbc5e5108d",
      "parents": [
        "fa027c2a0a0d6d1df6b29ee99048502c93da0dd4"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 5\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58a5a7b9555ea231b557ebef5cabeaf8e951df0b",
      "tree": "9dac36b3483e9667a967f79982c965abd707e03d",
      "parents": [
        "e523a1550e877f8a8ff87a50269b7ee7bfb43464"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Thu Nov 16 14:06:06 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:51 2006 -0800"
      },
      "message": "[NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb\n\nSpotted by Ian McDonald, tentatively fixed by Gerrit Renker:\n\nhttp://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html\n\nRewritten not to unroll sk_receive_skb, in the common case, i.e. no lock\ndebugging, its optimized away.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "c9aa6895371b2a257401f59d3393c9f7ac5a8698",
      "tree": "1ee6813a6db0e4d1b7f77e8c002e37bc9411a420",
      "parents": [
        "1533d382155ee888d9621391c108ffb7a68bb25d"
      ],
      "author": {
        "name": "Michal Ostrowski",
        "email": "mostrows@earthlink.net",
        "time": "Wed Sep 27 16:11:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:44 2006 -0700"
      },
      "message": "[PPPOE]: Advertise PPPoE MTU\n\nPPPoE must advertise the underlying device\u0027s MTU via the ppp channel\ndescriptor structure, as multilink functionality depends on it.\n\nSigned-off-by: Michal Ostrowski \u003cmostrows@earthlink.net\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6aa20a2235535605db6d6d2bd850298b2fe7f31e",
      "tree": "df0b855043407b831d57f2f2c271f8aab48444f4",
      "parents": [
        "7a291083225af6e22ffaa46b3d91cfc1a1ccaab4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 13:24:59 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 13:24:59 2006 -0400"
      },
      "message": "drivers/net: Trim trailing whitespace\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9bc18091a5e44a368827f539289b99788eb27d4e",
      "tree": "2fa673fc940f0bdcc04f1d4fbb4bd602f24d947e",
      "parents": [
        "6569a351da7e58d6f0fbc92fcf0bef5d4a4bc0a4"
      ],
      "author": {
        "name": "Florin Malita",
        "email": "fmalita@gmail.com",
        "time": "Mon Jun 05 15:34:33 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 15:34:33 2006 -0700"
      },
      "message": "[PPPOE]: Missing result check in __pppoe_xmit().\n\nskb_clone() may fail, we should check the result.\n\nCoverity CID: 1215.\n\nSigned-off-by: Florin Malita \u003cfmalita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbb042f9e1292434e3cacb90e67d8d381aeac5a9",
      "tree": "cc42f42232e56b68111cfebdc175197d8607bdd7",
      "parents": [
        "ecba320f2e95c9a0c35011d1ecb1db4419980536"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 20 22:43:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:43:56 2006 -0800"
      },
      "message": "[NET]: Replace skb_pull/skb_postpull_rcsum with skb_pull_rcsum\n\nWe\u0027re now starting to have quite a number of places that do skb_pull\nfollowed immediately by an skb_postpull_rcsum.  We can merge these two\noperations into one function with skb_pull_rcsum.  This makes sense\nsince most pull operations on receive skb\u0027s need to update the\nchecksum.\n\nI\u0027ve decided to make this out-of-line since it is fairly big and the\nfast path where hardware checksums are enabled need to call\ncsum_partial anyway.\n\nSince this is a brand new function we get to add an extra check on the\nlen argument.  As it is most callers of skb_pull ignore its return\nvalue which essentially means that there is no check on the len\nargument.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17ba15fb6264f27374bc87f4c3f8519b80289d85",
      "tree": "3134abef98d88aa029aa7faa72d8a41686644e99",
      "parents": [
        "8639a11e23d9eb0a6ceac2feed27acdfbb158f95"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Dec 27 20:57:40 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:23 2006 -0800"
      },
      "message": "[PPPOX]: Fix assignment into const proto_ops.\n\nAnd actually, with this, the whole pppox layer can basically\nbe removed and subsumed into pppoe.c, no other pppox sub-protocol\nimplementation exists and we\u0027ve had this thing for at least 4\nyears.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25995ff577675b58dbd848b7758e7bad87411947",
      "tree": "4d47595b01f8645552fa8af7b2be2019f133fefb",
      "parents": [
        "ce1d4d3e88b3a69d23c3feb436a0b36b6ca0642b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:42:22 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:19 2006 -0800"
      },
      "message": "[SOCK]: Introduce sk_receive_skb\n\nIts common enough to to justify that, TCP still can\u0027t use it as it has the\nprequeueing stuff, still to be made generic in the not so distant future :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "666002218d59db271e5c1ede1d80227170c51987",
      "tree": "1fadcb278c817ce56a653e5c3c58637f5056feec",
      "parents": [
        "ecba97d4aacf4e80c56eb73e39af0369cb8539a4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Sep 28 22:32:57 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 29 08:46:26 2005 -0700"
      },
      "message": "[PATCH] proc_mkdir() should be used to create procfs directories\n\nA bunch of create_proc_dir_entry() calls creating directories had crept\nin since the last sweep; converted to proc_mkdir().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2ccd8fa06c8e302116e71df372f5c1f83432e03",
      "tree": "6e933f4bdc8899009edb33642b908779f123fb4a",
      "parents": [
        "b6b99eb5409d75ae35390057cd28f3aedfbd4cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:34:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:32:25 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003ereal_dev\n\nBonding just wants the device before the skb_bond()\ndecapsulation occurs, so simply pass that original\ndevice into packet_type-\u003efunc() as an argument.\n\nIt remains to be seen whether we can use this same\nexact thing to get rid of skb-\u003einput_dev as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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"
    }
  ]
}
