)]}'
{
  "log": [
    {
      "commit": "9c05989bb2264f0fa4fc95f81d2c4e6aa2eaa24d",
      "tree": "d0da2c6e210b47727097a77eefddfc7c3e2ea13e",
      "parents": [
        "84b42baef775b0e3415ccece17cf694f50326d01"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 21:44:39 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 21:44:39 2005 -0700"
      },
      "message": "[IPV6]: Fix warning in ip6_mc_msfilter.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9951f036fe8a4e6b21962559c64ff13b290ff01a",
      "tree": "3d4d557102bf8d8a96d5276de7183b57c9808711",
      "parents": [
        "917f2f105ea4bbba8604e3ed55233eebda7afe6a"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:47:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:47:28 2005 -0700"
      },
      "message": "[IPV4]: (INCLUDE,empty)/leave-group equivalence for full-state MSF APIs \u0026 errno fix\n\n1) Adds (INCLUDE, empty)/leave-group equivalence to the full-state \n   multicast source filter APIs (IPv4 and IPv6)\n\n2) Fixes an incorrect errno in the IPv6 leave-group (ENOENT should be\n   EADDRNOTAVAIL)\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "917f2f105ea4bbba8604e3ed55233eebda7afe6a",
      "tree": "bbab5de7093cec897f617649dd123946b579c4b7",
      "parents": [
        "8cdaaa15da58806ac3c75d96c40aef9e31445a25"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:45:16 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:45:16 2005 -0700"
      },
      "message": "[IPV4]: multicast API \"join\" issues\n\n1) In the full-state API when imsf_numsrc \u003d\u003d 0\n   errno should be \"0\", but returns EADDRNOTAVAIL\n\n2) An illegal filter mode change\n   errno should be EINVAL, but returns EADDRNOTAVAIL\n\n3) Trying to do an any-source option without IP_ADD_MEMBERSHIP\n   errno should be EINVAL, but returns EADDRNOTAVAIL\n\n4) Adds comments for the less obvious error return values\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1b4a7e69576d65efc31a8cea0714173c2841244",
      "tree": "92082532651cddc6f0649a9d7ca9ca63e381d310",
      "parents": [
        "0d9901df62fe4820aee86b49f1a074cdb5c6928e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:24:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:24:38 2005 -0700"
      },
      "message": "[TCP]: Move to new TSO segmenting scheme.\n\nMake TSO segment transmit size decisions at send time not earlier.\n\nThe basic scheme is that we try to build as large a TSO frame as\npossible when pulling in the user data, but the size of the TSO frame\noutput to the card is determined at transmit time.\n\nThis is guided by tp-\u003exmit_size_goal.  It is always set to a multiple\nof MSS and tells sendmsg/sendpage how large an SKB to try and build.\n\nLater, tcp_write_xmit() and tcp_push_one() chop up the packet if\nnecessary and conditions warrant.  These routines can also decide to\n\"defer\" in order to wait for more ACKs to arrive and thus allow larger\nTSO frames to be emitted.\n\nA general observation is that TSO elongates the pipe, thus requiring a\nlarger congestion window and larger buffering especially at the sender\nside.  Therefore, it is important that applications 1) get a large\nenough socket send buffer (this is accomplished by our dynamic send\nbuffer expansion code) 2) do large enough writes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2ed4052aa662e7cfb22a1793b9d8158603be6d7",
      "tree": "2b5e6f38447ae666d61af5d15f24a1298226c7ae",
      "parents": [
        "30e224d76f34e041c30df66a4dcbeeb53556ea3f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jul 05 14:41:20 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:41:20 2005 -0700"
      },
      "message": "[IPV6]: Makes IPv6 rcv registration happen last during initialisation.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e176fe8954a5239c24afe79b1001ba3c29511963",
      "tree": "418038ddda59950ac83decb708f25cd612d0ffe0",
      "parents": [
        "3154e540e374bbfd62693d95bc8ed51da95efe75"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 05 14:12:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:12:44 2005 -0700"
      },
      "message": "[NET]: Remove unused security member in sk_buff\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fe40f73d7591b38f129fe6a9c0fa46e0b192d09",
      "tree": "fbe5323ddd8990350bc85778b54301db93ce5f93",
      "parents": [
        "fb3d89498d268c8dedc1ab5b15fa64f536564577"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Jun 28 15:46:24 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 15:46:24 2005 -0700"
      },
      "message": "[IPV6]: remove more unused IPV6_AUTHHDR things.\n\nRemove two more unused IPV6_AUTHHDR option things, \nwhich I failed to remove them last time,\nplus, mark IPV6_AUTHHDR obsolete.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae9cda5d65f3d8a495241cbdcc2d56f721c83cc3",
      "tree": "a2dad0af022411e53724bd965c535287975a05bc",
      "parents": [
        "8a47077a0b5aa2649751c46e7a27884e6686ccbf"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Jun 28 13:00:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 13:00:30 2005 -0700"
      },
      "message": "[IPV6]: Don\u0027t dump temporary addresses twice\n\nEach IPv6 Temporary Address (w/ CONFIG_IPV6_PRIVACY) is dumped twice\nto netlink.\n\nBecause temporary addresses are listed in idev-\u003eaddr_list,\nthere\u0027s no need to dump idev-\u003etempaddr separately.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "8a47077a0b5aa2649751c46e7a27884e6686ccbf",
      "tree": "60e7c40a375057a31b5340226cd446ffa199413c",
      "parents": [
        "9ef1d4c7c7aca1cd436612b6ca785b726ffb8ed8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 28 12:56:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 12:56:45 2005 -0700"
      },
      "message": "[NETLINK]: Missing padding fields in dumped structures\n\nPlug holes with padding fields and initialized them to zero.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ef1d4c7c7aca1cd436612b6ca785b726ffb8ed8",
      "tree": "a2465b3bf0f4c3bdd1f759d8a90cf8f8db06900a",
      "parents": [
        "b3563c4fbff906991a1b4ef4609f99cca2a0de6a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 28 12:55:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 12:55:30 2005 -0700"
      },
      "message": "[NETLINK]: Missing initializations in dumped data\n\nMostly missing initialization of padding fields of 1 or 2 bytes length,\ntwo instances of uninitialized nlmsgerr-\u003emsg of 16 bytes length.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f8ef48d240963093451bcf83df89f1a1364f51d",
      "tree": "cecb30c2f59778f7f509a84b3aa7ea097c3f2b27",
      "parents": [
        "51b0bdedb8e784d0d969a6b77151911130812400"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 20:37:36 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:37:36 2005 -0700"
      },
      "message": "[TCP]: Allow choosing TCP congestion control via sockopt.\n\nAllow using setsockopt to set TCP congestion control to use on a per\nsocket basis.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "317a76f9a44b437d6301718f4e5d08bd93f98da7",
      "tree": "caeba9839dee264f59b035b81c3d13d6c61b638e",
      "parents": [
        "a8ad86f2dc46356f87be1327dabc18bdbda32f50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 12:19:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 12:19:55 2005 -0700"
      },
      "message": "[TCP]: Add pluggable congestion control algorithm infrastructure.\n\nAllow TCP to have multiple pluggable congestion control algorithms.\nAlgorithms are defined by a set of operations and can be built in\nor modules.  The legacy \"new RENO\" algorithm is used as a starting\npoint and fallback.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "543537bd922692bc978e2e356fcd8bfc9c2ee7d5",
      "tree": "0089e3907e7d6c17c01cffc6ea4a8962ed053079",
      "parents": [
        "991114c6fa6a21d1fa4d544abe78592352860c82"
      ],
      "author": {
        "name": "Paulo Marques",
        "email": "pmarques@grupopie.com",
        "time": "Thu Jun 23 00:09:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] create a kstrdup library function\n\nThis patch creates a new kstrdup library function and changes the \"local\"\nimplementations in several places to use this function.\n\nMost of the changes come from the sound and net subsystems.  The sound part\nhad already been acknowledged by Takashi Iwai and the net part by David S.\nMiller.\n\nI left UML alone for now because I would need more time to read the code\ncarefully before making changes there.\n\nSigned-off-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "047601bf7c803724bbab9a4fdbad9481cecc12e0",
      "tree": "0047ba0cb2179cefd93f7a8b1d0075e21a02d872",
      "parents": [
        "2715bcf9efc34063e05009f188eb896c462ae925"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:07:13 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:07:13 2005 -0700"
      },
      "message": "[NETFILTER]: Fix ip6t_LOG sit tunnel logging\n\nSit tunnel logging is currently broken:\n\nMAC\u003d01:23:45:67:89:ab-\u003e01:23:45:47:89:ac TUNNEL\u003d123.123.  0.123-\u003e 12.123.  6.123\n\nApart from the broken IP address, MAC addresses are printed differently\nfor sit tunnels than for everything else.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97216c799a6496163be8c81c9ceed297d92956c5",
      "tree": "9bd1d85b486c428ae5d12592997cf7668db63097",
      "parents": [
        "1d3cdb41f52e299f70b66cbb569bff5216f3643a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:03:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:03:01 2005 -0700"
      },
      "message": "[NETFILTER]: Missing owner-field initialization in ip6table_raw\n\nI missed this one when fixing up iptable_raw.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e98231858bbfd2aca42f93d55133c2fca6df00f9",
      "tree": "e7100bf038e70a840aa0e69afc75d217e210522e",
      "parents": [
        "18b8afc771102b1b6af97962808291a7d27f52af"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:02:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:02:15 2005 -0700"
      },
      "message": "[NETFILTER]: Restore netfilter assumptions in IPv6 multicast\n\nNetfilter assumes that skb-\u003edata \u003d\u003d skb-\u003enh.ipv6h\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18b8afc771102b1b6af97962808291a7d27f52af",
      "tree": "4d278a45ab07b5ba81dfa0b737f5174ad9ee7f79",
      "parents": [
        "e45b1be8bcb3643808975a426fa3e201a2588e87"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:01:57 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:01:57 2005 -0700"
      },
      "message": "[NETFILTER]: Kill nf_debug\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e45b1be8bcb3643808975a426fa3e201a2588e87",
      "tree": "0c461d7bd90d0c2fb462b42e664cf8a099c750ec",
      "parents": [
        "c9e3e8b6958e02230079e6817862ea2968509866"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:01:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:01:30 2005 -0700"
      },
      "message": "[NETFILTER]: Kill lockhelp.h\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9e3e8b6958e02230079e6817862ea2968509866",
      "tree": "296b30b9e208d37b1cdfa6d40ad785abb1487bd9",
      "parents": [
        "0d51aa80a9b1db43920c0770c3bb842dd823c005"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Tue Jun 21 13:58:25 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 13:58:25 2005 -0700"
      },
      "message": "[IPV6]: multicast join and misc\n\nHere is a simplified version of the patch to fix a bug in IPv6\nmulticasting. It:\n\n1) adds existence check \u0026 EADDRINUSE error for regular joins\n2) adds an exception for EADDRINUSE in the source-specific multicast\n        join (where a prior join is ok)\n3) adds a missing/needed read_lock on sock_mc_list; would\u0027ve raced\n        with destroying the socket on interface down without\n4) adds a \"leave group\" in the (INCLUDE, empty) source filter case.\n        This frees unneeded socket buffer memory, but also prevents\n        an inappropriate interaction among the 8 socket options that\n        mess with this. Some would fail as if in the group when you\n        aren\u0027t really.\n\nItem #4 had a locking bug in the last version of this patch; rather than\nremoving the idev-\u003elock read lock only, I\u0027ve simplified it to remove\nall lock state in the path and treat it as a direct \"leave group\" call for\nthe (INCLUDE,empty) case it covers. Tested on an MP machine. :-)\n\nMuch thanks to HoerdtMickael \u003choerdt@clarinet.u-strasbg.fr\u003e who\nreported the original bug.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d51aa80a9b1db43920c0770c3bb842dd823c005",
      "tree": "999b0c5afbbb1f32af07eb2e1cb9e2692f1aa791",
      "parents": [
        "19baf839ff4a8daa1f2a7400897094fc18e4f5e9"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Tue Jun 21 13:51:04 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 13:51:04 2005 -0700"
      },
      "message": "[IPV6]: V6 route events reported with wrong netlink PID and seq number\n\nEssentially netlink at the moment always reports a pid and sequence of 0\nalways for v6 route activities. \nTo understand the repurcassions of this look at:\nhttp://lists.quagga.net/pipermail/quagga-dev/2005-June/003507.html\n\nWhile fixing this, i took the liberty to resolve the outstanding issue\nof IPV6 routes inserted via ioctls to have the correct pids as well.\n\nThis patch tries to behave as close as possible to the v4 routes i.e\nmaintains whatever PID the socket issuing the command owns as opposed to\nthe process. That made the patch a little bulky.\n\nI have tested against both netlink derived utility to add/del routes as\nwell as ioctl derived one. The Quagga folks have tested against quagga.\nThis fixes the problem and so far hasnt been detected to introduce any\nnew issues.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72cb6962a91f2af9eef69a06198e1949c10259ae",
      "tree": "3ae65d1c4e7d7cb7ac05bfc6f457312df45f6996",
      "parents": [
        "3f7a87d2fa9b42f7aade43914f060df68cc89cc7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 20 13:18:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 13:18:08 2005 -0700"
      },
      "message": "[IPSEC]: Add xfrm_init_state\n\nThis patch adds xfrm_init_state which is simply a wrapper that calls\nxfrm_get_type and subsequently x-\u003etype-\u003einit_state.  It also gets rid\nof the unused args argument.\n\nAbstracting it out allows us to add common initialisation code, e.g.,\nto set family-specific flags.\n\nThe add_time setting in xfrm_user.c was deleted because it\u0027s already\nset by xfrm_state_alloc.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0f9f8586a0b21fb3c7a4ead3804008d57dfdef7",
      "tree": "123a01b6719bf2077dc4ad79a8c80f18d4fe0246",
      "parents": [
        "9ed19f339e12e731986de84134ac293cd15910a7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jun 18 22:56:18 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:56:18 2005 -0700"
      },
      "message": "[IPV4/IPV6]: Replace spin_lock_irq with spin_lock_bh\n\nIn light of my recent patch to net/ipv4/udp.c that replaced the\nspin_lock_irq calls on the receive queue lock with spin_lock_bh,\nhere is a similar patch for all other occurences of spin_lock_irq\non receive/error queue locks in IPv4 and IPv6.\n\nIn these stacks, we know that they can only be entered from user\nor softirq context.  Therefore it\u0027s safe to disable BH only.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ed19f339e12e731986de84134ac293cd15910a7",
      "tree": "6a39cb14e7b51dcc3d1f31b0cf30801f27da9618",
      "parents": [
        "e431b8c004af6be03783dddea31b6e514118051d"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sat Jun 18 22:55:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:55:51 2005 -0700"
      },
      "message": "[NETLINK]: Set correct pid for ioctl originating netlink events\n\nThis patch ensures that netlink events created as a result of programns\nusing ioctls (such as ifconfig, route etc) contains the correct PID of\nthose events.\n \nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e431b8c004af6be03783dddea31b6e514118051d",
      "tree": "8868ed04de7026ddad6201a5c04d38c12e6a3509",
      "parents": [
        "58b82150da90681a4179db1bc94d412938e81b31"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sat Jun 18 22:55:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:55:31 2005 -0700"
      },
      "message": "[NETLINK]: Explicit typing\n\nThis patch converts \"unsigned flags\" to use more explict types like u16\ninstead and incrementally introduces NLMSG_NEW().\n \nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6544c0b4cf2bd96195f3cdb7cebfb35090fc557",
      "tree": "717f69a0c204b12eeedb8035fb66c8e9bb2d5a09",
      "parents": [
        "1797754ea7ee5e0d859b0a32506ff999f8d5fb71"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sat Jun 18 22:54:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:54:12 2005 -0700"
      },
      "message": "[NETLINK]: Correctly set NLM_F_MULTI without checking the pid\n\nThis patch rectifies some rtnetlink message builders that derive the\nflags from the pid. It is now explicit like the other cases\nwhich get it right. Also fixes half a dozen dumpers which did not\nset NLM_F_MULTI at all.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ad69c55a282315e6119cf7fd744f26a925bdfd2",
      "tree": "85350a384e5c1c6646bd8f9e75c6f11c1f6752ff",
      "parents": [
        "0e87506fcc734647c7b2497eee4eb81e785c857a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:48:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:48:55 2005 -0700"
      },
      "message": "[NET] rename struct tcp_listen_opt to struct listen_sock\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e87506fcc734647c7b2497eee4eb81e785c857a",
      "tree": "bb8863c59fdef2628f17b6773c52801792a57722",
      "parents": [
        "60236fdd08b2169045a3bbfc5ffe1576e6c3c17b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:47:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:47:59 2005 -0700"
      },
      "message": "[NET] Generalise tcp_listen_opt\n\nThis chunks out the accept_queue and tcp_listen_opt code and moves\nthem to net/core/request_sock.c and include/net/request_sock.h, to\nmake it useful for other transport protocols, DCCP being the first one\nto use it.\n\nNext patches will rename tcp_listen_opt to accept_sock and remove the\ninline tcp functions that just call a reqsk_queue_ function.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60236fdd08b2169045a3bbfc5ffe1576e6c3c17b",
      "tree": "4541c682cc72daf560ec516e2b5868089a88b6ea",
      "parents": [
        "2e6599cb899ba4b133f42cbf9d2b1883d2dc583a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:47:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:47:21 2005 -0700"
      },
      "message": "[NET] Rename open_request to request_sock\n\nOk, this one just renames some stuff to have a better namespace and to\ndissassociate it from TCP:\n\nstruct open_request  -\u003e struct request_sock\ntcp_openreq_alloc    -\u003e reqsk_alloc\ntcp_openreq_free     -\u003e reqsk_free\ntcp_openreq_fastfree -\u003e __reqsk_free\n\nWith this most of the infrastructure closely resembles a struct\nsock methods subset.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e6599cb899ba4b133f42cbf9d2b1883d2dc583a",
      "tree": "b5d4fcca4d2a515fc3d3d20cefaaeebd8dbf661f",
      "parents": [
        "1944972d3bb651474a5021c9da8d0166ae19f1eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:46:52 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:46:52 2005 -0700"
      },
      "message": "[NET] Generalise TCP\u0027s struct open_request minisock infrastructure\n\nKept this first changeset minimal, without changing existing names to\nease peer review.\n\nBasicaly tcp_openreq_alloc now receives the or_calltable, that in turn\nhas two new members:\n\n-\u003eslab, that replaces tcp_openreq_cachep\n-\u003eobj_size, to inform the size of the openreq descendant for\n  a specific protocol\n\nThe protocol specific fields in struct open_request were moved to a\nclass hierarchy, with the things that are common to all connection\noriented PF_INET protocols in struct inet_request_sock, the TCP ones\nin tcp_request_sock, that is an inet_request_sock, that is an\nopen_request.\n\nI.e. this uses the same approach used for the struct sock class\nhierarchy, with sk_prot indicating if the protocol wants to use the\nopen_request infrastructure by filling in sk_prot-\u003ersk_prot with an\nor_calltable.\n\nResults? Performance is improved and TCP v4 now uses only 64 bytes per\nopen request minisock, down from 96 without this patch :-)\n\nNext changeset will rename some of the structs, fields and functions\nmentioned above, struct or_calltable is way unclear, better name it\nstruct request_sock_ops, s/struct open_request/struct request_sock/g,\netc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77bd91967a97e5b94ae36113efe1d9e4f68a716e",
      "tree": "269b466f7b8d6d3821ae6fedd8bf802c865b324b",
      "parents": [
        "84427d533076a08137779b3182a71c37bf000b27"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "rdenis@simphalempin.com",
        "time": "Mon Jun 13 15:01:34 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 13 15:01:34 2005 -0700"
      },
      "message": "[IPv6] Don\u0027t generate temporary for TUN devices\n\nUserland layer-2 tunneling devices allocated through the TUNTAP driver \n(drivers/net/tun.c) have a type of ARPHRD_NONE, and have no link-layer \naddress. The kernel complains at regular interval when IPv6 Privacy \nextension are enabled because it can\u0027t find an hardware address :\n\nDec 29 11:02:04 auguste kernel: __ipv6_regen_rndid(idev\u003dcb3e0c00): \ncannot get EUI64 identifier; use random bytes.\n\nIPv6 Privacy extensions should probably be disabled on that sort of \ndevice. They won\u0027t work anyway. If userland wants a more usual \nEthernet-ish interface with usual IPv6 autoconfiguration, it will use a \nTAP device with an emulated link-layer  and a random hardware address \nrather than a TUN device.\n\nAs far as I could fine, TUN virtual device from TUNTAP is the very only \nsort of device using ARPHRD_NONE as kernel device type.\n\nSigned-off-by: Rémi Denis-Courmont \u003crdenis@simphalempin.com\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84427d533076a08137779b3182a71c37bf000b27",
      "tree": "248f7bbcebe0be59bc9b520b8611133b870a5c71",
      "parents": [
        "979b6c135fc4d466a39d8e3ec05583e5ee30261a"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Jun 13 14:59:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 13 14:59:44 2005 -0700"
      },
      "message": "[IPV6]: Ensure to use icmpv6_socket in non-preemptive context.\n\nWe saw following trace several times:\n\n|BUG: using smp_processor_id() in preemptible [00000001] code: httpd/30137\n|caller is icmpv6_send+0x23/0x540\n| [\u003cc01ad63b\u003e] smp_processor_id+0x9b/0xb8\n| [\u003cc02993e7\u003e] icmpv6_send+0x23/0x540\n\nThis is because of icmpv6_socket, which is the only one user of\nsmp_processor_id() in icmpv6_send(), AFAIK.\n\nSince it should be used in non-preemptive context,\nlet\u0027s defer the dereference after disabling preemption\n(by icmpv6_xmit_lock()).\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8181b8c1f3a69fe5abcc51cb732eb512ccd1566a",
      "tree": "1989bf25817c8fc838f7448d48bad9ddcc3e546e",
      "parents": [
        "97d26b8042a6f14cc4a19e84e911a953363e3d69"
      ],
      "author": {
        "name": "Gabor Fekete",
        "email": "gfekete@cc.jyu.fi",
        "time": "Wed Jun 08 14:54:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 08 14:54:38 2005 -0700"
      },
      "message": "[IPV6]: Update parm.link in ip6ip6_tnl_change()\n\nSigned-off-by: Gabor Fekete \u003cgfekete@cc.jyu.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fef0304eeaa4156db5625e3578f92ed94645a43",
      "tree": "76429d187f01ffc34eec735266438480ff3025f5",
      "parents": [
        "a2c1aa54746bace5d03cc66521fbf3bb6fb2f916"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 02 13:06:36 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 13:06:36 2005 -0700"
      },
      "message": "[IPV6]: Kill export of fl6_sock_lookup.\n\nThere is no usage of this EXPORT_SYMBOL in the kernel.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c94d3611be61e4cff33b311f1a626d93d1d3e92",
      "tree": "2aa0f06ebdc7a72e8b08d6f734a3f1a91bf95249",
      "parents": [
        "69f6a0fafcdf0bfe85af182695d6d38f80f9d549"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 29 20:28:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 29 20:28:01 2005 -0700"
      },
      "message": "[IPV6]: Clear up user copy warning in flowlabel code.\n\nWe are intentionally ignoring the copy_to_user() value,\nmake it clear to the compiler too.\n\nNoted by Jeff Garzik.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92d63decc0b6a5d600f792fcf5f3ff9718c09a3d",
      "tree": "eca15d3ffba7795ea4d9bef9cdc6d21c7c71fa00",
      "parents": [
        "2f872f0401d4b470990864fbf99c19130f25ad4d"
      ],
      "author": {
        "name": "Hideaki YOSHIFUJI",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu May 26 12:58:04 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 26 12:58:04 2005 -0700"
      },
      "message": "From: Kazunori Miyazawa \u003ckazunori@miyazawa.org\u003e\n\n[XFRM] Call dst_check() with appropriate cookie\n\nThis fixes infinite loop issue with IPv6 tunnel mode.\n\nSigned-off-by: Kazunori Miyazawa \u003ckazunori@miyazawa.org\u003e\nSigned-off-by: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "180e42503300629692b513daeb55a6bb0b51500c",
      "tree": "3d33734fd13f7017179bcc7ff49bc828a838807b",
      "parents": [
        "205902ecc7bcb2a007ed27bb3518e8f70e5d113e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 23 13:11:07 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 23 13:11:07 2005 -0700"
      },
      "message": "[IPV6]: Fix xfrm tunnel oops with large packets\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fdba6b085eb7068e9594cfa55ffe40466184b4d",
      "tree": "2f7325f9f62cc643caf6d6c8dd7a24b1cb94ebd0",
      "parents": [
        "d48102007d068df7ba3055cdc1723e12db1ba30f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 18 22:52:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 22:52:33 2005 -0700"
      },
      "message": "[IPV4/IPV6] Ensure all frag_list members have NULL sk\n\nHaving frag_list members which holds wmem of an sk leads to nightmares\nwith partially cloned frag skb\u0027s.  The reason is that once you unleash\na skb with a frag_list that has individual sk ownerships into the stack\nyou can never undo those ownerships safely as they may have been cloned\nby things like netfilter.  Since we have to undo them in order to make\nskb_linearize happy this approach leads to a dead-end.\n\nSo let\u0027s go the other way and make this an invariant:\n\n\tFor any skb on a frag_list, skb-\u003esk must be NULL.\n\nThat is, the socket ownership always belongs to the head skb.\nIt turns out that the implementation is actually pretty simple.\n\nThe above invariant is actually violated in the following patch\nfor a short duration inside ip_fragment.  This is OK because the\noffending frag_list member is either destroyed at the end of the\nslow path without being sent anywhere, or it is detached from\nthe frag_list before being sent.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aabc9761b69f1bfa30a78f7005be95cc9cc06175",
      "tree": "50dc9f510011ac03656aeba0595b2b0b5c5f5e22",
      "parents": [
        "d5d75cd6b10ddad2f375b61092754474ad78aec7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 03 16:27:10 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 16:27:10 2005 -0700"
      },
      "message": "[IPSEC]: Store idev entries\n\nI found a bug that stopped IPsec/IPv6 from working.  About\na month ago IPv6 started using rt6i_idev-\u003edev on the cached socket dst\nentries.  If the cached socket dst entry is IPsec, then rt6i_idev will\nbe NULL.\n\nSince we want to look at the rt6i_idev of the original route in this\ncase, the easiest fix is to store rt6i_idev in the IPsec dst entry just\nas we do for a number of other IPv6 route attributes.  Unfortunately\nthis means that we need some new code to handle the references to\nrt6i_idev.  That\u0027s why this patch is bigger than it would otherwise be.\n\nI\u0027ve also done the same thing for IPv4 since it is conceivable that\nonce these idev attributes start getting used for accounting, we\nprobably need to dereference them for IPv4 IPsec entries too.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a0a6ebee1d68552152ae8d4aeda91d806995dec",
      "tree": "a0b77861b3395b4728e75f2b2f92755e0a4777d3",
      "parents": [
        "96c36023434b7b6824b1da72a6b7b1ca61d7310c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 03 14:55:09 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:55:09 2005 -0700"
      },
      "message": "[NETLINK]: Synchronous message processing.\n\nLet\u0027s recap the problem.  The current asynchronous netlink kernel\nmessage processing is vulnerable to these attacks:\n\n1) Hit and run: Attacker sends one or more messages and then exits\nbefore they\u0027re processed.  This may confuse/disable the next netlink\nuser that gets the netlink address of the attacker since it may\nreceive the responses to the attacker\u0027s messages.\n\nProposed solutions:\n\na) Synchronous processing.\nb) Stream mode socket.\nc) Restrict/prohibit binding.\n\n2) Starvation: Because various netlink rcv functions were written\nto not return until all messages have been processed on a socket,\nit is possible for these functions to execute for an arbitrarily\nlong period of time.  If this is successfully exploited it could\nalso be used to hold rtnl forever.\n\nProposed solutions:\n\na) Synchronous processing.\nb) Stream mode socket.\n\nFirstly let\u0027s cross off solution c).  It only solves the first\nproblem and it has user-visible impacts.  In particular, it\u0027ll\nbreak user space applications that expect to bind or communicate\nwith specific netlink addresses (pid\u0027s).\n\nSo we\u0027re left with a choice of synchronous processing versus\nSOCK_STREAM for netlink.\n\nFor the moment I\u0027m sticking with the synchronous approach as\nsuggested by Alexey since it\u0027s simpler and I\u0027d rather spend\nmy time working on other things.\n\nHowever, it does have a number of deficiencies compared to the\nstream mode solution:\n\n1) User-space to user-space netlink communication is still vulnerable.\n\n2) Inefficient use of resources.  This is especially true for rtnetlink\nsince the lock is shared with other users such as networking drivers.\nThe latter could hold the rtnl while communicating with hardware which\ncauses the rtnetlink user to wait when it could be doing other things.\n\n3) It is still possible to DoS all netlink users by flooding the kernel\nnetlink receive queue.  The attacker simply fills the receive socket\nwith a single netlink message that fills up the entire queue.  The\nattacker then continues to call sendmsg with the same message in a loop.\n\nPoint 3) can be countered by retransmissions in user-space code, however\nit is pretty messy.\n\nIn light of these problems (in particular, point 3), we should implement\nstream mode netlink at some point.  In the mean time, here is a patch\nthat implements synchronous processing.  \n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3924c70dd3bddc28b99ccd1688bd281bad1a9be",
      "tree": "958922075140cebd55028aa3c04ad2e1f2c0b5b3",
      "parents": [
        "0b2531bdc54e19717de5cb161d57e5ee0a7725ff"
      ],
      "author": {
        "name": "Folkert van Heusden",
        "email": "folkert@vanheusden.com",
        "time": "Tue May 03 14:36:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:36:45 2005 -0700"
      },
      "message": "[TCP]: Optimize check in port-allocation code, v6 version.\n\nSigned-off-by: Folkert van Heusden \u003cfolkert@vanheusden.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db46edc6d3b66bf708a8f23a9aa89f63a49ebe33",
      "tree": "7b3d9568a5561b5344e98dc8d881481420b8e581",
      "parents": [
        "f90a0a74b864fdc46737614f03b8868f4f31e3bf"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue May 03 14:29:39 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:29:39 2005 -0700"
      },
      "message": "[RTNETLINK] Cleanup rtnetlink_link tables\n\nConverts remaining rtnetlink_link tables to use c99 designated\ninitializers to make greping a little bit easier.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "679a87382433cf12a28f07a7d5c240f30f0daa08",
      "tree": "128787f500b3a5d260fc620450865ad8a0a8c761",
      "parents": [
        "31da185d8162ae0f30a13ed945f1f4d28d158133"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 03 14:24:36 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:24:36 2005 -0700"
      },
      "message": "[IPV6]: Fix raw socket checksums with IPsec\n\nI made a mistake in my last patch to the raw socket checksum code.\nI used the value of inet-\u003ecork.length as the length of the payload.\nWhile this works with normal packets, it breaks down when IPsec is\npresent since the cork length includes the extension header length.\n\nSo here is a patch to fix the length calculations.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89c8b3a11086a2a43ac4240116da77b707f37fbf",
      "tree": "6fa7c25204d4af62822ebb1e02694744d897b644",
      "parents": [
        "7e3e0360b711568fb8ba5973accf51d51e746abc"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Apr 28 12:11:49 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 12:11:49 2005 -0700"
      },
      "message": "[IPV6]: Incorrect permissions on route flush sysctl\n\nOn Mon, Apr 25, 2005 at 12:01:13PM -0400, Dave Jones wrote:\n \u003e This has been brought up before.. http://lkml.org/lkml/2000/1/21/116\n \u003e but didnt seem to get resolved.  This morning I got someone\n \u003e file a bugzilla about it breaking sysctl(8).\n\nAnd here\u0027s its ipv6 counterpart.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b453257f057b834fdf9f4a6ad6133598b79bd982",
      "tree": "fd1621a8c03331bd78abfe52c8c385977d0a9729",
      "parents": [
        "94f2f715771d0aa5554451d1e2a920f11b8be3fe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Apr 25 18:32:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Apr 25 18:32:13 2005 -0700"
      },
      "message": "[PATCH] kill gratitious includes of major.h under net/*\n\nA lot of places in there are including major.h for no reason whatsoever.\nRemoved.  And yes, it still builds. \n\nThe history of that stuff is often amusing.  E.g.  for net/core/sock.c\nthe story looks so, as far as I\u0027ve been able to reconstruct it: we used\nto need major.h in net/socket.c circa 1.1.early.  In 1.1.13 that need\nhad disappeared, along with register_chrdev(SOCKET_MAJOR, \"socket\",\n\u0026net_fops) in sock_init().  Include had not.  When 1.2 -\u003e 1.3 reorg of\nnet/* had moved a lot of stuff from net/socket.c to net/core/sock.c,\nthis crap had followed... \n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "edec231a8a652384cb6d61e648338aa5155f2b72",
      "tree": "70652aa8f30bea3ea83594cc4a47a11f7a8db89d",
      "parents": [
        "c5c13fafd6548fe36b8fe9285c1912fcf96379f4"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Apr 24 20:22:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 24 20:22:28 2005 -0700"
      },
      "message": "[IPV6]: export inet6_sock_nr\n\nPlease apply, SCTP/DCCP needs this when INET_REFCNT_DEBUG\nis set.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d3d077cd4f1154e63a9858e47fe3fb1ad0c03e5",
      "tree": "63f376b3586412af712ffac7d500516c98f7bb2c",
      "parents": [
        "aa77d26961fa4ecb11fe4209578dcd62ad15819d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 24 20:16:19 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 24 20:16:19 2005 -0700"
      },
      "message": "[SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS.\n\nThe SELinux hooks invoke ipv6_skip_exthdr() with an incorrect\nlength final argument.  However, the length argument turns out\nto be superfluous.\n\nI was just reading ipv6_skip_exthdr and it occured to me that we can\nget rid of len altogether.  The only place where len is used is to\ncheck whether the skb has two bytes for ipv6_opt_hdr.  This check\nis done by skb_header_pointer/skb_copy_bits anyway.\n\nNow it might appear that we\u0027ve made the code slower by deferring\nthe check to skb_copy_bits.  However, this check should not trigger\nin the common case so this is OK.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3320da8906d8a7277ef54fd1b3646f85354cb66a",
      "tree": "97b9e465bc72ed95a0d3959cf0abb3786f9d7517",
      "parents": [
        "357b40a18b04c699da1d45608436e9b76b50e251"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 19 22:32:22 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 22:32:22 2005 -0700"
      },
      "message": "[IPV6]: Replace bogus instances of inet-\u003erecverr\n\nWhile looking at this problem I noticed that IPv6 was sometimes\nlooking at inet-\u003erecverr which is bogus.  Here is a patch to\ncorrect that and use np-\u003erecverr.\n \nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "357b40a18b04c699da1d45608436e9b76b50e251",
      "tree": "51c4480c9508a911d52a3f69bbe84ec1191fd202",
      "parents": [
        "fd92833a52b972aafacced959f4a3f7541936a9b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 19 22:30:14 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 22:30:14 2005 -0700"
      },
      "message": "[IPV6]: IPV6_CHECKSUM socket option can corrupt kernel memory\n\nSo here is a patch that introduces skb_store_bits -- the opposite of\nskb_copy_bits, and uses them to read/write the csum field in rawv6.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd92833a52b972aafacced959f4a3f7541936a9b",
      "tree": "78d8e11eca4d84b91f5be4a28ad81ba523f9dc65",
      "parents": [
        "c4d541106bc5d0a2134aaf9e8735eee3c70b0db2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 19 22:27:09 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 22:27:09 2005 -0700"
      },
      "message": "[IPV6]: Fix a branch prediction\n\nFrom: Tushar Gohad \u003ctgohad@mvista.com\u003e\n\nSigned-off-by: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\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"
    }
  ]
}
