)]}'
{
  "log": [
    {
      "commit": "cba5cbd1559f49bec76e54de6ed21b7df3742ada",
      "tree": "d2e6d53763f4822c5c8488ed0906f697263608b8",
      "parents": [
        "6a8341b68b5269de71c32c6df91f4b0298da031d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jul 30 16:31:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 16:31:46 2008 -0700"
      },
      "message": "atm: fix const assignment/discard warnings in the ATM networking driver\n\nFix const assignment/discard warnings in the ATM networking driver.\n\nThe lane2_assoc_ind() function needed its arguments changing to match changes\nin the lane2_ops struct (patch 61c33e012964ce358b42d2a1e9cd309af5dab02b\n\"atm: use const where reasonable\").\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a8341b68b5269de71c32c6df91f4b0298da031d",
      "tree": "e56055f2d31c4082a0a91b613c301e24c8ee2a14",
      "parents": [
        "697f8d0348a652593d195a13dd1067d9df911a82"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jul 30 16:30:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 16:30:15 2008 -0700"
      },
      "message": "net: use the common ascii hex helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4adf0af6818f3ea52421dc0bae836cfaf20ef72a",
      "tree": "480835bbc913896cd726e3f90d20ce8c859636f7",
      "parents": [
        "e62112c53acfefc67ccfbdc1895eebccf866bc1b"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "siwu@hrz.tu-chemnitz.de",
        "time": "Wed Jul 30 16:27:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 16:27:55 2008 -0700"
      },
      "message": "bridge: send correct MTU value in PMTU (revised)\n\nWhen bridging interfaces with different MTUs, the bridge correctly chooses\nthe minimum of the MTUs of the physical devices as the bridges MTU.  But\nwhen a frame is passed which fits through the incoming, but not through\nthe outgoing interface, a \"Fragmentation Needed\" packet is generated.\n\nHowever, the propagated MTU is hardcoded to 1500, which is wrong in this\nsituation.  The sender will repeat the packet again with the same frame\nsize, and the same problem will occur again.\n\nInstead of sending 1500, the (correct) MTU value of the bridge is now sent\nvia PMTU.  To achieve this, the corresponding rtable structure is stored\nin its net_bridge structure.\n\nModified to get rid of fake_net_device as well.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "031cf19e6f63941506c9baf76ac7adac06edcf08",
      "tree": "71b951007dc4e416848290a78a2ebe269e208dfb",
      "parents": [
        "17ef51fce03758736e9051c4360eca237dd0aaeb"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Jul 30 03:14:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:27:53 2008 -0700"
      },
      "message": "net: Make \"networking\" one-click deselectable.\n\nUse a menuconfig directive to make all of networking support one-click\ndeselectable from the top-level menu.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17ef51fce03758736e9051c4360eca237dd0aaeb",
      "tree": "db3991bf741952e5ba516ee19e18e5ce5fd6f0cd",
      "parents": [
        "785957d3e8c6fb37b18bf671923a76dbd8240025"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Jul 30 03:12:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:27:52 2008 -0700"
      },
      "message": "ipv6: Fix useless proc net sockstat6 removal\n\nThis call is no longer needed, sockstat6 is per namespace so it is\nremoved at the namespace subsystem destruction.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "785957d3e8c6fb37b18bf671923a76dbd8240025",
      "tree": "59f089e4bd109ad9d896c6e6a0f1699f42a34136",
      "parents": [
        "8d50b53d66a8a6ae41bafbdcabe401467803f33a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:03:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:27:25 2008 -0700"
      },
      "message": "tcp: MD5: Use MIB counter instead of warning for MD5 mismatch.\n\nFrom a report by Matti Aarnio, and preliminary patch by Adam Langley.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d50b53d66a8a6ae41bafbdcabe401467803f33a",
      "tree": "7a23efd740161b5b32d3fd473cf024e1a8931ce1",
      "parents": [
        "38c080ffa9c1b840390832b42ce8621464ab9f97"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 02:37:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 02:44:25 2008 -0700"
      },
      "message": "pkt_sched: Fix OOPS on ingress qdisc add.\n\nBug report from Steven Jan Springl:\n\n\tIssuing the following command causes a kernel oops:\n\t\ttc qdisc add dev eth0 handle ffff: ingress\n\nThe problem mostly stems from all of the special case handling of\ningress qdiscs.\n\nSo, to fix this, do the grafting operation the same way we do for TX\nqdiscs.  Which means that dev_activate() and dev_deactivate() now do\nthe \"qdisc_sleeping \u003c--\u003e qdisc\" transitions on dev-\u003erx_queue too.\n\nFuture simplifications are possible now, mainly because it is\nimpossible for dev_queue-\u003e{qdisc,qdisc_sleeping} to be NULL.  There\nare NULL checks all over to handle the ingress qdisc special case\nthat used to exist before this commit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a36702e016947a0ce6c0c024673bb5b16d3f618",
      "tree": "16ae893432a4ea9677a2856bd1ae3d6bc65cc46e",
      "parents": [
        "e93dc4891df93d7efa59d861fdcbb529a1819343"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Tue Jul 29 23:57:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 23:57:58 2008 -0700"
      },
      "message": "IPv6: datagram_send_ctl() should exit immediately when an error occured\n\nWhen an error occured, datagram_send_ctl() should exit immediately rather than\ncontinue to run the for loop. Otherwise, the variable err might be changed and\nthe error might be hidden.\n\nFix this bug by using \"goto\" instead of \"break\".\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e93dc4891df93d7efa59d861fdcbb529a1819343",
      "tree": "545d95bc78c76d44b22bf2590c033311f44c0616",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298",
        "56a6d13dfd49d90d72a1a962246206719dd9d143"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 21:51:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 21:51:00 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "56a6d13dfd49d90d72a1a962246206719dd9d143",
      "tree": "5b654deb1a072dab708e3ec34c6f427f9d03fa95",
      "parents": [
        "77bbadd5ea893f364a0d1879723037678a03725c"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Tue Jul 29 19:59:31 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:09 2008 -0400"
      },
      "message": "mac80211: fix mesh beaconing\n\nThis patch fixes mesh beaconing, which was broken by \"mac80211: revamp\nbeacon configuration\".\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "14db74bcc3f7a779cf395a47e26b06a28207571a",
      "tree": "8cda1c7f894bfedecf06fd42621248dad9dbf45d",
      "parents": [
        "bba95fefb8e31f4799652666d05a4a9aad56e492"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 29 13:22:52 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:08 2008 -0400"
      },
      "message": "mac80211: fix cfg80211 hooks for master interface\n\nThe master interface is a virtual interface that is registered\nto mac80211, changing that does not seem like a good idea at\nthe moment. However, since it has no sdata, we cannot accept\nany configuration for it. This patch makes the cfg80211 hooks\nreject any such attempt.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bba95fefb8e31f4799652666d05a4a9aad56e492",
      "tree": "929ad49feb272974769c2eb64920504b236eda9b",
      "parents": [
        "d0f09804144fd9471a13cf4d80e66842c7fa114f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 29 13:22:51 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:08 2008 -0400"
      },
      "message": "nl80211: fix dump callbacks\n\nJulius Volz pointed out that the dump callbacks in nl80211 were\nbroken and fixed one of them. This patch fixes the other three\nand also addresses the TODOs there.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Julius Volz \u003cjuliusv@google.com\u003e\nCc: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d0f09804144fd9471a13cf4d80e66842c7fa114f",
      "tree": "4a1f0f78bad7e5be4ad400397a19d4b8d6fbbdcd",
      "parents": [
        "0ccd58fc03f40529f66190b1a41e92a732d2bda8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 29 11:32:07 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:08 2008 -0400"
      },
      "message": "mac80211: partially fix skb-\u003ecb use\n\nThis patch fixes mac80211 to not use the skb-\u003ecb over the queue step\nfrom virtual interfaces to the master. The patch also, for now,\ndisables aggregation because that would still require requeuing,\nwill fix that in a separate patch. There are two other places (software\nrequeue and powersaving stations) where requeue can happen, but that is\nnot currently used by any drivers/not possible to use respectively.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5422399518e8142198df888aab00acdac251f754",
      "tree": "1922c0efe9d490c0152487f977241fd9375e101c",
      "parents": [
        "0b06b2ae0e474fc6378117c832bcd94785a9e975"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Thu Jul 24 10:40:37 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:07 2008 -0400"
      },
      "message": "mac80211: append CONFIG_ to MAC80211_VERBOSE_PS_DEBUG in net/mac80211/tx.c.\n\nIn net/mac80211/tx.c, there are some #ifdef which checks\nMAC80211_VERBOSE_PS_DEBUG\n(which in fact is never set) instead of\nCONFIG_MAC80211_VERBOSE_PS_DEBUG, as should be.\n\nThis patch replaces MAC80211_VERBOSE_PS_DEBUG with\nCONFIG_MAC80211_VERBOSE_PS_DEBUG in these #ifdef commands in\nnet/mac80211/tx.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "023a04bebe7030c1e6d5347bd3f27a3e49a1f222",
      "tree": "75309969e9c1749e20f26dd6b86d9d5fcd24e31a",
      "parents": [
        "1b0241656b658522a15e7aad570cb8ea6b255a2a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 14 12:52:08 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:07 2008 -0400"
      },
      "message": "mac80211: return correct error return from ieee80211_wep_init\n\nReturn the proper error code rather than a hard-coded ENOMEM from\nieee80211_wep_init.  Also, print the error code on failure.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1b0241656b658522a15e7aad570cb8ea6b255a2a",
      "tree": "295fa561fe5cae3d50fece17f7d7018fe61983f1",
      "parents": [
        "9c0ab712c7e40b61063431cae74a3e763535a4e7"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Jul 14 12:43:23 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:07 2008 -0400"
      },
      "message": "mac80211: tx, use dev_kfree_skb_any for beacon_get\n\nUse dev_kfree_skb_any(); instead of dev_kfree_skb();, since\nieee80211_beacon_get function might be called from atomic.\n(It\u0027s in a fail path.)\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "435307a365ceedc4f4e1813e405f583f434d98e4",
      "tree": "2f285547aba15a7235e46485ebde365d57cb378e",
      "parents": [
        "064af1117b4aa64a0e52f6b741df7356ef055142"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:22 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:03 2008 -0400"
      },
      "message": "rfkill: yet more minor kernel-doc fixes\n\nFor some stupid reason, I sent and old version of the patch minor kernel\ndoc-fix patch, and it got merged before I noticed the problem. This is an\nincremental fix on top.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "064af1117b4aa64a0e52f6b741df7356ef055142",
      "tree": "262651d81f5d390467ee80bca96e403f86bacee3",
      "parents": [
        "f1b23361a0f15497d4c6795a2935b2e98064ddfb"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:20 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:35 2008 -0400"
      },
      "message": "rfkill: mutex fixes\n\nThere are two mutexes in rfkill:\n\nrfkill-\u003emutex, which protects some of the fields of a rfkill struct, and is\nalso used for callback serialization.\n\nrfkill_mutex, which protects the global state, the list of registered\nrfkill structs and rfkill-\u003eclaim.\n\nMake sure to use the correct mutex, and to not miss locking rfkill-\u003emutex\neven when we already took rfkill_mutex.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "37f55e9d78d1b63047b1b7ae175cdce650547ba8",
      "tree": "bfbaf636dc086d0cc7b904a3dcbfe44c2e2d7a88",
      "parents": [
        "2fd9b2212e25e6411b6f309707f4e2683d164250"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:18 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:32 2008 -0400"
      },
      "message": "rfkill: fix led-trigger unregister order in error unwind\n\nrfkill needs to unregister the led trigger AFTER a call to\nrfkill_remove_switch(), otherwise it will not update the LED state,\npossibly leaving it ON when it should be OFF.\n\nTo make led-trigger unregistering safer, guard against unregistering a\ntrigger twice, and also against issuing trigger events to a led trigger\nthat was unregistered.  This makes the error unwind paths more resilient.\n\nRefer to \"rfkill: Register LED triggers before registering switch\".\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2fd9b2212e25e6411b6f309707f4e2683d164250",
      "tree": "b886e6d11d3478f86ac7e270ef1dfc7fe02e7128",
      "parents": [
        "734b5aa911dc65f4563048f069dfc631c9aa7de7"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:17 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:32 2008 -0400"
      },
      "message": "rfkill: document rfkill_force_state as required (v2)\n\nWhile the rfkill class does work with just get_state(), it doesn\u0027t work\nwell on devices that are subject to external events that cause rfkill state\nchanges.\n\nDocument that rfkill_force_state() is required in those cases.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9e3ee1c39c0cc71222f9980ccbf87fe072897eef",
      "tree": "99462000e6f0d4f907cb2fc690f19d4d441ba0f3",
      "parents": [
        "e56b3bc7942982ac2589c942fb345e38bc7a341a",
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tkernel/stop_machine.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "414f746d232d41ed6ae8632c4495ae795373c44b",
      "tree": "167f9bc8f139c6e82e6732b38c7a938b8a9d31cd",
      "parents": [
        "5a7a201c51c324876d00a54e7208af6af12d1ca4",
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n"
    },
    {
      "commit": "eeb61f719c00c626115852bbc91189dc3011a844",
      "tree": "b52cddf222ee55082c0aeee5627049aa0d12afa4",
      "parents": [
        "bfbcf034798b2ca45338cee5049b5694b7ddc865"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jul 27 08:59:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:45:34 2008 -0700"
      },
      "message": "missing bits of net-namespace / sysctl\n\nPiss-poor sysctl registration API strikes again, film at 11...\n\nWhat we really need is _pathname_ required to be present in already\nregistered table, so that kernel could warn about bad order.  That\u0027s the\nnext target for sysctl stuff (and generally saner and more explicit\norder of initialization of ipv[46] internals wouldn\u0027t hurt either).\n\nFor the time being, here are full fixups required by ..._rotable()\nstuff; we make per-net sysctl sets descendents of \"ro\" one and make sure\nthat sufficient skeleton is there before we start registering per-net\nsysctls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ab61b01110aa04cd853c619a74881e3225a5e24",
      "tree": "ea73c3373954ebe105853d6657a2522036d638a7",
      "parents": [
        "6f9f489a4eeaa3c8a8618e078a5270d2c4872b67",
        "860239c56bbc7c830bdbcec93b140f22a5a5219b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 05:00:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 05:00:25 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://eden-feed.erg.abdn.ac.uk/net-2.6\n"
    },
    {
      "commit": "6f9f489a4eeaa3c8a8618e078a5270d2c4872b67",
      "tree": "be3348d282a5ac20275710afaaedc2a45adbb8d6",
      "parents": [
        "15d3b4a26291c170563e2b25ded5de1324f93959"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 27 04:40:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:51 2008 -0700"
      },
      "message": "net: missing bits of net-namespace / sysctl\n\nPiss-poor sysctl registration API strikes again, film at 11...\nWhat we really need is _pathname_ required to be present in\nalready registered table, so that kernel could warn about bad\norder.  That\u0027s the next target for sysctl stuff (and generally\nsaner and more explicit order of initialization of ipv[46]\ninternals wouldn\u0027t hurt either).\n\nFor the time being, here are full fixups required by ..._rotable()\nstuff; we make per-net sysctl sets descendents of \"ro\" one and\nmake sure that sufficient skeleton is there before we start registering\nper-net sysctls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15d3b4a26291c170563e2b25ded5de1324f93959",
      "tree": "9bea548a7de5215c58a091d58f4eefdb92349f2c",
      "parents": [
        "2c3abab7c95295f319dc8899b74cbd60140fcdfb",
        "8be1a6d6c77ab4532e4476fdb8177030ef48b52c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:08 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "2c3abab7c95295f319dc8899b74cbd60140fcdfb",
      "tree": "b6fbad678b3967208b045e3a9aa3962d20c0dccf",
      "parents": [
        "6c3b8fc618905d7599dcc514c99ce4293d476f39"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 03:59:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 03:59:24 2008 -0700"
      },
      "message": "ipcomp: Fix warnings after ipcomp consolidation.\n\nnet/ipv4/ipcomp.c: In function ‘ipcomp4_init_state’:\nnet/ipv4/ipcomp.c:109: warning: unused variable ‘calg_desc’\nnet/ipv4/ipcomp.c:108: warning: unused variable ‘ipcd’\nnet/ipv4/ipcomp.c:107: warning: ‘err’ may be used uninitialized in this function\nnet/ipv6/ipcomp6.c: In function ‘ipcomp6_init_state’:\nnet/ipv6/ipcomp6.c:139: warning: unused variable ‘calg_desc’\nnet/ipv6/ipcomp6.c:138: warning: unused variable ‘ipcd’\nnet/ipv6/ipcomp6.c:137: warning: ‘err’ may be used uninitialized in this function\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4836e3007882984279ca63d3c42bf0b14616eb78",
      "tree": "28bf22726964e068b825491d71a141eefedbe5f8",
      "parents": [
        "5c7c204aeca51ccfad63caab4fcdc5d8026c0fd8",
        "4e1e018ecc6f7bfd10fc75b3ff9715cc8164e0a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (39 commits)\n  [PATCH] fix RLIM_NOFILE handling\n  [PATCH] get rid of corner case in dup3() entirely\n  [PATCH] remove remaining namei_{32,64}.h crap\n  [PATCH] get rid of indirect users of namei.h\n  [PATCH] get rid of __user_path_lookup_open\n  [PATCH] f_count may wrap around\n  [PATCH] dup3 fix\n  [PATCH] don\u0027t pass nameidata to __ncp_lookup_validate()\n  [PATCH] don\u0027t pass nameidata to gfs2_lookupi()\n  [PATCH] new (local) helper: user_path_parent()\n  [PATCH] sanitize __user_walk_fd() et.al.\n  [PATCH] preparation to __user_walk_fd cleanup\n  [PATCH] kill nameidata passing to permission(), rename to inode_permission()\n  [PATCH] take noexec checks to very few callers that care\n  Re: [PATCH 3/6] vfs: open_exec cleanup\n  [patch 4/4] vfs: immutable inode checking cleanup\n  [patch 3/4] fat: dont call notify_change\n  [patch 2/4] vfs: utimes cleanup\n  [patch 1/4] vfs: utimes: move owner check into inode_change_ok()\n  [PATCH] vfs: use kstrdup() and check failing allocation\n  ...\n"
    },
    {
      "commit": "228428428138e231a155464239880201e5cc8b44",
      "tree": "89b437f5501d03ca36b717e232337426d0de77ca",
      "parents": [
        "78681ac08a611313595d13cafabae1183b71ef48",
        "6c3b8fc618905d7599dcc514c99ce4293d476f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:17:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:17:56 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  netns: fix ip_rt_frag_needed rt_is_expired\n  netfilter: nf_conntrack_extend: avoid unnecessary \"ct-\u003eext\" dereferences\n  netfilter: fix double-free and use-after free\n  netfilter: arptables in netns for real\n  netfilter: ip{,6}tables_security: fix future section mismatch\n  selinux: use nf_register_hooks()\n  netfilter: ebtables: use nf_register_hooks()\n  Revert \"pkt_sched: sch_sfq: dump a real number of flows\"\n  qeth: use dev-\u003eml_priv instead of dev-\u003epriv\n  syncookies: Make sure ECN is disabled\n  net: drop unused BUG_TRAP()\n  net: convert BUG_TRAP to generic WARN_ON\n  drivers/net: convert BUG_TRAP to generic WARN_ON\n"
    },
    {
      "commit": "516e0cc5646f377ab80fcc2ee639892eccb99853",
      "tree": "e06296dcedb42dbe397d237887873e70c5823d51",
      "parents": [
        "3c333937ee3be114b181c4861188cfe8f6a59697"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 00:39:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:40 2008 -0400"
      },
      "message": "[PATCH] f_count may wrap around\n\nmake it atomic_long_t; while we are at it, get rid of useless checks in affs,\nhfs and hpfs - -\u003eopen() always has it equal to 1, -\u003erelease() - to 0.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bd7b1533cd6a68c734062aa69394bec7e2b1718e",
      "tree": "f968f6c68672502db08912bf69d8e3d1ba25169b",
      "parents": [
        "f7e6ced4061da509f737541ca4dbd44d83a6e82f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 16:00:59 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:10 2008 -0400"
      },
      "message": "[PATCH] sysctl: make sure that /proc/sys/net/ipv4 appears before per-ns ones\n\nMassage ipv4 initialization - make sure that net.ipv4 appears as\nnon-per-net-namespace before it shows up in per-net-namespace sysctls.\nThat\u0027s the only change outside of sysctl.c needed to get sane ordering\nrules and data structures for sysctls (esp. for procfs side of that\nmess).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "734550921e9b7ab924a43aa3d0bd4239dac4fbf1",
      "tree": "7be4b0808ba9860f1d953b45120262a277866021",
      "parents": [
        "7ac6cd653d7c31ad6b7bb5b88c549c4ebf628c34"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 14 21:22:20 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:08 2008 -0400"
      },
      "message": "[PATCH] beginning of sysctl cleanup - ctl_table_set\n\nNew object: set of sysctls [currently - root and per-net-ns].\nContains: pointer to parent set, list of tables and \"should I see this set?\"\nmethod (-\u003eis_seen(set)).\nCurrent lists of tables are subsumed by that; net-ns contains such a beast.\n-\u003elookup() for ctl_table_root returns pointer to ctl_table_set instead of\nthat to -\u003elist of that ctl_table_set.\n\n[folded compile fixes by rdd for configs without sysctl]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6c3b8fc618905d7599dcc514c99ce4293d476f39",
      "tree": "f04de514889f8c7783a5f64645a0dad3b0140305",
      "parents": [
        "6c64825bf40ecc1b01610762ca736b18c8a9db92"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "message": "netns: fix ip_rt_frag_needed rt_is_expired\n\nRunning recent kernels, and using a particular vpn gateway, I\u0027ve been\nhaving to edit my mails down to get them accepted by the smtp server.\n\nGit bisect led to commit e84f84f276473dcc673f360e8ff3203148bdf0e2 -\nnetns: place rt_genid into struct net.  The conversion from a !\u003d test\nto rt_is_expired() put one negative too many: and now my mail works.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c64825bf40ecc1b01610762ca736b18c8a9db92",
      "tree": "2cfd89fde882986d9f46f496f246192583cc3119",
      "parents": [
        "93bc4e89c260d91576840c4881d1066d84ccd422"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 26 17:50:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:50:05 2008 -0700"
      },
      "message": "netfilter: nf_conntrack_extend: avoid unnecessary \"ct-\u003eext\" dereferences\n\nAs Linus points out, \"ct-\u003eext\" and \"new\" are always equal, avoid unnecessary\ndereferences and use \"new\" directly.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93bc4e89c260d91576840c4881d1066d84ccd422",
      "tree": "456176a054fc9a3fed18ac6ce50c7a34a86c5808",
      "parents": [
        "3918fed5f31213067c1c345bd904e1ea369e6819"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jul 26 17:49:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:49:33 2008 -0700"
      },
      "message": "netfilter: fix double-free and use-after free\n\nAs suggested by Patrick McHardy, introduce a __krealloc() that doesn\u0027t\nfree the original buffer to fix a double-free and use-after-free bug\nintroduced by me in netfilter that uses RCU.\n\nReported-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nTested-by: Dieter Ries \u003cclip2@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3918fed5f31213067c1c345bd904e1ea369e6819",
      "tree": "81148af4b7f53f32e4cfcee8f731eb3ec1382597",
      "parents": [
        "f858b4869a9136dd28cc2ab37f8b89268cc99462"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 17:48:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:48:59 2008 -0700"
      },
      "message": "netfilter: arptables in netns for real\n\nIN, FORWARD -- grab netns from in device, OUT -- from out device.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f858b4869a9136dd28cc2ab37f8b89268cc99462",
      "tree": "32bf6b63d25d5a807575cde15284abaee0307873",
      "parents": [
        "6c5a9d2e1599a099b0e47235a1c1502162b14310"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 17:48:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:48:38 2008 -0700"
      },
      "message": "netfilter: ip{,6}tables_security: fix future section mismatch\n\nCurrently not visible, because NET_NS is mutually exclusive with SYSFS\nwhich is required by SECURITY.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e40f51a36a6ca718e829c0933ab1e79333ac932e",
      "tree": "94df5c10b946aa08dd741e2e1d0a43e0583aaa32",
      "parents": [
        "cdec7e50a4896c5197d5575d9ca635eea6825149"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 17:47:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:47:53 2008 -0700"
      },
      "message": "netfilter: ebtables: use nf_register_hooks()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bc3cc03fa6e1c20aecb5a33356bcaae410640b9",
      "tree": "7dab4b0002298b45e31053fe0f37e5ff745682b7",
      "parents": [
        "6524d938b3360504b43a1278b5a8403e85383d1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n\n  * Replace previous instances of the cpumask_of_cpu_ptr* macros\n    with a the new (lvalue capable) generic cpumask_of_cpu().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "860239c56bbc7c830bdbcec93b140f22a5a5219b",
      "tree": "52de988257064b33441f3a8341f6f2fac48a3fe4",
      "parents": [
        "18e1d836002ad970f42736bad09b7be9cfe99545"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:11 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:11 2008 +0100"
      },
      "message": "dccp: Add check for truncated ICMPv6 DCCP error packets\n\nThis patch adds a minimum-length check for ICMPv6 packets, as per the previous\npatch for ICMPv4 payloads.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "18e1d836002ad970f42736bad09b7be9cfe99545",
      "tree": "2e704da1e24eba0f1a09d4b983a34bcc5b51f29d",
      "parents": [
        "e0bcfb0c6a6ed9ebd68746b306298dc5797fd426"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Fix incorrect length check for ICMPv4 packets\n\nUnlike TCP, which only needs 8 octets of original packet data, DCCP requires\nminimally 12 or 16 bytes for ICMP-payload sequence number checks.\n\nThis patch replaces the insufficient length constant of 8 with a two-stage\ntest, making sure that 12 bytes are available, before computing the basic\nheader length required for sequence number checks.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "e0bcfb0c6a6ed9ebd68746b306298dc5797fd426",
      "tree": "815e27766944fa7a54ae49d06aa241632187d968",
      "parents": [
        "d68f0866f76e2bc4ddc07e88e2cb1bc8959a6d7e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Add check for sequence number in ICMPv6 message\n\nThis adds a sequence number check for ICMPv6 DCCP error packets, in the same\nmanner as it has been done for ICMPv4 in the previous patch.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "d68f0866f76e2bc4ddc07e88e2cb1bc8959a6d7e",
      "tree": "2cab08fd8de1c81c6d5a545a5b2aa96743cb6862",
      "parents": [
        "73f18fdbca3f92b90aeaee16f5175fe30496e218"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Fix sequence number check for ICMPv4 packets\n\nThe payload of ICMP message is a part of the packet sent by ourself,\nso the sequence number check must use AWL and AWH, not SWL and SWH.\n\nFor example:\n     Endpoint A                  Endpoint B\n\n     DATA-ACK       --------\u003e\n     (SEQ\u003dX)\n                    \u003c--------    ICMP (Fragmentation Needed)\n                                 (SEQ\u003dX)\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "73f18fdbca3f92b90aeaee16f5175fe30496e218",
      "tree": "855e3a9dcad54336c3b0301e09f85b39a9c2b48a",
      "parents": [
        "59435444a13ed52d3444c5df26b73d3086bcd57b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Bug-Fix - AWL was never updated\n\nThe AWL lower Ack validity window advances in proportion to GSS, the greatest\nsequence number sent. Updating AWL other than at connection setup (in the\nDCCP-Request sent by dccp_v{4,6}_connect()) was missing in the DCCP code.\n\nThis bug lead to syslog messages such as\n\n \"kernel: dccp_check_seqno: DCCP: Step 6 failed for DATAACK packet, [...] \n  P.ackno exists or LAWL(82947089) \u003c\u003d P.ackno(82948208)\n                                   \u003c\u003d S.AWH(82948728), sending SYNC...\"\n\nThe difference between AWL/AWH here is 1639 packets, while the expected value\n(the Sequence Window) would have been 100 (the default).  A closer look showed\nthat LAWL \u003d AWL \u003d 82947089 equalled the ISS on the Response.\n\nThe patch now updates AWL with each increase of GSS.\n\n\nFurther changes:\n----------------\nThe patch also enforces more stringent checks on the ISS sequence number:\n\n * AWL is initialised to ISS at connection setup and remains at this value;\n * AWH is then always set to GSS (via dccp_update_gss());\n * so on the first Request: AWL \u003d      AWH \u003d ISS,\n   and on the n-th Request: AWL \u003d ISS, AWH \u003d ISS + n.\n\nAs a consequence, only Response packets that refer to Requests sent by this\nhost will pass, all others are discarded. This is the intention and in effect \nimplements the initial adjustments for AWL as specified in RFC 4340, 7.5.1.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e   \nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\n"
    },
    {
      "commit": "59435444a13ed52d3444c5df26b73d3086bcd57b",
      "tree": "72846dbcb8c6c41e6d630bcb81297801dfe7fb16",
      "parents": [
        "cdec7e50a4896c5197d5575d9ca635eea6825149"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:09 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:09 2008 +0100"
      },
      "message": "dccp: Allow to distinguish original and retransmitted packets\n\nThis patch allows the sender to distinguish original and retransmitted packets,\nwhich is in particular needed for the retransmission of DCCP-Requests:\n * the first Request uses ISS (generated in net/dccp/ip*.c), and sets GSS \u003d ISS;\n * all retransmitted Requests use GSS\u0027 \u003d GSS + 1, so that the n-th retransmitted\n   Request has sequence number ISS + n (mod 48).\n\nTo add generic support, the patch reorganises existing code so that:\n * icsk_retransmits \u003d\u003d 0     for the original packet and\n * icsk_retransmits \u003d n \u003e 0  for the n-th retransmitted packet\nat the time dccp_transmit_skb() is called, via dccp_retransmit_skb().\n \nThanks to Wei Yongjun for pointing this problem out.\n\nFurther changes:\n----------------\n * removed the `skb\u0027 argument from dccp_retransmit_skb(), since sk_send_head\n   is used for all retransmissions (the exception is client-Acks in PARTOPEN\n   state, but these do not use sk_send_head);\n * since sk_send_head always contains the original skb (via dccp_entail()),\n   skb_cloned() never evaluated to true and thus pskb_copy() was never used.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "cdec7e50a4896c5197d5575d9ca635eea6825149",
      "tree": "0071b43c923cd73b4a5d2d09fbb876ed39a3a06d",
      "parents": [
        "509e2562adfd63964aa30c1ddd9ddf4e57949351"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:28:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:28:09 2008 -0700"
      },
      "message": "Revert \"pkt_sched: sch_sfq: dump a real number of flows\"\n\nThis reverts commit f867e6af94239a04ec23aeec2fcda5aa58e41db7.\n\nBased upon discussions between Jarek and Patrick McHardy\nthis is field being set is more a config parameter than a\nstatistic.  And we should add a true statistic to provide\nthis information if we really want it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16df845f4566bc252f3e09db12f5c2f22cb44226",
      "tree": "c83f5b664b669ff26bbf5c9a44b9ccecfa53c506",
      "parents": [
        "ec34c702ca8b7d6f0aa54379c3b0d0ec10b8ff23"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Jul 26 02:21:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:21:54 2008 -0700"
      },
      "message": "syncookies: Make sure ECN is disabled\n\necn_ok is not initialized when a connection is established by cookies.\nThe cookie syn-ack never sets ECN, so ecn_ok must be set to 0.\n\nSpotted using ns-3/network simulation cradle simulator and valgrind.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ff8419871ea757ae0298aa296bcff9b2ca48561",
      "tree": "ff2194bc75f06107e16220ce303ef546f9a4c769",
      "parents": [
        "8d25b36b77fe32c296ece83e94ca6ae4d17f3e25",
        "7d7e5a60c62e88cb8782760bb6c4d3bd1577a6c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 17:40:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 17:40:16 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  ipsec: ipcomp - Decompress into frags if necessary\n  ipsec: ipcomp - Merge IPComp implementations\n  pkt_sched: Fix locking in shutdown_scheduler_queue()\n"
    },
    {
      "commit": "4ecb90090c84210a8bd2a9d7a5906e616735873c",
      "tree": "a7baec8859ff9750296be318400ba4475eb40b6c",
      "parents": [
        "99541c23cd32bacf1a591ca537a7c0cb9053ad7e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Jul 25 01:48:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "sysctl: allow override of /proc/sys/net with CAP_NET_ADMIN\n\nExtend the permission check for networking sysctl\u0027s to allow modification\nwhen current process has CAP_NET_ADMIN capability and is not root.  This\nversion uses the until now unused permissions hook to override the mode\nvalue for /proc/sys/net if accessed by a user with capabilities.\n\nFound while working with Quagga.  It is impossible to turn forwarding\non/off through the command interface because Quagga uses secure coding\npractice of dropping privledges during initialization and only raising via\ncapabilities when necessary.  Since the dameon has reset real/effective\nuid after initialization, all attempts to access /proc/sys/net variables\nwill fail.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Andrew Morgan \u003cmorgan@kernel.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "717115e1a5856b57af0f71e1df7149108294fc10",
      "tree": "9528a992245c2fb993a0cf0bc8221dc7dea5d259",
      "parents": [
        "2711b793eb62a5873a0ba583a69252040aef176e"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "printk ratelimiting rewrite\n\nAll ratelimit user use same jiffies and burst params, so some messages\n(callbacks) will be lost.\n\nFor example:\na call printk_ratelimit(5 * HZ, 1)\nb call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will\nwill be supressed.\n\n- rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for\n  hints from andrew.\n\n- Add WARN_ON_RATELIMIT, update rcupreempt.h\n\n- remove __printk_ratelimit\n\n- use __ratelimit in net_ratelimit\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "696adfe84c11c571a1e0863460ff0ec142b4e5a9",
      "tree": "f00042d0c69211955ec6ef3a5d4a5c49ec7f8890",
      "parents": [
        "2fc9c4e18f94431e7eb77d97edb2a995b46fba55"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jul 25 01:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "list_for_each_rcu must die: networking\n\nAll uses of list_for_each_rcu() can be profitably replaced by the\neasier-to-use list_for_each_entry_rcu().  This patch makes this change for\nnetworking, in preparation for removing the list_for_each_rcu() API\nentirely.\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d7e5a60c62e88cb8782760bb6c4d3bd1577a6c6",
      "tree": "c6bedd62097698466d7dc0b5166e4ed29e1b6ee5",
      "parents": [
        "6fccab671f2f0a24b799f29a4ec878f62d34656c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jul 25 02:55:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 02:55:33 2008 -0700"
      },
      "message": "ipsec: ipcomp - Decompress into frags if necessary\n\nWhen decompressing extremely large packets allocating them through\nkmalloc is prone to failure.  Therefore it\u0027s better to use page\nfrags instead.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fccab671f2f0a24b799f29a4ec878f62d34656c",
      "tree": "e90a1ac0770f8fe59bd7c8768663052a7756b950",
      "parents": [
        "cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jul 25 02:54:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 02:54:40 2008 -0700"
      },
      "message": "ipsec: ipcomp - Merge IPComp implementations\n\nThis patch merges the IPv4/IPv6 IPComp implementations since most\nof the code is identical.  As a result future enhancements will no\nlonger need to be duplicated.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3",
      "tree": "8d016589486306d406f12ed6b8d85f4be59e460d",
      "parents": [
        "f867e6af94239a04ec23aeec2fcda5aa58e41db7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 01:25:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 01:25:04 2008 -0700"
      },
      "message": "pkt_sched: Fix locking in shutdown_scheduler_queue()\n\nQdisc locks need to be held with BH disabled.\n\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3c2233d84bee397b8271923c007264eb3efa67b",
      "tree": "3a6d7d9644f926cdf00cad03920bb238fc6f5b15",
      "parents": [
        "f9247273cb69ba101877e946d2d83044409cc8c5",
        "f867e6af94239a04ec23aeec2fcda5aa58e41db7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:14:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:14:58 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  pkt_sched: sch_sfq: dump a real number of flows\n  atm: [fore200e] use MODULE_FIRMWARE() and other suggested cleanups\n  netfilter: make security table depend on NETFILTER_ADVANCED\n  tcp: Clear probes_out more aggressively in tcp_ack().\n  e1000e: fix e1000_netpoll(), remove extraneous e1000_clean_tx_irq() call\n  net: Update entry in af_family_clock_key_strings\n  netdev: Remove warning from __netif_schedule().\n  sky2: don\u0027t stop queue on shutdown\n"
    },
    {
      "commit": "e38b36f325153eaadd1c2a7abc5762079233e540",
      "tree": "92cfc9855e41c5328d91456f5e373c00ecb8d383",
      "parents": [
        "510df2dd482496083e1c3b1a8c9b6afd5fa4c7d7"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: check magic constants\n\nThis patch adds test that ensure the boundary conditions for the various\nconstants introduced in the previous patches is met.  No code is generated.\n\n[akpm@linux-foundation.org: fix alpha]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77d2720059618b9b6e827a8b73831eb6c6fad63c",
      "tree": "c8a08caa9a864c546fda2e043d5232c377d210c6",
      "parents": [
        "99829b832997d907c30669bfd17da32151e18f04"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: NONBLOCK in socket and socketpair\n\nThis patch introduces support for the SOCK_NONBLOCK flag in socket,\nsocketpair, and  paccept.  To do this the internal function sock_attach_fd\ngets an additional parameter which it uses to set the appropriate flag for\nthe file descriptor.\n\nGiven that in modern, scalable programs almost all socket connections are\nnon-blocking and the minimal additional cost for the new functionality\nI see no reason not to add this code.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_paccept\n# ifdef __x86_64__\n#  define __NR_paccept 288\n# elif defined __i386__\n#  define SYS_PACCEPT 18\n#  define USE_SOCKETCALL 1\n# else\n#  error \"need __NR_paccept\"\n# endif\n#endif\n\n#ifdef USE_SOCKETCALL\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  ({ long args[6] \u003d { \\\n       (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \\\n     syscall (__NR_socketcall, SYS_PACCEPT, args); })\n#else\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags)\n#endif\n\n#define PORT 57392\n\n#define SOCK_NONBLOCK O_NONBLOCK\n\nstatic pthread_barrier_t b;\n\nstatic void *\ntf (void *arg)\n{\n  pthread_barrier_wait (\u0026b);\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  struct sockaddr_in sin;\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  pthread_barrier_wait (\u0026b);\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  return NULL;\n}\n\nint\nmain (void)\n{\n  int fd;\n  fd \u003d socket (PF_INET, SOCK_STREAM, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(0) failed\");\n      return 1;\n    }\n  int fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"socket(0) set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d socket (PF_INET, SOCK_STREAM|SOCK_NONBLOCK, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n  fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"socket(SOCK_NONBLOCK) does not set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  int fds[2];\n  if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      fl \u003d fcntl (fds[i], F_GETFL);\n      if (fl \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (fl \u0026 O_NONBLOCK)\n        {\n          printf (\"socketpair(0) set non-blocking mode for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  if (socketpair (PF_UNIX, SOCK_STREAM|SOCK_NONBLOCK, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      fl \u003d fcntl (fds[i], F_GETFL);\n      if (fl \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n        {\n          printf (\"socketpair(SOCK_NONBLOCK) does not set non-blocking mode for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  pthread_barrier_init (\u0026b, NULL, 2);\n\n  struct sockaddr_in sin;\n  pthread_t th;\n  if (pthread_create (\u0026th, NULL, tf, NULL) !\u003d 0)\n    {\n      puts (\"pthread_create failed\");\n      return 1;\n    }\n\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  int reuse \u003d 1;\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  int s2 \u003d paccept (s, NULL, 0, NULL, 0);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(0) failed\");\n      return 1;\n    }\n\n  fl \u003d fcntl (s2, F_GETFL);\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"paccept(0) set non-blocking mode\");\n      return 1;\n    }\n  close (s2);\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  s2 \u003d paccept (s, NULL, 0, NULL, SOCK_NONBLOCK);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n\n  fl \u003d fcntl (s2, F_GETFL);\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"paccept(SOCK_NONBLOCK) does not set non-blocking mode\");\n      return 1;\n    }\n  close (s2);\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c019bbc612f6633ede7ed67725cbf68de45ae8a4",
      "tree": "99b23660c2915e699f35f3fc5820b5cc30f890b3",
      "parents": [
        "aaca0bdca573f3f51ea03139f9c7289541e7bca3"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: paccept w/out set_restore_sigmask\n\nSome platforms do not have support to restore the signal mask in the\nreturn path from a syscall.  For those platforms syscalls like pselect are\nnot defined at all.  This is, I think, not a good choice for paccept()\nsince paccept() adds more value on top of accept() than just the signal\nmask handling.\n\nTherefore this patch defines a scaled down version of the sys_paccept\nfunction for those platforms.  It returns -EINVAL in case the signal mask\nis non-NULL but behaves the same otherwise.\n\nNote that I explicitly included \u003clinux/thread_info.h\u003e.  I saw that it is\ncurrently included but indirectly two levels down.  There is too much risk\nin relying on this.  The header might change and then suddenly the\nfunction definition would change without anyone immediately noticing.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aaca0bdca573f3f51ea03139f9c7289541e7bca3",
      "tree": "d25b0baa73b5301d91a5c848a896bad0fb719acc",
      "parents": [
        "a677a039be7243357d93502bff2b40850c942e2d"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: paccept\n\nThis patch is by far the most complex in the series.  It adds a new syscall\npaccept.  This syscall differs from accept in that it adds (at the userlevel)\ntwo additional parameters:\n\n- a signal mask\n- a flags value\n\nThe flags parameter can be used to set flag like SOCK_CLOEXEC.  This is\nimlpemented here as well.  Some people argued that this is a property which\nshould be inherited from the file desriptor for the server but this is against\nPOSIX.  Additionally, we really want the signal mask parameter as well\n(similar to pselect, ppoll, etc).  So an interface change in inevitable.\n\nThe flag value is the same as for socket and socketpair.  I think diverging\nhere will only create confusion.  Similar to the filesystem interfaces where\nthe use of the O_* constants differs, it is acceptable here.\n\nThe signal mask is handled as for pselect etc.  The mask is temporarily\ninstalled for the thread and removed before the call returns.  I modeled the\ncode after pselect.  If there is a problem it\u0027s likely also in pselect.\n\nFor architectures which use socketcall I maintained this interface instead of\nadding a system call.  The symmetry shouldn\u0027t be broken.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_paccept\n# ifdef __x86_64__\n#  define __NR_paccept 288\n# elif defined __i386__\n#  define SYS_PACCEPT 18\n#  define USE_SOCKETCALL 1\n# else\n#  error \"need __NR_paccept\"\n# endif\n#endif\n\n#ifdef USE_SOCKETCALL\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  ({ long args[6] \u003d { \\\n       (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \\\n     syscall (__NR_socketcall, SYS_PACCEPT, args); })\n#else\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags)\n#endif\n\n#define PORT 57392\n\n#define SOCK_CLOEXEC O_CLOEXEC\n\nstatic pthread_barrier_t b;\n\nstatic void *\ntf (void *arg)\n{\n  pthread_barrier_wait (\u0026b);\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  struct sockaddr_in sin;\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  pthread_barrier_wait (\u0026b);\n  sleep (2);\n  pthread_kill ((pthread_t) arg, SIGUSR1);\n\n  return NULL;\n}\n\nstatic void\nhandler (int s)\n{\n}\n\nint\nmain (void)\n{\n  pthread_barrier_init (\u0026b, NULL, 2);\n\n  struct sockaddr_in sin;\n  pthread_t th;\n  if (pthread_create (\u0026th, NULL, tf, (void *) pthread_self ()) !\u003d 0)\n    {\n      puts (\"pthread_create failed\");\n      return 1;\n    }\n\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  int reuse \u003d 1;\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  int s2 \u003d paccept (s, NULL, 0, NULL, 0);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(0) failed\");\n      return 1;\n    }\n\n  int coe \u003d fcntl (s2, F_GETFD);\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"paccept(0) set close-on-exec-flag\");\n      return 1;\n    }\n  close (s2);\n\n  pthread_barrier_wait (\u0026b);\n\n  s2 \u003d paccept (s, NULL, 0, NULL, SOCK_CLOEXEC);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n\n  coe \u003d fcntl (s2, F_GETFD);\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"paccept(SOCK_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (s2);\n\n  pthread_barrier_wait (\u0026b);\n\n  struct sigaction sa;\n  sa.sa_handler \u003d handler;\n  sa.sa_flags \u003d 0;\n  sigemptyset (\u0026sa.sa_mask);\n  sigaction (SIGUSR1, \u0026sa, NULL);\n\n  sigset_t ss;\n  pthread_sigmask (SIG_SETMASK, NULL, \u0026ss);\n  sigaddset (\u0026ss, SIGUSR1);\n  pthread_sigmask (SIG_SETMASK, \u0026ss, NULL);\n\n  sigdelset (\u0026ss, SIGUSR1);\n  alarm (4);\n  pthread_barrier_wait (\u0026b);\n\n  errno \u003d 0 ;\n  s2 \u003d paccept (s, NULL, 0, \u0026ss, 0);\n  if (s2 !\u003d -1 || errno !\u003d EINTR)\n    {\n      puts (\"paccept did not fail with EINTR\");\n      return 1;\n    }\n\n  close (s);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: make it compile]\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a677a039be7243357d93502bff2b40850c942e2d",
      "tree": "6cf1669c4752e2527e02f33baa920cd2dfd59117",
      "parents": [
        "6e2c10a12a2170856f5582d62d583cbcd1cb5eaf"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: socket and socketpair\n\nThis patch adds support for flag values which are ORed to the type passwd\nto socket and socketpair.  The additional code is minimal.  The flag\nvalues in this implementation can and must match the O_* flags.  This\navoids overhead in the conversion.\n\nThe internal functions sock_alloc_fd and sock_map_fd get a new parameters\nand all callers are changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n\n#define PORT 57392\n\n/* For Linux these must be the same.  */\n#define SOCK_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd;\n  fd \u003d socket (PF_INET, SOCK_STREAM, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"socket(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d socket (PF_INET, SOCK_STREAM|SOCK_CLOEXEC, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"socket(SOCK_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  int fds[2];\n  if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      coe \u003d fcntl (fds[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (coe \u0026 FD_CLOEXEC)\n        {\n          printf (\"socketpair(0) set close-on-exec flag for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  if (socketpair (PF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      coe \u003d fcntl (fds[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n        {\n          printf (\"socketpair(SOCK_CLOEXEC) does not set close-on-exec flag for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f867e6af94239a04ec23aeec2fcda5aa58e41db7",
      "tree": "aba94e6be14429ab8a6556c8d10c11a04914568c",
      "parents": [
        "6f75a9b6426e686649ac440c37ec7c249501f9a5"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Jul 23 21:34:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 21:34:27 2008 -0700"
      },
      "message": "pkt_sched: sch_sfq: dump a real number of flows\n\nDump the \"flows\" number according to the number of active flows\ninstead of repeating the \"limit\".\n\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26dcce0fabbef75ae426461edf21b5030bad60f3",
      "tree": "56c64fa47dc29f7ea5a8fd0cab0459fb0a05a2bc",
      "parents": [
        "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
        "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "message": "Merge branch \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  NR_CPUS: Replace NR_CPUS in speedstep-centrino.c\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP\n  NR_CPUS: Replace NR_CPUS in cpufreq userspace routines\n  NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix\n  cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c\n  cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c\n  cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c\n  cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n  Revert \"cpumask: introduce new APIs\"\n  cpumask: make for_each_cpu_mask a bit smaller\n  net: Pass reference to cpumask variable in net/sunrpc/svc.c\n  ...\n\nFix up trivial conflicts in drivers/cpufreq/cpufreq.c manually\n"
    },
    {
      "commit": "70eed75d76635ba7350651b9bd96529a306ec67a",
      "tree": "3fe67ecd24dfdffee1145b5d3983ac7113d9783c",
      "parents": [
        "4b53fb67e385b856a991d402096379dab462170a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 23 16:42:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:42:42 2008 -0700"
      },
      "message": "netfilter: make security table depend on NETFILTER_ADVANCED\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b53fb67e385b856a991d402096379dab462170a",
      "tree": "333dada17059f4c67c48123974059206c2e676d9",
      "parents": [
        "e8ebe3b893792887317bc24cc4608753f81b81d3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:38:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:38:45 2008 -0700"
      },
      "message": "tcp: Clear probes_out more aggressively in tcp_ack().\n\nThis is based upon an excellent bug report from Eric Dumazet.\n\ntcp_ack() should clear -\u003eicsk_probes_out even if there are packets\noutstanding.  Otherwise if we get a sequence of ACKs while we do have\npackets outstanding over and over again, we\u0027ll never clear the\nprobes_out value and eventually think the connection is too sick and\nwe\u0027ll reset it.\n\nThis appears to be some \"optimization\" added to tcp_ack() in the 2.4.x\ntimeframe.  In 2.2.x, probes_out is pretty much always cleared by\ntcp_ack().\n\nHere is Eric\u0027s original report:\n\n----------------------------------------\nApparently, we can in some situations reset TCP connections in a couple of seconds when some frames are lost.\n\nIn order to reproduce the problem, please try the following program on linux-2.6.25.*\n\nSetup some iptables rules to allow two frames per second sent on loopback interface to tcp destination port 12000\n\niptables -N SLOWLO\niptables -A SLOWLO -m hashlimit --hashlimit 2 --hashlimit-burst 1 --hashlimit-mode dstip --hashlimit-name slow2 -j ACCEPT\niptables -A SLOWLO -j DROP\n\niptables -A OUTPUT -o lo -p tcp --dport 12000 -j SLOWLO\n\nThen run the attached program and see the output :\n\n# ./loop\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,1)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,3)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,5)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,7)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,9)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,11)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,201ms,13)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,188ms,15)\nwrite(): Connection timed out\nwrote 890 bytes but was interrupted after 9 seconds\nESTAB      0      0                 127.0.0.1:12000            127.0.0.1:54455\nExiting read() because no data available (4000 ms timeout).\nread 860 bytes\n\nWhile this tcp session makes progress (sending frames with 50 bytes of payload, every 500ms), linux tcp stack decides to reset it, when tcp_retries 2 is reached (default value : 15)\n\ntcpdump :\n\n15:30:28.856695 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: S 33788768:33788768(0) win 32792 \u003cmss 16396,nop,nop,sackOK,nop,wscale 7\u003e\n15:30:28.856711 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: S 33899253:33899253(0) ack 33788769 win 32792 \u003cmss 16396,nop,nop,sackOK,nop,wscale 7\u003e\n15:30:29.356947 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 1:61(60) ack 1 win 257\n15:30:29.356966 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 61 win 257\n15:30:29.866415 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 61:111(50) ack 1 win 257\n15:30:29.866427 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 111 win 257\n15:30:30.366516 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 111:161(50) ack 1 win 257\n15:30:30.366527 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 161 win 257\n15:30:30.876196 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 161:211(50) ack 1 win 257\n15:30:30.876207 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 211 win 257\n15:30:31.376282 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 211:261(50) ack 1 win 257\n15:30:31.376290 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 261 win 257\n15:30:31.885619 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 261:311(50) ack 1 win 257\n15:30:31.885631 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 311 win 257\n15:30:32.385705 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 311:361(50) ack 1 win 257\n15:30:32.385715 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 361 win 257\n15:30:32.895249 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 361:411(50) ack 1 win 257\n15:30:32.895266 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 411 win 257\n15:30:33.395341 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 411:461(50) ack 1 win 257\n15:30:33.395351 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 461 win 257\n15:30:33.918085 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 461:511(50) ack 1 win 257\n15:30:33.918096 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 511 win 257\n15:30:34.418163 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 511:561(50) ack 1 win 257\n15:30:34.418172 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 561 win 257\n15:30:34.927685 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 561:611(50) ack 1 win 257\n15:30:34.927698 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 611 win 257\n15:30:35.427757 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 611:661(50) ack 1 win 257\n15:30:35.427766 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 661 win 257\n15:30:35.937359 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 661:711(50) ack 1 win 257\n15:30:35.937376 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 711 win 257\n15:30:36.437451 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 711:761(50) ack 1 win 257\n15:30:36.437464 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 761 win 257\n15:30:36.947022 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 761:811(50) ack 1 win 257\n15:30:36.947039 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 811 win 257\n15:30:37.447135 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 811:861(50) ack 1 win 257\n15:30:37.447203 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 861 win 257\n15:30:41.448171 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: F 1:1(0) ack 861 win 257\n15:30:41.448189 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: R 33789629:33789629(0) win 0\n\nSource of program :\n\n/*\n * small producer/consumer program.\n * setup a listener on 127.0.0.1:12000\n * Forks a child\n *   child connect to 127.0.0.1, and sends 10 bytes on this tcp socket every 100 ms\n * Father accepts connection, and read all data\n */\n#include \u003csys/types.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003csys/poll.h\u003e\n\nint port \u003d 12000;\nchar buffer[4096];\nint main(int argc, char *argv[])\n{\n        int lfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n        struct sockaddr_in socket_address;\n        time_t t0, t1;\n        int on \u003d 1, sfd, res;\n        unsigned long total \u003d 0;\n        socklen_t alen \u003d sizeof(socket_address);\n        pid_t pid;\n\n        time(\u0026t0);\n        socket_address.sin_family \u003d AF_INET;\n        socket_address.sin_port \u003d htons(port);\n        socket_address.sin_addr.s_addr \u003d htonl(INADDR_LOOPBACK);\n\n        if (lfd \u003d\u003d -1) {\n                perror(\"socket()\");\n                return 1;\n        }\n        setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, \u0026on, sizeof(int));\n        if (bind(lfd, (struct sockaddr *)\u0026socket_address, sizeof(socket_address)) \u003d\u003d -1) {\n                perror(\"bind\");\n                close(lfd);\n                return 1;\n        }\n        if (listen(lfd, 1) \u003d\u003d -1) {\n                perror(\"listen()\");\n                close(lfd);\n                return 1;\n        }\n        pid \u003d fork();\n        if (pid \u003d\u003d 0) {\n                int i, cfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n                close(lfd);\n                if (connect(cfd, (struct sockaddr *)\u0026socket_address, sizeof(socket_address)) \u003d\u003d -1) {\n                        perror(\"connect()\");\n                        return 1;\n                        }\n                for (i \u003d 0 ; ;) {\n                        res \u003d write(cfd, \"blablabla\\n\", 10);\n                        if (res \u003e 0) total +\u003d res;\n                        else if (res \u003d\u003d -1) {\n                                perror(\"write()\");\n                                break;\n                        } else break;\n                        usleep(100000);\n                        if (++i \u003d\u003d 10) {\n                                system(\"ss -on dst 127.0.0.1:12000\");\n                                i \u003d 0;\n                        }\n                }\n                time(\u0026t1);\n                fprintf(stderr, \"wrote %lu bytes but was interrupted after %g seconds\\n\", total, difftime(t1, t0));\n                system(\"ss -on | grep 127.0.0.1:12000\");\n                close(cfd);\n                return 0;\n        }\n        sfd \u003d accept(lfd, (struct sockaddr *)\u0026socket_address, \u0026alen);\n        if (sfd \u003d\u003d -1) {\n                perror(\"accept\");\n                return 1;\n        }\n        close(lfd);\n        while (1) {\n                struct pollfd pfd[1];\n                pfd[0].fd \u003d sfd;\n                pfd[0].events \u003d POLLIN;\n                if (poll(pfd, 1, 4000) \u003d\u003d 0) {\n                        fprintf(stderr, \"Exiting read() because no data available (4000 ms timeout).\\n\");\n                        break;\n                }\n                res \u003d read(sfd, buffer, sizeof(buffer));\n                if (res \u003e 0) total +\u003d res;\n                else if (res \u003d\u003d 0) break;\n                else perror(\"read()\");\n        }\n        fprintf(stderr, \"read %lu bytes\\n\", total);\n        close(sfd);\n        return 0;\n}\n----------------------------------------\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4942af65028c5eb516fdd9053020ccb2ee186ce",
      "tree": "c1dbedc282777c599abf430dbd591edd1380dcab",
      "parents": [
        "5b3ab1dbd401b36ba2f9bfee2d2dae252fd62cd8"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "oliver@hartkopp.net",
        "time": "Wed Jul 23 14:06:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 14:06:04 2008 -0700"
      },
      "message": "net: Update entry in af_family_clock_key_strings\n\nIn the merge phase of the CAN subsystem the \naf_family_clock_key_strings[] have been added to sock.c in commit \n443aef0eddfa44c158d1b94ebb431a70638fcab4 \n(lockdep: fixup sk_callback_lock annotation). This trivial patch adds \nthe missing name for address family 29 (AF_CAN).\n\nSigned-off-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b3ab1dbd401b36ba2f9bfee2d2dae252fd62cd8",
      "tree": "e03459ee944e51a49f46e71aa688c8507005659f",
      "parents": [
        "8a6d2ea0cd121e3bfff4dbce5bc111874cf9e9d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 14:01:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 14:01:29 2008 -0700"
      },
      "message": "netdev: Remove warning from __netif_schedule().\n\nIt isn\u0027t helping anything and we aren\u0027t going to be able to change all\nthe drivers that do queue wakeups in strange situations.\n\nJust letting a noop_qdisc get scheduled will work because when\nqdisc_run() executes via net_tx_work() it will simply find no packets\npending when it makes the -\u003edequeue() call in qdisc_restart.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5554b35933245e95710d709175e14c02cbc956a4",
      "tree": "2eeb2f05a7061da3c9a3bc9ea69a344b990c6b49",
      "parents": [
        "0f6e38a6381446eff5175b77d1094834a633a90f",
        "7f1b358a236ee9c19657a619ac6f2dcabcaa0924"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 12:03:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 12:03:18 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (24 commits)\n  I/OAT: I/OAT version 3.0 support\n  I/OAT: tcp_dma_copybreak default value dependent on I/OAT version\n  I/OAT: Add watchdog/reset functionality to ioatdma\n  iop_adma: cleanup iop_chan_xor_slot_count\n  iop_adma: document how to calculate the minimum descriptor pool size\n  iop_adma: directly reclaim descriptors on allocation failure\n  async_tx: make async_tx_test_ack a boolean routine\n  async_tx: remove depend_tx from async_tx_sync_epilog\n  async_tx: export async_tx_quiesce\n  async_tx: fix handling of the \"out of descriptor\" condition in async_xor\n  async_tx: ensure the xor destination buffer remains dma-mapped\n  async_tx: list_for_each_entry_rcu() cleanup\n  dmaengine: Driver for the Synopsys DesignWare DMA controller\n  dmaengine: Add slave DMA interface\n  dmaengine: add DMA_COMPL_SKIP_{SRC,DEST}_UNMAP flags to control dma unmap\n  dmaengine: Add dma_client parameter to device_alloc_chan_resources\n  dmatest: Simple DMA memcpy test client\n  dmaengine: DMA engine driver for Marvell XOR engine\n  iop-adma: fix platform driver hotplug/coldplug\n  dmaengine: track the number of clients using a channel\n  ...\n\nFixed up conflict in drivers/dca/dca-sysfs.c manually\n"
    },
    {
      "commit": "c010b2f76c3032e48097a6eef291d8593d5d79a6",
      "tree": "16077c83703527732991a55dea1abe330c0ccdc6",
      "parents": [
        "6069fb2ef5d4f47432359c97f350e0cfcc4d208e",
        "521c4d96e0840ecce25b956e00f416ed499ef2ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:09:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:09:51 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (82 commits)\n  ipw2200: Call netif_*_queue() interfaces properly.\n  netxen: Needs to include linux/vmalloc.h\n  [netdrvr] atl1d: fix !CONFIG_PM build\n  r6040: rework init_one error handling\n  r6040: bump release number to 0.18\n  r6040: handle RX fifo full and no descriptor interrupts\n  r6040: change the default waiting time\n  r6040: use definitions for magic values in descriptor status\n  r6040: completely rework the RX path\n  r6040: call napi_disable when puting down the interface and set lp-\u003edev accordingly.\n  mv643xx_eth: fix NETPOLL build\n  r6040: rework the RX buffers allocation routine\n  r6040: fix scheduling while atomic in r6040_tx_timeout\n  r6040: fix null pointer access and tx timeouts\n  r6040: prefix all functions with r6040\n  rndis_host: support WM6 devices as modems\n  at91_ether: use netstats in net_device structure\n  sfc: Create one RX queue and interrupt per CPU package by default\n  sfc: Use a separate workqueue for resets\n  sfc: I2C adapter initialisation fixes\n  ...\n"
    },
    {
      "commit": "16a37acaaf4aaa631ba3f83710ed6cdb1a597520",
      "tree": "5826c763c70dc6b798c0d12216a80f4596dec284",
      "parents": [
        "09177e85d6a0bffac8b55afd28ed8b82bd873f0b"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Tue Jul 22 17:30:57 2008 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jul 22 17:30:57 2008 -0700"
      },
      "message": "I/OAT: tcp_dma_copybreak default value dependent on I/OAT version\n\nI/OAT DMA performance tuning showed different optimal values of\ntcp_dma_copybreak for different I/OAT versions (4096 for 1.2 and 2048\nfor 2.0).  This patch lets ioatdma driver set tcp_dma_copybreak value\naccording to these results.\n\n[dan.j.williams@intel.com: remove some ifdefs]\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "3d0f24a74e7957593a5622eb5c04ed6860dd8391",
      "tree": "52c17c0606f47f5435ada93baf63d1a585a2ccb9",
      "parents": [
        "75307c0fe7fcb3b52a92fe32384fc33f50622654"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:35:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:35:50 2008 -0700"
      },
      "message": "ipv6: icmp6_dst_gc return change\n\nChange icmp6_dst_gc to return the one value the caller cares about rather\nthan using call by reference.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75307c0fe7fcb3b52a92fe32384fc33f50622654",
      "tree": "e29728cacb84bc7b77644099fc8a466c575b90aa",
      "parents": [
        "a76d7345a3f92bb8352f200e7b2e380dddcd7e36"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:35:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:35:07 2008 -0700"
      },
      "message": "ipv6: use kcalloc\n\nTh fib_table_hash is an array, so use kcalloc.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a76d7345a3f92bb8352f200e7b2e380dddcd7e36",
      "tree": "cf86c16ba208ef3af16d06fb941a592f754ad966",
      "parents": [
        "c8a4522245e9931a53a98d5160bb4c00d3f73921"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:34:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:34:35 2008 -0700"
      },
      "message": "ipv6: use spin_trylock_bh\n\nNow there is spin_trylock_bh, use it rather than open coding.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8a4522245e9931a53a98d5160bb4c00d3f73921",
      "tree": "53dfe5ef6ae5706a8ebaa90ae2ae4c84b3dc04fa",
      "parents": [
        "417f28bb340725544c36b35465444d2fd57232b8"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:34:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:34:09 2008 -0700"
      },
      "message": "ipv6: use round_jiffies\n\nThis timer normally happens once a minute, there is no need to cause an\nearly wakeup for it, so align it to next second boundary to safe power.\nIt can\u0027t be deferred because then it could take too long on cleanup or DoS.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "417f28bb340725544c36b35465444d2fd57232b8",
      "tree": "8a38097b4ea34a2877ecfdb95f37ad2864f5754d",
      "parents": [
        "888c848ed34bd5f8cb56567624c0d951ab35174e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:33:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:33:45 2008 -0700"
      },
      "message": "netns: dont alloc ipv6 fib timer list\n\nFIB timer list is a trivial size structure, avoid indirection and just\nput it in existing ns.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "888c848ed34bd5f8cb56567624c0d951ab35174e",
      "tree": "b63a960b5fbdc8bebab6ed1d84212a95a19c0bc2",
      "parents": [
        "4d6971e909e904be60218739fc961188471fc4f4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:21:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:21:58 2008 -0700"
      },
      "message": "ipv6: make struct ipv6_devconf static\n\nstruct ipv6_devconf can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d6971e909e904be60218739fc961188471fc4f4",
      "tree": "b1c5b55ec7f6e6982f6ae55b1e580db629decb8e",
      "parents": [
        "abd0b198ea699578c3c3476d646c91842e19dbd2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:21:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:21:30 2008 -0700"
      },
      "message": "sctp: remove sctp_assoc_proc_exit()\n\nCommit 20c2c1fd6c842caf70dcb1d94b9d58861949fd3d\n(sctp: add sctp/remaddr table to complete RFC remote address table OID)\nadded an unused sctp_assoc_proc_exit() function that seems to have been \nunintentionally created when copying the assocs code.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abd0b198ea699578c3c3476d646c91842e19dbd2",
      "tree": "7fd20239f80d1cad22e9023d3c481944b81a198a",
      "parents": [
        "a94f779f9d82eb2d758a8715eaae5df98e8dcb21"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:20:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:20:45 2008 -0700"
      },
      "message": "sctp: make sctp_outq_flush() static\n\nsctp_outq_flush() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a94f779f9d82eb2d758a8715eaae5df98e8dcb21",
      "tree": "0ea45807ecf0f6788ec226000b4ff69b0c0bd2a1",
      "parents": [
        "8086cd451f08f4c0f9693fc66d87754bbd18cfba"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:20:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:20:11 2008 -0700"
      },
      "message": "pkt_sched: make qdisc_class_hash_alloc() static\n\nThis patch makes the needlessly global qdisc_class_hash_alloc() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf508b1211dbe576778ff445ea1b4b0bcfa5c4ea",
      "tree": "4774838c2db17db71662a625fea25def8823341a",
      "parents": [
        "d29f749e252bcdbfe7a75a58f0ee92da16f127c0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:16:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:16:42 2008 -0700"
      },
      "message": "netdev: Handle -\u003eaddr_list_lock just like -\u003e_xmit_lock for lockdep.\n\nThe new address list lock needs to handle the same device layering\nissues that the _xmit_lock one does.\n\nThis integrates work done by Patrick McHardy.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d29f749e252bcdbfe7a75a58f0ee92da16f127c0",
      "tree": "701734c2beed075d603d28cc4a343ecf1d4e475b",
      "parents": [
        "b32d13102d39ed411d152a7ffcc5f66d5b3b1b49"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Jul 22 14:09:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:09:06 2008 -0700"
      },
      "message": "net: Fix build failure with \u0027make mandocs\u0027.\n\nThe function header comments have to go with the functions\nthey are documenting, or things go horribly wrong when we\ntry to process them with the docbook tools.\n\nWarning(include/linux/netdevice.h:1006): No description found for parameter \u0027dev_queue\u0027\nWarning(include/linux/netdevice.h:1033): No description found for parameter \u0027dev_queue\u0027\nWarning(include/linux/netdevice.h:1067): No description found for parameter \u0027dev_queue\u0027\nWarning(include/linux/netdevice.h:1093): No description found for parameter \u0027dev_queue\u0027\nWarning(include/linux/netdevice.h:1474): No description found for parameter \u0027txq\u0027\nError(net/core/dev.c:1674): cannot understand prototype: \u0027u32 simple_tx_hashrnd; \u0027\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16be63fd1670000b96b76cb55b6f1bead21b4c4b",
      "tree": "7b5bbe9ccf70098a88e31a6da9196f1476730eea",
      "parents": [
        "110cf374a809817d5c080c0ac82d65d029820a66"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 27 11:50:16 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:51 2008 -0700"
      },
      "message": "bluetooth: remove improper bluetooth class symlinks.\n\nDon\u0027t create symlinks in a class to a device that is not owned by the\nclass.  If the bluetooth subsystem really wants to point to all of the\ndevices it controls, it needs to create real devices, not fake symlinks.\n\nCc: Maxim Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b32d13102d39ed411d152a7ffcc5f66d5b3b1b49",
      "tree": "5db024bc2defe8440ea67c16dce65c4082ff4b98",
      "parents": [
        "ebb36a978131810c98e7198b1187090c697cf99f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 18:45:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 18:45:34 2008 -0700"
      },
      "message": "tcp: Fix bitmask test in tcp_syn_options()\n\nAs reported by Alexey Dobriyan:\n\n\t  CHECK   net/ipv4/tcp_output.c\n\tnet/ipv4/tcp_output.c:475:7: warning: dubious: !x \u0026 y\n\nAnd sparse is damn right!\n\n\tif (unlikely(!OPTION_TS \u0026 opts-\u003eoptions))\n\t\t    ^^^\n\t\tsize +\u003d TCPOLEN_SACKPERM_ALIGNED;\n\nOPTION_TS is (1 \u003c\u003c 1), so condition will never trigger.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47112e25da41d9059626033986dc3353e101f815",
      "tree": "72857968c318960ba50a4cc7232041228e8361dc",
      "parents": [
        "6579e57b31d79d31d9b806e41ba48774e73257dc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Jul 21 13:35:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:35:08 2008 -0700"
      },
      "message": "udplite: Protection against coverage value wrap-around\n\nThis patch clamps the cscov setsockopt values to a maximum of 0xFFFF.\n\nSetsockopt values greater than 0xffff can cause an unwanted\nwrap-around.  Further, IPv6 jumbograms are not supported (RFC 3838,\n3.5), so that values greater than 0xffff are not even useful.\n\nFurther changes: fixed a typo in the documentation.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6579e57b31d79d31d9b806e41ba48774e73257dc",
      "tree": "03ba72024a1982ee76b8a891a443b0fdfb6d7c93",
      "parents": [
        "7943986ca1138ac99597b1aa4dc893012dcfdc08"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 21 13:31:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:31:48 2008 -0700"
      },
      "message": "net: Print the module name as part of the watchdog message\n\nAs suggested by Dave:\n\nThis patch adds a function to get the driver name from a struct net_device,\nand consequently uses this in the watchdog timeout handler to print as \npart of the message. \n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7943986ca1138ac99597b1aa4dc893012dcfdc08",
      "tree": "d4e0461f4f0d8c6046253bb72ed12e583e19a5d9",
      "parents": [
        "847499ce71bdcc8fc542062df6ebed3e596608dd"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Jul 21 13:28:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:28:44 2008 -0700"
      },
      "message": "net: use kcalloc in netdev_queue alloc\n\nMinor nit, use size_t for allocation size and kcalloc to allocate\nan array. Probably makes no actual code difference.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "847499ce71bdcc8fc542062df6ebed3e596608dd",
      "tree": "94e7daee7bf9aa15c32bcd8816cc86aad1ff0d10",
      "parents": [
        "3a33cc108d11fab2a2544e2601066ba4924736aa"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Jul 21 13:21:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:21:35 2008 -0700"
      },
      "message": "ipv6: use timer pending\n\nThis fixes the bridge reference count problem and cleanups ipv6 FIB\ntimer management.  Don\u0027t use expires field, because it is not a proper\nway to test, instead use timer_pending().\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5547cd0ae8b46db9a084505239294eed9b8c8e2d",
      "tree": "0ce92a2050c5b6bd8dfe50f6942fbd79da9cbc32",
      "parents": [
        "c71529e42ce39c167dc53430cb8f3d5634af77df"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 21 10:03:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:02 2008 -0700"
      },
      "message": "netfilter: nf_conntrack_sctp: fix sparse warnings\n\nIntroduced by a258860e (netfilter: ctnetlink: add full support for SCTP to ctnetlink):\n\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: incorrect type in argument 1 (different base types)\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2:    expected unsigned int [unsigned] [usertype] x\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2:    got restricted unsigned int const \u003cnoident\u003e\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: incorrect type in argument 1 (different base types)\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2:    expected unsigned int [unsigned] [usertype] x\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2:    got restricted unsigned int const \u003cnoident\u003e\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:532:42: warning: incorrect type in assignment (different base types)\nnet/netfilter/nf_conntrack_proto_sctp.c:532:42:    expected restricted unsigned int \u003cnoident\u003e\nnet/netfilter/nf_conntrack_proto_sctp.c:532:42:    got unsigned int\nnet/netfilter/nf_conntrack_proto_sctp.c:534:39: warning: incorrect type in assignment (different base types)\nnet/netfilter/nf_conntrack_proto_sctp.c:534:39:    expected restricted unsigned int \u003cnoident\u003e\nnet/netfilter/nf_conntrack_proto_sctp.c:534:39:    got unsigned int\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c71529e42ce39c167dc53430cb8f3d5634af77df",
      "tree": "4d7d97e2f35b72ee5da618ffdf60eb53e58350d8",
      "parents": [
        "db1a75bdcc1766dc7e1fae9201ae287dcbcb6c66"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 21 10:03:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:02 2008 -0700"
      },
      "message": "netfilter: nf_nat_sip: c\u003d is optional for session\n\nAccording to RFC2327, the connection information is optional\nin the session description since it can be specified in the\nmedia description instead.\n\nMy provider does exactly that and does not provide any connection\ninformation in the session description.  As a result the new\nkernel drops all invite responses.\n\nThis patch makes it optional as documented.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db1a75bdcc1766dc7e1fae9201ae287dcbcb6c66",
      "tree": "6cc8bd2324d762a177e6e31d1cda7f28ddcc1a5f",
      "parents": [
        "72961ecf84d67d6359a1b30f9b2a8427f13e1e71"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Jul 21 10:02:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:01 2008 -0700"
      },
      "message": "netfilter: xt_TCPMSS: collapse tcpmss_reverse_mtu{4,6} into one function\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72961ecf84d67d6359a1b30f9b2a8427f13e1e71",
      "tree": "531aeb470c069d4ecd91a4080dc820308d84fc9d",
      "parents": [
        "280763c053fee297d95b474f2c145990670371e6"
      ],
      "author": {
        "name": "Eric Leblond",
        "email": "eric@inl.fr",
        "time": "Mon Jul 21 10:02:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:00 2008 -0700"
      },
      "message": "netfilter: nfnetlink_log: send complete hardware header\n\nThis patch adds some fields to NFLOG to be able to send the complete\nhardware header with all necessary informations.\nIt sends to userspace:\n * the type of hardware link\n * the lenght of hardware header\n * the hardware header\n\nSigned-off-by: Eric Leblond \u003ceric@inl.fr\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "280763c053fee297d95b474f2c145990670371e6",
      "tree": "daa5d6b0107318e1fb0fe4c7184c77ab0d40b6ff",
      "parents": [
        "584015727a3b88b46602b20077b46cd04f8b4ab3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jul 21 10:02:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:59 2008 -0700"
      },
      "message": "netfilter: xt_time: fix time\u0027s time_mt()\u0027s use of do_div()\n\nFix netfilter xt_time\u0027s time_mt()\u0027s use of do_div() on an s64 by using\ndiv_s64() instead.\n\nThis was introduced by patch ee4411a1b1e0b679c99686629b5eab5a072ce49f\n(\"[NETFILTER]: x_tables: add xt_time match\").\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "584015727a3b88b46602b20077b46cd04f8b4ab3",
      "tree": "a9b4ec18e2181e03ee24b59b30f7408bcbcf140c",
      "parents": [
        "07a7c1070ed382ad4562e3a0d453fd2001d92f7b"
      ],
      "author": {
        "name": "Krzysztof Piotr Oledzki",
        "email": "ole@ans.pl",
        "time": "Mon Jul 21 10:01:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:58 2008 -0700"
      },
      "message": "netfilter: accounting rework: ct_extend + 64bit counters (v4)\n\nInitially netfilter has had 64bit counters for conntrack-based accounting, but\nit was changed in 2.6.14 to save memory. Unfortunately in-kernel 64bit counters are\nstill required, for example for \"connbytes\" extension. However, 64bit counters\nwaste a lot of memory and it was not possible to enable/disable it runtime.\n\nThis patch:\n - reimplements accounting with respect to the extension infrastructure,\n - makes one global version of seq_print_acct() instead of two seq_print_counters(),\n - makes it possible to enable it at boot time (for CONFIG_SYSCTL/CONFIG_SYSFS\u003dn),\n - makes it possible to enable/disable it at runtime by sysctl or sysfs,\n - extends counters from 32bit to 64bit,\n - renames ip_conntrack_counter -\u003e nf_conn_counter,\n - enables accounting code unconditionally (no longer depends on CONFIG_NF_CT_ACCT),\n - set initial accounting enable state based on CONFIG_NF_CT_ACCT\n - removes buggy IPCT_COUNTER_FILLING event handling.\n\nIf accounting is enabled newly created connections get additional acct extend.\nOld connections are not changed as it is not possible to add a ct_extend area\nto confirmed conntrack. Accounting is performed for all connections with\nacct extend regardless of a current state of \"net.netfilter.nf_conntrack_acct\".\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dbff689c2f299e8f63911247925f2728d087688",
      "tree": "77a0b4db11d438315e2ef97ce117bbe532774600",
      "parents": [
        "ae6134bdf3197206fba95563d755d2fa50d90ddd"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Jul 21 10:00:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:57 2008 -0700"
      },
      "message": "netfilter: nf_nat_core: eliminate useless find_appropriate_src for IP_NAT_RANGE_PROTO_RANDOM\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3678b463df73f5060d7420915080e19baeb379b",
      "tree": "4f4fc3e49bb0a9d21b9280f1c1a990eb03651564",
      "parents": [
        "867d79fb9a4d5929ad8335c896fcfe11c3b2ef14"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 09:56:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:50 2008 -0700"
      },
      "message": "Revert \"pkt_sched: Make default qdisc nonshared-multiqueue safe.\"\n\nThis reverts commit a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d.\n\nAfter discussions with Jamal and Herbert on netdev, we should\nprovide at least minimal prioritization at the qdisc level\neven in multiqueue situations.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "867d79fb9a4d5929ad8335c896fcfe11c3b2ef14",
      "tree": "b33fe42bfc1e73b9e0f65baf9f02ddc437e6dc83",
      "parents": [
        "b6b2fed1f4802b8fcc9d7548a8f785225d38f9a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 21 09:54:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:49 2008 -0700"
      },
      "message": "net: In __netif_schedule() use WARN_ON instead of BUG_ON\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6b2fed1f4802b8fcc9d7548a8f785225d38f9a3",
      "tree": "eebdc34112d617524b762c585b79b2eaab3386ae",
      "parents": [
        "c3ee84163e5bc0dc2e1ccf1d3fc412debca73bab"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 09:48:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:48 2008 -0700"
      },
      "message": "net: Improve simple_tx_hash().\n\nBased upon feedback from Eric Dumazet and Andi Kleen.\n\nCure several deficiencies in simple_tx_hash() by using\njhash + reciprocol multiply.\n\n1) Eliminates expensive modulus operation.\n\n2) Makes hash less attackable by using random seed.\n\n3) Eliminates endianness hash distribution issues.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3ee84163e5bc0dc2e1ccf1d3fc412debca73bab",
      "tree": "9b6319d2abab9ab6e4692dfd71ff4c38dfe7f997",
      "parents": [
        "fd24c4af6e82231391fa09875ae6378fa1399f0f"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Mon Jul 21 09:18:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 09:18:07 2008 -0700"
      },
      "message": "pkt_sched: Remove unused variable skb in dev_deactivate_queue function.\n\nRemoved unused variable \u0027skb\u0027 in the dev_deactivate_queue function\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0"
}
