)]}'
{
  "log": [
    {
      "commit": "f4ab543201992fe499bef5c406e09f23aa97b4d5",
      "tree": "e5e52782cdc408bd27717d82e87535a24fd516d6",
      "parents": [
        "cd07a8ea0dd4b204919b4c9ced8d9efdd9924495"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Sep 23 01:05:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 01:05:56 2008 -0700"
      },
      "message": "pkt_sched: Remove the tx queue state check in qdisc_run()\n\nThe current check wrongly uses the state of one (currently the first)\ntx queue for all tx queues in case of non-default qdiscs. This check\nmainly prevented requeuing loop with __netif_schedule(), but now it\u0027s\ncontrolled inside __qdisc_run(), while dequeuing. The wrongness of\nthis check was first noticed by Herbert Xu.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd07a8ea0dd4b204919b4c9ced8d9efdd9924495",
      "tree": "1b8e24706b806ea3070ad335d98cd7d2daa4d4c8",
      "parents": [
        "1164f52a244204830c7625b3c22812781996d7b4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:50:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:50:13 2008 -0700"
      },
      "message": "tcp: Use SKB queue handling interfaces instead of by-hand versions.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1164f52a244204830c7625b3c22812781996d7b4",
      "tree": "afbc8f208e299bc0a68d8d50ba1dd9b5fe5b596d",
      "parents": [
        "249c8b42c7e5e6f33d0ff983041f08278b137e53"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:49:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:49:44 2008 -0700"
      },
      "message": "net: Add skb_queue_walk_from() and skb_queue_walk_from_safe().\n\nThese will be used by TCP write queue handling and elsewhere.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "249c8b42c7e5e6f33d0ff983041f08278b137e53",
      "tree": "d7ea5f0e659833a719978d0f76f4db109e013f6d",
      "parents": [
        "d258b4914bcda9177bcc7bbd8e1a97b281b460af"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:44:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:44:42 2008 -0700"
      },
      "message": "net: Add skb_queue_next().\n\nA lot of code wants to iterate over an SKB queue at the top level using\nit\u0027s own control structure and iterator scheme.\n\nProvide skb_queue_next(), which is only valid to invoke if\nskb_queue_is_last() returns false.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d258b4914bcda9177bcc7bbd8e1a97b281b460af",
      "tree": "660608fd54a6370cdfd10db6ea3ea39a01ddbd64",
      "parents": [
        "fc7ebb212d3e51d1188948d975aa93dbb0f58b25"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:34:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:34:37 2008 -0700"
      },
      "message": "tcp: Use skb_queue_is_last() instead of by-hand version.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc7ebb212d3e51d1188948d975aa93dbb0f58b25",
      "tree": "b4b0c1922e1128626b02482636c767392866b581",
      "parents": [
        "b5f61ab96dd093c5190c1540fed14f71ed821ce7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:34:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:34:07 2008 -0700"
      },
      "message": "net: Add skb_queue_is_last().\n\nSeveral bits of code want to know \"is this the last SKB in\na queue\", and all of them implement this by hand.\n\nProvide an common interface to make this check.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "242f8bfefe4bed626df4e4727ac8f315d80b567a",
      "tree": "44047828a0092e87def4e5c0edfefeadc96a89f8",
      "parents": [
        "3d09274cc9d816d62945408840a9cb76a5e7aac7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:15:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:15:30 2008 -0700"
      },
      "message": "pkt_sched: Make qdisc-\u003egso_skb a list.\n\nThe idea is that we can use this to get rid of\n-\u003erequeue().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d09274cc9d816d62945408840a9cb76a5e7aac7",
      "tree": "aaa71085396fae5c2bcbd0752071e3a0139d370d",
      "parents": [
        "1d4a31dde95af56edac4dee268249a29a21fa7c0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:14:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:14:36 2008 -0700"
      },
      "message": "sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d4a31dde95af56edac4dee268249a29a21fa7c0",
      "tree": "68d9bd2d277aa13da4020111d2e8420b129dc373",
      "parents": [
        "0b815a1a6d43ab498674b8430c8c35ab08487a16"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 21:57:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 21:57:21 2008 -0700"
      },
      "message": "net: Fix bus in SKB queue splicing interfaces.\n\nHandle the case of head being non-empty, by adding list-\u003eqlen\nto head-\u003eqlen instead of using direct assignment.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b815a1a6d43ab498674b8430c8c35ab08487a16",
      "tree": "18ea2e50f36c1d38127c535f619e80209bfc4e07",
      "parents": [
        "83bfba5fca16d040bb78a24148da844db3de6a76"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Sep 22 21:28:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 21:28:11 2008 -0700"
      },
      "message": "net: network device name ifalias support\n\nThis patch add support for keeping an additional character alias\nassociated with an network interface. This is useful for maintaining\nthe SNMP ifAlias value which is a user defined value. Routers use this\nto hold information like which circuit or line it is connected to. It\nis just an arbitrary text label on the network device.\n\nThere are two exposed interfaces with this patch, the value can be\nread/written either via netlink or sysfs.\n\nThis could be maintained just by the snmp daemon, but it is more\ngenerally useful for other management tools, and the kernel is good\nplace to act as an agreed upon interface to store it.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be0c52bfed7f7828494fa00060efd5d758e92580",
      "tree": "1261d101dee4c1d440d1d90c974c62339a556843",
      "parents": [
        "87ab4e20b445c6d2d2727ab4f96fa17f7259511e"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:09:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:09:13 2008 -0700"
      },
      "message": "Phonet: emit errors when a packet cannot be delivered locally\n\nWhen there is no listener socket for a received packet, send an error\nback to the sender.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87ab4e20b445c6d2d2727ab4f96fa17f7259511e",
      "tree": "42ee249e27e293b94f9f0c5a72dc6ef58fee5d38",
      "parents": [
        "5f77076d75d35c9f5619e1f9d7e7428a627f65e6"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:08:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:08:39 2008 -0700"
      },
      "message": "Phonet: proc interface for port range\n\nPhonet endpoints are bound to individual ports.\nThis provides a /proc/sys/net/phonet (or sysctl) interface for\nselecting the range of automatically allocated ports (much like the\nip_local_port_range with IPv4).\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f77076d75d35c9f5619e1f9d7e7428a627f65e6",
      "tree": "0c0bca5a2f00efb47791f6cf50b6b591409eefab",
      "parents": [
        "107d0d9b8d9a236883db72841fb61cedd5be845e"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:08:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:08:04 2008 -0700"
      },
      "message": "Phonet: provide MAC header operations\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "107d0d9b8d9a236883db72841fb61cedd5be845e",
      "tree": "6555b3bc7a8ce3551c462e1f3f7d6556eeda0897",
      "parents": [
        "ba113a94b7503ee23ffe819e7045134b0c1d31de"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:05:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:05:57 2008 -0700"
      },
      "message": "Phonet: Phonet datagram transport protocol\n\nThis provides the basic SOCK_DGRAM transport protocol for Phonet.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba113a94b7503ee23ffe819e7045134b0c1d31de",
      "tree": "b6236bbb36ffa311d7bc952066d2adc2b00c8d0c",
      "parents": [
        "8fb397406f6470f79040c41eec49af20900a9e3b"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:05:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:05:19 2008 -0700"
      },
      "message": "Phonet: common socket glue\n\nThis provides the socket API for the Phonet protocols family.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fb397406f6470f79040c41eec49af20900a9e3b",
      "tree": "019a843c84fc4b427b957a42b49562f8c33e33b6",
      "parents": [
        "f8ff60283de2b6775d7a14619056a08e3083bd40"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:04:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:04:30 2008 -0700"
      },
      "message": "Phonet: Netlink interface\n\nThis provides support for configuring Phonet addresses, notifying\nPhonet configuration changes, and dumping the configuration.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8ff60283de2b6775d7a14619056a08e3083bd40",
      "tree": "aea8a14283aa5b5f7952e6e7b8e4adcc4422c592",
      "parents": [
        "8ead536dec142f27d5b5f72c3994eb39f4741717"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:03:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:03:44 2008 -0700"
      },
      "message": "Phonet: network device and address handling\n\nThis provides support for adding Phonet addresses to and removing\nPhonet addresses from network devices.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b07b3f69a8471cdc142c51461a331226fef248a",
      "tree": "661b8c841ad2e3922f22f585f8628083baa03546",
      "parents": [
        "bce7b15426cac3000bf6a9cf59d9356ef0be2dec"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:02:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:02:10 2008 -0700"
      },
      "message": "Phonet: PF_PHONET protocol family support\n\nThis is the basis for the Phonet protocol families, and introduces\nthe ETH_P_PHONET packet type and the PF_PHONET socket family.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bce7b15426cac3000bf6a9cf59d9356ef0be2dec",
      "tree": "ddee913be01db33130fa4a02a27c7a82c5d6ab26",
      "parents": [
        "5c1824587f0797373c95719a196f6098f7c6d20c"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 19:51:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 19:51:15 2008 -0700"
      },
      "message": "Phonet: global definitions\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c1824587f0797373c95719a196f6098f7c6d20c",
      "tree": "c3a5af01afc01d88e111c7e1821b03bf404566f6",
      "parents": [
        "fcaa40669cd798ca2ac0d15441e8a1d1145f2b16"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Sep 22 19:48:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 19:48:19 2008 -0700"
      },
      "message": "ipsec: Fix xfrm_state_walk race\n\nAs discovered by Timo Teräs, the currently xfrm_state_walk scheme\nis racy because if a second dump finishes before the first, we\nmay free xfrm states that the first dump would walk over later.\n\nThis patch fixes this by storing the dumps in a list in order\nto calculate the correct completion counter which cures this\nproblem.\n\nI\u0027ve expanded netlink_cb in order to accomodate the extra state\nrelated to this.  It shouldn\u0027t be a big deal since netlink_cb\nis kmalloced for each dump and we\u0027re just increasing it by 4 or\n8 bytes.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38783e671399b5405f1fd177d602c400a9577ae6",
      "tree": "850a7bf098d8f9801e2cf045d1d1a34d0a152430",
      "parents": [
        "8fc5387cb837f9e44a0be2d7e297bbbcab36a292"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 01:15:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 01:15:02 2008 -0700"
      },
      "message": "isdn: isdn_ppp: Use SKB list facilities instead of home-grown implementation.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67fed45930fa31e92c11beb3a3dbf83a1a92a58d",
      "tree": "7c7aa03a8cc730b109193a8fd127b83f69187e85",
      "parents": [
        "ceade961c4c8d8bc033dc7907047818c9525c326"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 22:36:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 22:36:24 2008 -0700"
      },
      "message": "net: Add new interfaces for SKB list light-weight init and splicing.\n\nThis will be used by subsequent changesets.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43f59c89399fd76883a06c551f24794e98409432",
      "tree": "7ef8ac7047ea5e74c9d522d6438d03fb69a3ba67",
      "parents": [
        "f5fff5dc8a7a3f395b0525c02ba92c95d42b7390"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "message": "net: Remove __skb_insert() calls outside of skbuff internals.\n\nThis minor cleanup simplifies later changes which will convert\nstruct sk_buff and friends over to using struct list_head.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef9da47c7cc64d69526331f315e76b5680d4048f",
      "tree": "97407b83c7c339dbe1fd0948c30f35e1680562ec",
      "parents": [
        "f0ceb0ed86b4792a4ed9d3438f5f7572e48f9803"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:25:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:25:15 2008 -0700"
      },
      "message": "tcp: don\u0027t clear retransmit_skb_hint when not necessary\n\nMost importantly avoid doing it with cumulative ACK. Not clearing\nmeans that we no longer need n^2 processing in resolution of each\nfast recovery.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e1c54c2a405494281e0639aacc90db03b50ae77",
      "tree": "ba5098bdf80603d4b5aa74af11738620f2ea7681",
      "parents": [
        "08ebd1721ab8fd362e90ae17b461c07b23fa2824"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:24:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:24:21 2008 -0700"
      },
      "message": "tcp: reorganize retransmit code loops\n\nBoth loops are quite similar, so they can be combined\nwith little effort. As a result, forward_skb_hint becomes\nobsolete as well.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "006f582c73f4eda35e06fd323193c3df43fb3459",
      "tree": "d82762cfb6fb5e6889a52d316fa263a80c4f9fb3",
      "parents": [
        "41ea36e35a0daa75377b3e70680e5c3a3f83fe27"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:20:20 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:20:20 2008 -0700"
      },
      "message": "tcp: convert retransmit_cnt_hint to seqno\n\nMain benefit in this is that we can then freely point\nthe retransmit_skb_hint to anywhere we want to because\nthere\u0027s no longer need to know what would be the count\nchanges involve, and since this is really used only as a\nterminator, unnecessary work is one time walk at most,\nand if some retransmissions are necessary after that\npoint later on, the walk is not full waste of time\nanyway.\n\nSince retransmit_high must be kept valid, all lost\nmarkers must ensure that.\n\nNow I also have learned how those \"holes\" in the\nrexmittable skbs can appear, mtu probe does them. So\nI removed the misleading comment as well.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64edc2736e23994e0334b70c5ff08dc33e2ebbd9",
      "tree": "2ce61d4894023389258db20edc30ce7d7863d6be",
      "parents": [
        "d950f264ff7260d8c1e124158d758db13e1ad2d0"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:18:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:18:32 2008 -0700"
      },
      "message": "tcp: Partial hint clearing has again become meaningless\n\nIe., the difference between partial and all clearing doesn\u0027t\nexists anymore since the SACK optimizations got dropped by\nan sacktag rewrite.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d950f264ff7260d8c1e124158d758db13e1ad2d0",
      "tree": "8a8758af70d72b94e51609a5088a5739d00d8793",
      "parents": [
        "04da2cf9bb133355b7073be25ef3ce88c8edc135",
        "375da53b8e5e3ff2330b66b377e07a6151a93fe5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 19 16:17:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 19 16:17:12 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "79b6f7ecdac7a37df72a5f354816c0dd0b6ac592",
      "tree": "cb709af3ca7425768a596df97ccafbd6b8397d1d",
      "parents": [
        "02a1416478b70cd49bd74827438c8ba797784728",
        "c4e84bde1d595d857d3c74b49b9c45cc770df792"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 19 15:51:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 19 15:51:35 2008 -0700"
      },
      "message": "Merge branch \u0027new-drivers\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n"
    },
    {
      "commit": "02a1416478b70cd49bd74827438c8ba797784728",
      "tree": "cb1539e902a3651be684f42cefcf89fa56da8f26",
      "parents": [
        "821c92f258bd9b01eb900992969803645b6ba9d6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 19 12:44:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 19 12:44:54 2008 -0700"
      },
      "message": "net: Fix build with ARCH\u003dum\n\nIf UM is going to claim that it supports DMA by setting\nHAS_DMA, it should provide a dma_mapping_error() implementation.\n\nBased upon a report by Julius Volz.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01f2e4ead2c51226ed1283ef6a8388ca6f4cff8f",
      "tree": "b1cc2ef1a191a3bf00f371d5dbc2028e1fee01c5",
      "parents": [
        "452c1ce218a68b5dbd626397ecfc65ca89dd3cbb"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Mon Sep 15 09:17:11 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Sep 18 11:34:53 2008 -0400"
      },
      "message": "enic: add Cisco 10G Ethernet NIC driver\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "452c1ce218a68b5dbd626397ecfc65ca89dd3cbb",
      "tree": "1d51e20c216d1670ea22da23c3e6a1883b0c0b6d",
      "parents": [
        "63f2c0464875b6ef2132cecb19b2a5abbf061227"
      ],
      "author": {
        "name": "Chris Snook",
        "email": "csnook@redhat.com",
        "time": "Sun Sep 14 19:56:10 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Sep 18 11:34:52 2008 -0400"
      },
      "message": "atl2: add atl2 driver\n\nDriver for Atheros L2 10/100 network device. Includes necessary\nchanges for Kconfig, Makefile, and pci_ids.h.\n\nSigned-off-by: Chris Snook \u003ccsnook@redhat.com\u003e\nSigned-off-by: Jay Cliburn \u003cjacliburn@bellsouth.net\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "25d834e16294c8dfd923dae6bdb8a055391a99a5",
      "tree": "b9d756464d89949651e5acd1df97846af3028df0",
      "parents": [
        "9c31fd635ddfae6eb61712491770befa2ce1fdde"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 12 22:52:47 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:25 2008 -0400"
      },
      "message": "mac80211: fix virtual interfaces vs. injection\n\nCurrently, virtual interface pointers passed to drivers might be\nfrom monitor interfaces and as such completely uninitialised\nbecause we do not tell the driver about monitor interfaces when\nthose are created. Instead of passing them, we should therefore\nindicate to the driver that there is no information; do that by\npassing a NULL value and adjust drivers to cope with it.\n\nAs a result, some mac80211 API functions also need to cope with\na NULL vif pointer so drivers can still call them unconditionally.\n\nAlso, when injecting frames we really don\u0027t want to pass NULL all\nthe time, if we know we are the source address of a frame and have\na local interface for that address, we can to use that interface.\nThis also helps with processing the frame correctly for that\ninterface which will help the 802.11w implementation. It\u0027s not\nentirely correct for VLANs or WDS interfaces because there the MAC\naddress isn\u0027t unique, but it\u0027s already a lot better than what we\ndo now.\n\nFinally, when injecting without a matching local interface, don\u0027t\nassign sequence numbers at all.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "687c7c0807371aeaa94ff2fff511eeb326b5c5de",
      "tree": "5f1a51d7f42dba9718ab7286768a5d3c7a4b4b34",
      "parents": [
        "ae17e986091637e7ef5a8224c7b689029b105131"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 03:14:11 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:24 2008 -0400"
      },
      "message": "mac80211: share sta_info-\u003eht_info\n\nRate control algorithms may need access to a station\u0027s\nHT capabilities, so share the ht_info struct in the\npublic station API.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "323ce79a9cdbf838ea577677b1ddace8e0b4d4c6",
      "tree": "f14a67ec7927865dc1537b2c3a4fb20c0325f517",
      "parents": [
        "b7e35008815a1c39123f4dd53b430788e2e18da4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 02:45:11 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:24 2008 -0400"
      },
      "message": "mac80211: share sta-\u003esupp_rates\n\nAs more preparation for a saner rate control algorithm API,\nshare the supported rates bitmap in the public API.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "17741cdc264e4d768167766a252210e201c1519a",
      "tree": "72c0e697af29a40c03bce002b529c3951d34a3b7",
      "parents": [
        "8aa21e6fd703cb3fed66ac07dcbcb861f00cf6d6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:02:02 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:23 2008 -0400"
      },
      "message": "mac80211: share STA information with driver\n\nThis patch changes mac80211 to share some more data about\nstations with drivers. Should help iwlwifi and ath9k when\n they get around to updating, and might also help with\nimplementing rate control algorithms without internals.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Sujith Manoharan \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "05c914fe330fa8e1cc67870dc0d3809dfd96c107",
      "tree": "df53bcab47335f3361c09478d6b1447b7d298536",
      "parents": [
        "96dd22ac06b0dbfb069fdf530c72046a941e9694"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:58 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:23 2008 -0400"
      },
      "message": "mac80211: use nl80211 interface types\n\nThere\u0027s really no reason for mac80211 to be using its\nown interface type defines. Use the nl80211 types and\nsimplify the configuration code a bit: there\u0027s no need\nto translate them any more now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96dd22ac06b0dbfb069fdf530c72046a941e9694",
      "tree": "4dbf19921a1d4add0ca03a0ff1d7db37c4ecb8be",
      "parents": [
        "ccd7b36286f8c42b3fa95c5a8d402162ffab41df"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:57 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:22 2008 -0400"
      },
      "message": "mac80211: inform driver of basic rateset\n\nDrivers need to know the basic rateset to be able to configure\nthe ACK/CTS programming in hardware correctly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5bc75728fd43bb15b46f16ef465bcf9d487393cf",
      "tree": "5732adee3965970390bf7953d214c757bbdba2a2",
      "parents": [
        "b7413430d4d2a6168e68231d9f93763047b6d60c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:51 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: fix scan vs. interface removal race\n\nWhen we remove an interface, we can currently end up having\na pointer to it left in local-\u003escan_sdata after it has been\nset down, and then with a hardware scan the scan completion\ncan try to access it which is a bug. Alternatively, a scan\nthat started as a hardware scan may terminate as though it\nwas a software scan, if the timing is just right.\n\nOn SMP systems, software scan also has a similar problem,\njust canceling the delayed work and setting a flag isn\u0027t\nenough since it may be running concurrently; in this case\nwe would also never restore state of other interfaces.\n\nThis patch hopefully fixes the problems by always invoking\nieee80211_scan_completed or requiring it to be invoked by\nthe driver, I suspect the drivers that have -\u003ehw_scan() are\nbuggy. The bug will not manifest itself unless you remove\nthe interface while hw-scanning which will also turn off\nthe hw, and then add a new interface which will be unusable\nuntil you scan once.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b2e1b30290539b344cbaff0d9da38012e03aa347",
      "tree": "8d021d078c12f3d7b47da4b52a54eff4509daa98",
      "parents": [
        "63f2c0464875b6ef2132cecb19b2a5abbf061227"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Sep 09 23:19:48 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:19 2008 -0400"
      },
      "message": "cfg80211: Add new wireless regulatory infrastructure\n\nThis adds the new wireless regulatory infrastructure. The\nmain motiviation behind this was to centralize regulatory\ncode as each driver was implementing their own regulatory solution,\nand to replace the initial centralized code we have where:\n\n* only 3 regulatory domains are supported: US, JP and EU\n* regulatory domains can only be changed through module parameter\n* all rules were built statically in the kernel\n\nWe now have support for regulatory domains for many countries\nand regulatory domains are now queried through a userspace agent\nthrough udev allowing distributions to update regulatory rules\nwithout updating the kernel.\n\nEach driver can regulatory_hint() a regulatory domain\nbased on either their EEPROM mapped regulatory domain value to a\nrespective ISO/IEC 3166-1 country code or pass an internally built\nregulatory domain. We also add support to let the user set the\nregulatory domain through userspace in case of faulty EEPROMs to\nfurther help compliance.\n\nSupport for world roaming will be added soon for cards capable of\nthis.\n\nFor more information see:\n\nhttp://wireless.kernel.org/en/developers/Regulatory/CRDA\n\nFor now we leave an option to enable the old module parameter,\nieee80211_regdom, and to build the 3 old regdomains statically\n(US, JP and EU). This option is CONFIG_WIRELESS_OLD_REGULATORY.\nThese old static definitions and the module parameter is being\nscheduled for removal for 2.6.29. Note that if you use this\nyou won\u0027t make use of a world regulatory domain as its pointless.\nIf you leave this option enabled and if CRDA is present and you\nuse US or JP we will try to ask CRDA to update us a regulatory\ndomain for us.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ca9b0e27e072be4cef2f5f0cbc0b0fd94eae3520",
      "tree": "c236e31759299193e688cf7fe78809c24449ede1",
      "parents": [
        "92651940ab00dbe64722e908f70d816713d677b7"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Fri Sep 12 16:30:20 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 12 16:30:20 2008 -0700"
      },
      "message": "pkt_action: add new action skbedit\n\nThis new action will have the ability to change the priority and/or\nqueue_mapping fields on an sk_buff.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92651940ab00dbe64722e908f70d816713d677b7",
      "tree": "b68fdef99784bfa46b67aabaf70c19b0e5e0a144",
      "parents": [
        "78d15e82754945ee9821fb491b57faf43abfb9d7"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Fri Sep 12 16:29:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 12 16:29:34 2008 -0700"
      },
      "message": "pkt_sched: Add multiqueue scheduler support\n\nThis patch is intended to add a qdisc to support the new tx multiqueue\narchitecture by providing a band for each hardware queue.  By doing\nthis it is possible to support a different qdisc per physical hardware\nqueue.\n\nThis qdisc uses the skb-\u003equeue_mapping to select which band to place\nthe traffic onto.  It then uses a round robin w/ a check to see if the\nsubqueue is stopped to determine which band to dequeue the packet from.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c65570503716015110350ba1c52a04156df3a455",
      "tree": "eda3dbe423a85a6bd07aba954f52d2fc6fa4336d",
      "parents": [
        "638266f7e879e34de4a4635049c15f5a58505e75",
        "0112c9e9e8d47f1d1e6ce1323675cb43ca6aae86"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 15:46:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 15:46:02 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "44d414dbff9d5bf46fc09f2e68567b5848cbbfd3",
      "tree": "9e55cb581602867a3d8365666b33dd9469ccc084",
      "parents": [
        "5484e23749e78d5a4f56928efaf3c4b0d862b7a6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 08 17:44:28 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 11 15:53:37 2008 -0400"
      },
      "message": "mac80211: move some HT code out of mlme.c\n\nSome of the HT code in mlme.c is misplaced:\n * constants/definitions belong to the ieee80211.h header\n * code being used in other modes as well shouldn\u0027t be there\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fe3fa827314b877486c515a001c3e6f604f6f16f",
      "tree": "64b04c2ee021bf8428bc2f5e9370459bf0ae9459",
      "parents": [
        "69e6c010fd5f5015d3cc64718fbe266face93770"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 08 11:05:09 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 11 15:53:34 2008 -0400"
      },
      "message": "mac80211: make conf_tx non-atomic\n\nThe conf_tx callback currently needs to be atomic, this requirement\nis just because it can be called from scanning. This rearranges it\nslightly to only update while not scanning (which is fine, we\u0027ll be\ngetting beacons when associated) and thus removes the atomic\nrequirement.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "00c5ae2fa0f8191a1b204e71f0ee11359e3b2c06",
      "tree": "06ebdd29be276ef829e270497781db43783a8710",
      "parents": [
        "1e493d1946a0b26b79001c18d7312d536156ff5a"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Wed Sep 03 11:26:42 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 11 15:53:31 2008 -0400"
      },
      "message": "mac80211: change MIMO_PS to SM_PS\n\nThis patch follows 11n spec naming more rigorously replacing MIMO_PS\nwith SM_PS (Spatial Multiplexing Power Save).\n\n(Originally submitted as 4 patches, \"mac80211: change MIMO_PS to SM_PS\",\n\"iwlwifi: change MIMO_PS to SM_PS\", \"ath9k: change MIMO_PS to SM_PS\",\nand \"iwlwifi: remove double definition of SM PS\". -- JWL)\n\nSigned-off-by: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a40c24a13366e324bc0ff8c3bb107db89312c984",
      "tree": "e09838bb9becdc16220b8d1bbc67b67010543190",
      "parents": [
        "271bff7afbb2cbaa81e744006ad2fff1f3e10b1b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 04:51:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 04:51:14 2008 -0700"
      },
      "message": "net: Add SKB DMA mapping helper functions.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "271bff7afbb2cbaa81e744006ad2fff1f3e10b1b",
      "tree": "3c745b63aa7c1dca020960ad5d13b93ff1d82b48",
      "parents": [
        "1e493d1946a0b26b79001c18d7312d536156ff5a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 04:48:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 04:48:58 2008 -0700"
      },
      "message": "net: Add DMA mapping tokens to skb_shared_info.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abb81c4f3cb9b8d421f1e5474811ef1d461d341c",
      "tree": "71a08df3a53eb9e19a62c673d77084e4d81f708b",
      "parents": [
        "dacc62dbf56e872ad96edde0393b9deb56d80cd5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Sep 09 19:58:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:58:29 2008 -0700"
      },
      "message": "ipsec: Use RCU-like construct for saved state within a walk\n\nNow that we save states within a walk we need synchronisation\nso that the list the saved state is on doesn\u0027t disappear from\nunder us.\n\nAs it stands this is done by keeping the state on the list which\nis bad because it gets in the way of the management of the state\nlife-cycle.\n\nAn alternative is to make our own pseudo-RCU system where we use\ncounters to indicate which state can\u0027t be freed immediately as\nit may be referenced by an ongoing walk when that resumes.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dacc62dbf56e872ad96edde0393b9deb56d80cd5",
      "tree": "3d1b3e25aba9c5324bb0f6289033f502fa6ccb8c",
      "parents": [
        "47abf28d5b36521558a848a346064a3a3c82bd9e",
        "c051a0a2c9e283c1123ed3ce65e66e41d2ce5e24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:51:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:51:04 2008 -0700"
      },
      "message": "Merge branch \u0027lvs-next-2.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6\n"
    },
    {
      "commit": "47abf28d5b36521558a848a346064a3a3c82bd9e",
      "tree": "736e9402b52f08210b8c4bdda9d214e98a6bf7de",
      "parents": [
        "28faa979746b2352cd78a376bf9f52db953bda46",
        "e550dfb0c2c31b6363aa463a035fc9f8dcaa3c9b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:28:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:28:03 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "c051a0a2c9e283c1123ed3ce65e66e41d2ce5e24",
      "tree": "1202d018129ca5538cd98b1e4542b239045c1a2d",
      "parents": [
        "e9c0ce232e7a36daae1ca08282609d7f0c57c567",
        "28faa979746b2352cd78a376bf9f52db953bda46"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 10 09:14:52 2008 +1000"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 10 09:14:52 2008 +1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into lvs-next-2.6\n"
    },
    {
      "commit": "410e27a49bb98bc7fa3ff5fc05cc313817b9f253",
      "tree": "88bb1fcf84f9ebfa4299c9a8dcd9e6330b358446",
      "parents": [
        "0a68a20cc3eafa73bb54097c28b921147d7d3685"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 09 13:27:22 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 09 13:27:22 2008 +0200"
      },
      "message": "This reverts \"Merge branch \u0027dccp\u0027 of git://eden-feed.erg.abdn.ac.uk/dccp_exp\"\nas it accentally contained the wrong set of patches. These will be\nsubmitted separately.\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "fd9ec7d31ffc36917dc7cac0fd0435f587a572d4",
      "tree": "844da38556f1334959d47bab1d04d0937df8efa5",
      "parents": [
        "82a28c794f27aac17d7a3ebd7f14d731a11a5532",
        "e7c29cb16c833441fd2160642bb13025f4e7ac70"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 02:11:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 02:11:11 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6\n"
    },
    {
      "commit": "e7c29cb16c833441fd2160642bb13025f4e7ac70",
      "tree": "7ba44be60b7bf9c4e7bee459735ebabdc85eb8fd",
      "parents": [
        "09ab6f4c2376a0fc31abde1e2991513f900ea825"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Reject L2CAP connections on an insecure ACL link\n\nThe Security Mode 4 of the Bluetooth 2.1 specification has strict\nauthentication and encryption requirements. It is the initiators job\nto create a secure ACL link. However in case of malicious devices, the\nacceptor has to make sure that the ACL is encrypted before allowing\nany kind of L2CAP connection. The only exception here is the PSM 1 for\nthe service discovery protocol, because that is allowed to run on an\ninsecure ACL link.\n\nPreviously it was enough to reject a L2CAP connection during the\nconnection setup phase, but with Bluetooth 2.1 it is forbidden to\ndo any L2CAP protocol exchange on an insecure link (except SDP).\n\nThe new hci_conn_check_link_mode() function can be used to check the\nintegrity of an ACL link. This functions also takes care of the cases\nwhere Security Mode 4 is disabled or one of the devices is based on\nan older specification.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "09ab6f4c2376a0fc31abde1e2991513f900ea825",
      "tree": "f002d719a8a9a2c6344f06a5b9346bc053b4054d",
      "parents": [
        "f1c08ca559387ab30992055596d54061dfa022b1"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Enforce correct authentication requirements\n\nWith the introduction of Security Mode 4 and Simple Pairing from the\nBluetooth 2.1 specification it became mandatory that the initiator\nrequires authentication and encryption before any L2CAP channel can\nbe established. The only exception here is PSM 1 for the service\ndiscovery protocol (SDP). It is meant to be used without any encryption\nsince it contains only public information. This is how Bluetooth 2.0\nand before handle connections on PSM 1.\n\nFor Bluetooth 2.1 devices the pairing procedure differentiates between\nno bonding, general bonding and dedicated bonding. The L2CAP layer\nwrongly uses always general bonding when creating new connections, but it\nshould not do this for SDP connections. In this case the authentication\nrequirement should be no bonding and the just-works model should be used,\nbut in case of non-SDP connection it is required to use general bonding.\n\nIf the new connection requires man-in-the-middle (MITM) protection, it\nalso first wrongly creates an unauthenticated link key and then later on\nrequests an upgrade to an authenticated link key to provide full MITM\nprotection. With Simple Pairing the link key generation is an expensive\noperation (compared to Bluetooth 2.0 and before) and doing this twice\nduring a connection setup causes a noticeable delay when establishing\na new connection. This should be avoided to not regress from the expected\nBluetooth 2.0 connection times. The authentication requirements are known\nup-front and so enforce them.\n\nTo fulfill these requirements the hci_connect() function has been extended\nwith an authentication requirement parameter that will be stored inside\nthe connection information and can be retrieved by userspace at any\ntime. This allows the correct IO capabilities exchange and results in\nthe expected behavior.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0a68a20cc3eafa73bb54097c28b921147d7d3685",
      "tree": "8e5f315226b618cb8e050a0c7653c8ec134501e3",
      "parents": [
        "17dce5dfe38ae2fb359b61e855f5d8a3a8b7892b",
        "a3cbdde8e9c38b66b4f13ac5d6ff1939ded0ff20"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 17:28:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 17:28:59 2008 -0700"
      },
      "message": "Merge branch \u0027dccp\u0027 of git://eden-feed.erg.abdn.ac.uk/dccp_exp\n\nConflicts:\n\n\tnet/dccp/input.c\n\tnet/dccp/options.c\n"
    },
    {
      "commit": "17dce5dfe38ae2fb359b61e855f5d8a3a8b7892b",
      "tree": "88bb1fcf84f9ebfa4299c9a8dcd9e6330b358446",
      "parents": [
        "712d6954e3998d0de2840d8130941e8042541246",
        "82a28c794f27aac17d7a3ebd7f14d731a11a5532"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 16:59:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 16:59:05 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tnet/mac80211/mlme.c\n"
    },
    {
      "commit": "e9c0ce232e7a36daae1ca08282609d7f0c57c567",
      "tree": "63ddde69fadab5a68788b37fd6813814be191176",
      "parents": [
        "2206a3f5b75be5dadf11541961bd7c924857eb5d"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Sep 08 13:39:04 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Sep 09 09:53:08 2008 +1000"
      },
      "message": "ipvs: Embed user stats structure into kernel stats structure\n\nInstead of duplicating the fields, integrate a user stats structure into\nthe kernel stats structure. This is more robust when the members are\nchanged, because they are now automatically kept in sync.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nReviewed-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "2206a3f5b75be5dadf11541961bd7c924857eb5d",
      "tree": "8a77697bbd389f723cf7a5acce7303651e701b8c",
      "parents": [
        "9d7f2a2b1aa9e55537a053c68bdbd119fc479dd3"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Sep 08 13:38:11 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Sep 09 09:50:55 2008 +1000"
      },
      "message": "ipvs: Restrict connection table size via Kconfig\n\nInstead of checking the value in include/net/ip_vs.h, we can just\nrestrict the range in our Kconfig file. This will prevent values outside\nof the range early.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nReviewed-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "5337407c673e2c7c66a84b9838d55a45a760ecff",
      "tree": "808dca75793172fa5315af638bf04696a2c4d7cc",
      "parents": [
        "9bff9dbd00e5907f5c36e72bae8aee8a46440e11"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 08 16:17:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 16:17:42 2008 -0700"
      },
      "message": "warn: Turn the netdev timeout WARN_ON() into a WARN()\n\nthis patch turns the netdev timeout WARN_ON_ONCE() into a WARN_ONCE(),\nso that the device and driver names are inside the warning message.\nThis helps automated tools like kerneloops.org to collect the data\nand do statistics, as well as making it more likely that humans\ncut-n-paste the important message as part of a bugreport.\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": "e1d7bf14999469b16e86889ac71c94a9d0d2f5f4",
      "tree": "32d56c2faac08ac02730a46498183e7222744705",
      "parents": [
        "e228c1b51ef572843827630e643a682ef492b933",
        "291c54ff764d12ecc9a916cb478a0bbb45c5990e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:47:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:47:21 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: arch_reinit_sched_domains() must destroy domains to force rebuild\n  sched, cpuset: rework sched domains and CPU hotplug handling (v4)\n"
    },
    {
      "commit": "bcbc713470283bc82d043fd23b02e41a9eb8dee5",
      "tree": "2cd88a1b83dad55dc9e489f151114c0717015ac5",
      "parents": [
        "b364e2f5262e972e731a576dfc6ede0689a6c19e",
        "8d4698f7a54a492a1b96c505b30fe750ae3e61d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:43:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:43:44 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  bridge: don\u0027t allow setting hello time to zero\n  netns : fix kernel panic in timewait socket destruction\n  pkt_sched: Fix qdisc state in net_tx_action()\n  netfilter: nf_conntrack_irc: make sure string is terminated before calling simple_strtoul\n  netfilter: nf_conntrack_gre: nf_ct_gre_keymap_flush() fixlet\n  netfilter: nf_conntrack_gre: more locking around keymap list\n  netfilter: nf_conntrack_sip: de-static helper pointers\n"
    },
    {
      "commit": "d315492b1a6ba29da0fa2860759505ae1b2db857",
      "tree": "1019a3c34af19939733e6d1e7d3163c73c73eb69",
      "parents": [
        "e8a83e10d7dfe5d0841062780769b30f65417e15"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Mon Sep 08 13:17:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 13:17:27 2008 -0700"
      },
      "message": "netns : fix kernel panic in timewait socket destruction\n\nHow to reproduce ?\n - create a network namespace\n - use tcp protocol and get timewait socket\n - exit the network namespace\n - after a moment (when the timewait socket is destroyed), the kernel\n   panics.\n\n# BUG: unable to handle kernel NULL pointer dereference at\n0000000000000007\nIP: [\u003cffffffff821e394d\u003e] inet_twdr_do_twkill_work+0x6e/0xb8\nPGD 119985067 PUD 11c5c0067 PMD 0\nOops: 0000 [1] SMP\nCPU 1\nModules linked in: ipv6 button battery ac loop dm_mod tg3 libphy ext3 jbd\nedd fan thermal processor thermal_sys sg sata_svw libata dock serverworks\nsd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table]\nPid: 0, comm: swapper Not tainted 2.6.27-rc2 #3\nRIP: 0010:[\u003cffffffff821e394d\u003e] [\u003cffffffff821e394d\u003e]\ninet_twdr_do_twkill_work+0x6e/0xb8\nRSP: 0018:ffff88011ff7fed0 EFLAGS: 00010246\nRAX: ffffffffffffffff RBX: ffffffff82339420 RCX: ffff88011ff7ff30\nRDX: 0000000000000001 RSI: ffff88011a4d03c0 RDI: ffff88011ac2fc00\nRBP: ffffffff823392e0 R08: 0000000000000000 R09: ffff88002802a200\nR10: ffff8800a5c4b000 R11: ffffffff823e4080 R12: ffff88011ac2fc00\nR13: 0000000000000001 R14: 0000000000000001 R15: 0000000000000000\nFS: 0000000041cbd940(0000) GS:ffff8800bff839c0(0000)\nknlGS:0000000000000000\nCS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b\nCR2: 0000000000000007 CR3: 00000000bd87c000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess swapper (pid: 0, threadinfo ffff8800bff9e000, task\nffff88011ff76690)\nStack: ffffffff823392e0 0000000000000100 ffffffff821e3a3a\n0000000000000008\n0000000000000000 ffffffff821e3a61 ffff8800bff7c000 ffffffff8203c7e7\nffff88011ff7ff10 ffff88011ff7ff10 0000000000000021 ffffffff82351108\nCall Trace:\n\u003cIRQ\u003e [\u003cffffffff821e3a3a\u003e] ? inet_twdr_hangman+0x0/0x9e\n[\u003cffffffff821e3a61\u003e] ? inet_twdr_hangman+0x27/0x9e\n[\u003cffffffff8203c7e7\u003e] ? run_timer_softirq+0x12c/0x193\n[\u003cffffffff820390d1\u003e] ? __do_softirq+0x5e/0xcd\n[\u003cffffffff8200d08c\u003e] ? call_softirq+0x1c/0x28\n[\u003cffffffff8200e611\u003e] ? do_softirq+0x2c/0x68\n[\u003cffffffff8201a055\u003e] ? smp_apic_timer_interrupt+0x8e/0xa9\n[\u003cffffffff8200cad6\u003e] ? apic_timer_interrupt+0x66/0x70\n\u003cEOI\u003e [\u003cffffffff82011f4c\u003e] ? default_idle+0x27/0x3b\n[\u003cffffffff8200abbd\u003e] ? cpu_idle+0x5f/0x7d\n\n\nCode: e8 01 00 00 4c 89 e7 41 ff c5 e8 8d fd ff ff 49 8b 44 24 38 4c 89 e7\n65 8b 14 25 24 00 00 00 89 d2 48 8b 80 e8 00 00 00 48 f7 d0 \u003c48\u003e 8b 04 d0\n48 ff 40 58 e8 fc fc ff ff 48 89 df e8 c0 5f 04 00\nRIP [\u003cffffffff821e394d\u003e] inet_twdr_do_twkill_work+0x6e/0xb8\nRSP \u003cffff88011ff7fed0\u003e\nCR2: 0000000000000007\n\nThis patch provides a function to purge all timewait sockets related\nto a network namespace. The timewait sockets life cycle is not tied with\nthe network namespace, that means the timewait sockets stay alive while\nthe network namespace dies. The timewait sockets are for avoiding to\nreceive a duplicate packet from the network, if the network namespace is\nfreed, the network stack is removed, so no chance to receive any packets\nfrom the outside world. Furthermore, having a pending destruction timer\non these sockets with a network namespace freed is not safe and will lead\nto an oops if the timer callback which try to access data belonging to \nthe namespace like for example in:\n\tinet_twdr_do_twkill_work\n\t\t-\u003e NET_INC_STATS_BH(twsk_net(tw), LINUX_MIB_TIMEWAITED);\n\nPurging the timewait sockets at the network namespace destruction will:\n 1) speed up memory freeing for the namespace\n 2) fix kernel panic on asynchronous timewait destruction\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64f996f670e9477072a43b226294ea1cc153f6ac",
      "tree": "5cffca570e164bcd190b5044f6eb0f7c8180f262",
      "parents": [
        "f5325225658737e6c9cb8e24373e2c281a90be2a",
        "23952a96ae738277f3139b63d622e22984589031"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:36:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:36:23 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: cpu_init(): fix memory leak when using CPU hotplug\n  x86: pda_init(): fix memory leak when using CPU hotplug\n  x86, xen: Use native_pte_flags instead of native_pte_val for .pte_flags\n  x86: move mtrr cpu cap setting early in early_init_xxxx\n  x86: delay early cpu initialization until cpuid is done\n  x86: use X86_FEATURE_NOPL in alternatives\n  x86: add NOPL as a synthetic CPU feature bit\n  x86: boot: stub out unimplemented CPU feature words\n"
    },
    {
      "commit": "f5325225658737e6c9cb8e24373e2c281a90be2a",
      "tree": "f1daf00b394b543876b6ffbfd67c050c3bb1b114",
      "parents": [
        "4747832b56a95dbeb0cef4714e6fcc766eed0a95",
        "4ab6a219113197425ac112e35e1ec8062c69888e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource, acpi_pm.c: check for monotonicity\n  clocksource, acpi_pm.c: use proper read function also in errata mode\n  ntp: fix calculation of the next jiffie to trigger RTC sync\n  x86: HPET: read back compare register before reading counter\n  x86: HPET fix moronic 32/64bit thinko\n  clockevents: broadcast fixup possible waiters\n  HPET: make minimum reprogramming delta useful\n  clockevents: prevent endless loop lockup\n  clockevents: prevent multiple init/shutdown\n  clockevents: enforce reprogram in oneshot setup\n  clockevents: prevent endless loop in periodic broadcast handler\n  clockevents: prevent clockevent event_handler ending up handler_noop\n"
    },
    {
      "commit": "a22a9a90cfbcc91c3e0f8dc8549535e2786d3e7e",
      "tree": "799e60e111e2f5179c7ffd81483abd1d2397003b",
      "parents": [
        "70bb08962ea9bd50797ae9f16b2493f5f7c65053",
        "0011036beeffeada15acd1936d67988de21ca65e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:32:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:32:21 2008 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Probe initrd header only if explicitly specified\n  [MIPS] TX39xx: Add missing local_flush_icache_range initialization\n  [MIPS] TXx9: Fix txx9_pcode initialization\n  [MIPS] Fix WARNING: at kernel/smp.c:290\n  [MIPS] Fix data bus error recovery\n"
    },
    {
      "commit": "291c54ff764d12ecc9a916cb478a0bbb45c5990e",
      "tree": "bb89231e59e51520d91f102663b793bd34125c41",
      "parents": [
        "49048622eae698e5c4ae61f7e71200f265ccc529",
        "dfb512ec4834116124da61d6c1ee10fd0aa32bd6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 21:03:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 21:03:16 2008 +0200"
      },
      "message": "Merge branch \u0027sched/cpuset\u0027 into sched/urgent\n"
    },
    {
      "commit": "dfb512ec4834116124da61d6c1ee10fd0aa32bd6",
      "tree": "ea4f847f2a29face1b5774c6d44ec41bf92e302b",
      "parents": [
        "cf417141cbb3a4ceb5cca15b2c1f099bd0a6603c"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Fri Aug 29 13:11:41 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 19:22:15 2008 +0200"
      },
      "message": "sched: arch_reinit_sched_domains() must destroy domains to force rebuild\n\nWhat I realized recently is that calling rebuild_sched_domains() in\narch_reinit_sched_domains() by itself is not enough when cpusets are enabled.\npartition_sched_domains() code is trying to avoid unnecessary domain rebuilds\nand will not actually rebuild anything if new domain masks match the old ones.\n\nWhat this means is that doing\n     echo 1 \u003e /sys/devices/system/cpu/sched_mc_power_savings\non a system with cpusets enabled will not take affect untill something changes\nin the cpuset setup (ie new sets created or deleted).\n\nThis patch fixes restore correct behaviour where domains must be rebuilt in\norder to enable MC powersaving flags.\n\nTest on quad-core Core2 box with both CONFIG_CPUSETS and !CONFIG_CPUSETS.\nAlso tested on dual-core Core2 laptop. Lockdep is happy and things are working\nas expected.\n\nSigned-off-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nTested-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6734c35af028f06772c0b2c836c7d579e6d4dad",
      "tree": "ecdfc0dc851f440b0f5861b8c3fe6b582d516d1b",
      "parents": [
        "b74b06c5f6612a72298f37baa65460a59c26ca67"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 18 17:39:32 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Sep 05 16:13:52 2008 -0700"
      },
      "message": "x86: add NOPL as a synthetic CPU feature bit\n\nThe long noops (\"NOPL\") are supposed to be detected by family \u003e\u003d 6.\nUnfortunately, several non-Intel x86 implementations, both hardware\nand software, don\u0027t obey this dictum.  Instead, probe for NOPL\ndirectly by executing a NOPL instruction and see if we get #UD.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "22f30168d296dbb54a21ebad44c9d735bca6f67b",
      "tree": "6006e18acb6b1157d9b1b0cf9790f4369d84bc4c",
      "parents": [
        "34a35bddb9382fc2663e3137875ee58928f7d704"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Sep 05 14:00:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:39:38 2008 -0700"
      },
      "message": "tracehook: comment pasto fixes\n\nFix some pasto\u0027s in comments in the new linux/tracehook.h and\nasm-generic/syscall.h files.\n\nReported-by: Wenji Huang \u003cwenji.huang@oracle.com\u003e\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11d55d2cba6e867be8955e5ae011c54c556b849f",
      "tree": "53a0746c05e5922a2c35db9201d8d92818c4ed67",
      "parents": [
        "7f621861fbdb1ea90c36b1a59a45cb84b4a2239f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Sep 05 14:00:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:39:37 2008 -0700"
      },
      "message": "res_counter: fix off-by-one bug in setting limit\n\nI found we can no longer set limit to 0 with 2.6.27-rcX:\n # mount -t cgroup -omemory xxx /mnt\n # mkdir /mnt/0\n # echo 0 \u003e /mnt/0/memory.limit_in_bytes\n bash: echo: write error: Device or resource busy\n\nIt turned out \u0027limit\u0027 can\u0027t be set to \u0027usage\u0027, which is wrong IMO.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f621861fbdb1ea90c36b1a59a45cb84b4a2239f",
      "tree": "73d72c4598277481b9e95a0c6fda65ca466ae7c2",
      "parents": [
        "1c402c8cd1fb4d0524bab184f8609f7e098ccb2e",
        "49048622eae698e5c4ae61f7e71200f265ccc529"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:37:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:37:15 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix process time monotonicity\n  sched_clock: fix NOHZ interaction\n"
    },
    {
      "commit": "6f74b1849bf04432c4a2fe21f594136e5b9d1fad",
      "tree": "5aa44568b43b931ba4510d68cf040da285b2fc04",
      "parents": [
        "b693ffe67363119199ffe9f2fac9119475968e8a",
        "b35de672e74ceea6482b4f690ad053aec8465c5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:31:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:31:54 2008 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/dwmw2-2.6.27\n\n* git://git.infradead.org/~dwmw2/dwmw2-2.6.27:\n  Revert \"[ARM] use the new byteorder headers\"\n  Fix conditional export of kvh.h and a.out.h to userspace.\n  [MTD] [NAND] tmio_nand: fix base address programming\n"
    },
    {
      "commit": "14408c4f4172eafc26ff52bebb7a8ab85b1c5492",
      "tree": "64b9310e8f704c54e3a1cbe48b9b21c5f85dff0b",
      "parents": [
        "54e2a3270f4d5f50aefb08630a3c3c758b9c2723",
        "8561098ff11d21f1a6a9a01fae2e68653928dbb5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:29:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:29:50 2008 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (98 commits)\n  V4L/DVB (8881): gspca: After \u0027while (retry--) {...}\u0027, retry will be -1 but not 0.\n  V4L/DVB (8880): PATCH: Fix parents on some webcam drivers\n  V4L/DVB (8877): b2c2 and bt8xx: udelay to mdelay\n  V4L/DVB (8876): budget: udelay changed to mdelay\n  V4L/DVB (8874): gspca: Adjust hstart for sn9c103/ov7630 and update usb-id\u0027s.\n  V4L/DVB (8873): gspca: Bad image offset with rev012a of spca561 and adjust exposure.\n  V4L/DVB (8872): gspca: Bad image format and offset with rev072a of spca561.\n  V4L/DVB (8870): gspca: Fix dark room problem with sonixb.\n  V4L/DVB (8869): gspca: Move the Sonix webcams with TAS5110C1B from sn9c102 to gspca.\n  V4L/DVB (8868): gspca: Support for vga modes with sif sensors in sonixb.\n  V4L/DVB (8844): dabusb_fpga_download(): fix a memory leak\n  V4L/DVB (8843): tda10048_firmware_upload(): fix a memory leak\n  V4L/DVB (8842): vivi_release(): fix use-after-free\n  V4L/DVB (8840): dib0700: add basic support for Hauppauge Nova-TD-500 (84xxx)\n  V4L/DVB (8839): dib0700: add comment to identify 35th USB id pair\n  V4L/DVB (8837): dvb: fix I2C adapters name size\n  V4L/DVB (8835): gspca: Same pixfmt as the sn9c102 driver and raw Bayer added in sonixb.\n  V4L/DVB (8834): gspca: Have a bigger buffer for sn9c10x compressed images.\n  V4L/DVB (8833): gspca: Cleanup the sonixb code.\n  V4L/DVB (8832): gspca: Bad pixelformat of vc0321 webcams.\n  ...\n"
    },
    {
      "commit": "54e2a3270f4d5f50aefb08630a3c3c758b9c2723",
      "tree": "2d28170316f42778217fb16a0df1afe5898a2ce7",
      "parents": [
        "41c9229498a2eb89db1c0a77321c61b448738de4",
        "673d62cc5ea6fca046650f17f77985b112c62322"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:28:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:28:19 2008 -0700"
      },
      "message": "Merge branch \u0027core/debugobjects\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/debugobjects\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debugobjects: fix lockdep warning\n"
    },
    {
      "commit": "e0cee3eea7875800451739ae38f99edcf11c133d",
      "tree": "411a044d9094582cb26963a6cee72fd4c594e9fb",
      "parents": [
        "0510617b85758b6e66f3c602ceccea1826440470"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Mon Aug 04 20:53:57 2008 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Sep 05 21:24:11 2008 +0100"
      },
      "message": "[MIPS] Fix WARNING: at kernel/smp.c:290\n\ntrap_init issues flush_icache_range(), which uses ipi functions to\nget icache flushing done on all cpus. But this is done before interrupts\nare enabled and caused WARN_ON messages. This changeset introduces\na new local_flush_icache_range() and uses it before interrupts (and\nadditional CPUs) are enabled to avoid this problem.\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "f59ac0481660e66cec67f1d6b024e78b9dc715fe",
      "tree": "e9c69b04ac5863b1429bca5a9df1d75026703cde",
      "parents": [
        "c6e387a214f4b2c4bd48020409e366c133385d98"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Fri Aug 29 16:26:43 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 05 16:17:42 2008 -0400"
      },
      "message": "cfg80211: keep track of supported interface modes\n\nIt is obviously good for userspace to know up front which\ninterface modes a given piece of hardware might support (even\nif adding such an interface might fail later because of\nconcurrency issues), so let\u0027s make cfg80211 aware of that.\nFor good measure, disallow adding interfaces in all other\nmodes so drivers don\u0027t forget to announce support for one mode\nwhen they add it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Stephen Blackheath \u003ctramp.enshrine.stephen@blacksapphire.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "49048622eae698e5c4ae61f7e71200f265ccc529",
      "tree": "e568595fe5329e1293eafc3a3cc833dfe89ffbf2",
      "parents": [
        "56c7426b3951e4f35a71d695f1c982989399d6fd"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Fri Sep 05 18:12:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 18:14:35 2008 +0200"
      },
      "message": "sched: fix process time monotonicity\n\nSpencer reported a problem where utime and stime were going negative despite\nthe fixes in commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa. The suspected\nreason for the problem is that signal_struct maintains it\u0027s own utime and\nstime (of exited tasks), these are not updated using the new task_utime()\nroutine, hence sig-\u003eutime can go backwards and cause the same problem\nto occur (sig-\u003eutime, adds tsk-\u003eutime and not task_utime()). This patch\nfixes the problem\n\nTODO: using max(task-\u003eprev_utime, derived utime) works for now, but a more\ngeneric solution is to implement cputime_max() and use the cputime_gt()\nfunction for comparison.\n\nReported-by: spencer@bluehost.com\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afbc8d8e72daa5a5faf6a0242186bdfcc42b2427",
      "tree": "8d3c699c56daffdaa1d18507f23044fb7b9fd36f",
      "parents": [
        "076c7f4c6c55c37975c8e04ae6827267794d5d2e"
      ],
      "author": {
        "name": "Khem Raj",
        "email": "raj.khem@gmail.com",
        "time": "Thu Sep 04 23:11:01 2008 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Sep 05 15:44:31 2008 +0100"
      },
      "message": "Fix conditional export of kvh.h and a.out.h to userspace.\n\nSome architectures have moved the asm/ into arch/ and some have not.\nThis patch checks for a.out.h and kvh.h in both places before exporting\nthe corresponding file from linux/\n\n[dwmw2: simplified a little]\nSigned-off-by: Khem Raj \u003craj.khem@gmail.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7c1e76897492d92b6a1c2d6892494d39ded9680c",
      "tree": "ea04e1be252e176fe5a665a28fd1c26a562cb1fa",
      "parents": [
        "d210baf53b699fc61aa891c177b71d7082d3b957"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Sep 03 21:36:50 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:51 2008 +0200"
      },
      "message": "clockevents: prevent clockevent event_handler ending up handler_noop\n\nThere is a ordering related problem with clockevents code, due to which\nclockevents_register_device() called after tickless/highres switch\nwill not work. The new clockevent ends up with clockevents_handle_noop as\nevent handler, resulting in no timer activity.\n\nThe problematic path seems to be\n\n* old device already has hrtimer_interrupt as the event_handler\n* new clockevent device registers with a higher rating\n* tick_check_new_device() is called\n  * clockevents_exchange_device() gets called\n    * old-\u003eevent_handler is set to clockevents_handle_noop\n  * tick_setup_device() is called for the new device\n    * which sets new-\u003eevent_handler using the old-\u003eevent_handler which is noop.\n\nChange the ordering so that new device inherits the proper handler.\n\nThis does not have any issue in normal case as most likely all the clockevent\ndevices are setup before the highres switch. But, can potentially be affecting\nsome corner case where HPET force detect happens after the highres switch.\nThis was a problem with HPET in MSI mode code that we have been experimenting\nwith.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cfc78c5a09241a3a9561466834996a7fb90c4228",
      "tree": "7377af0f95a7dbfc877d927534c23c7146f3e813",
      "parents": [
        "09571c7ae30865adfa79dccd12a822a65d2c4b5a"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:53 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:12 2008 +1000"
      },
      "message": "IPVS: Adjust various debug outputs to use new macros\n\nAdjust various debug outputs to use the new *_BUF macro variants for\ncorrect output of v4/v6 addresses.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "7937df1564783806c285d34a1c6fd63d8da29d7a",
      "tree": "090dbabafffef92aff1e04aa163435c3ce6db4c9",
      "parents": [
        "2a3b791e6e1169f374224d164738e9f7be703d77"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:48 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:10 2008 +1000"
      },
      "message": "IPVS: Convert real server lookup functions\n\nConvert functions for looking up destinations (real servers) to support\nIPv6 services/dests.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "b3cdd2a73867d309dca288b8e820c09e3b7f1da1",
      "tree": "83f5ca34e353598ccd6c6cd58e0a9a94a7db03fd",
      "parents": [
        "38cdcc9a039b92a9972dca3c954fb3d8b3ef13bf"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:45 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:08 2008 +1000"
      },
      "message": "IPVS: Add and bind IPv6 xmit functions\n\nAdd xmit functions for IPv6. Also add the already needed __ip_vs_get_out_rt_v6()\nto ip_vs_core.c. Bind the new xmit functions to v6 connections.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "28364a59f3dfe7fed3560ec7aff9b7aeb02824fb",
      "tree": "88b14c8c4d48c5ae538d7d7defe33272498aaebd",
      "parents": [
        "0bbdd42b7efa66685b6d74701bcde3a596a3a59d"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:43 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:08 2008 +1000"
      },
      "message": "IPVS: Extend functions for getting/creating connections\n\nExtend functions for getting/creating connections and connection\ntemplates for IPv6 support and fix the callers.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "0bbdd42b7efa66685b6d74701bcde3a596a3a59d",
      "tree": "98b1cc6fc7b856768b7923f2747e64c2ccc7878b",
      "parents": [
        "3b047d9d0407e78a52f009835a0e26cb62edb8c7"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:42 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:07 2008 +1000"
      },
      "message": "IPVS: Extend protocol DNAT/SNAT and state handlers\n\nExtend protocol DNAT/SNAT and state handlers to work with IPv6. Also\nchange/introduce new checksumming helper functions for this.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "51ef348b14183789e4cb3444d05ce83b1b69d8fb",
      "tree": "e14e54ce262073b63a3343c764b8174b1041b577",
      "parents": [
        "b14198f6c1bea1687d20723db35d8effecd9d899"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:40 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:06 2008 +1000"
      },
      "message": "IPVS: Add \u0027af\u0027 args to protocol handler functions\n\nAdd \u0027af\u0027 arguments to conn_schedule(), conn_in_get(), conn_out_get() and\ncsum_check() function pointers in struct ip_vs_protocol. Extend the\nrespective functions for TCP, UDP, AH and ESP and adjust the callers.\n\nThe changes in the callers need to be somewhat extensive, since they now\nneed to pass a filled out struct ip_vs_iphdr * to the modified functions\ninstead of a struct iphdr *.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "b14198f6c1bea1687d20723db35d8effecd9d899",
      "tree": "f521aa6fdaa6a70aa2240c6ac59321722a04a1c3",
      "parents": [
        "3c2e0505d25cdc9425336f167fd4ff5f505aecff"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:39 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:06 2008 +1000"
      },
      "message": "IPVS: Add IPv6 support flag to schedulers\n\nAdd \u0027supports_ipv6\u0027 flag to struct ip_vs_scheduler to indicate whether a\nscheduler supports IPv6. Set the flag to 1 in schedulers that work with\nIPv6, 0 otherwise. This flag is checked in a later patch while trying to\nadd a service with a specific scheduler. Adjust debug in v6-supporting\nschedulers to work with both address families.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "3c2e0505d25cdc9425336f167fd4ff5f505aecff",
      "tree": "819711ebce94061695fa8c0edb91a9372553cc73",
      "parents": [
        "b18610de9ec2728159f723a9b864ca78a5774193"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:38 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:05 2008 +1000"
      },
      "message": "IPVS: Add v6 support to ip_vs_service_get()\n\nAdd support for selecting services based on their address family to\nip_vs_service_get() and adjust the callers.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "c860c6b1479992440e4962e9c95d258bfdce4fca",
      "tree": "25172dc157cf23f02f1639af5ae6bbd39521f627",
      "parents": [
        "c842a3ada9ba8f0cca38a70de3fe0effcfab254c"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:36 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:04 2008 +1000"
      },
      "message": "IPVS: Add internal versions of sockopt interface structs\n\nAdd extended internal versions of struct ip_vs_service_user and struct\nip_vs_dest_user (the originals can\u0027t be modified as they are part\nof the old sockopt interface). Adjust ip_vs_ctl.c to work with the new\ndata structures and add some minor AF-awareness.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "c842a3ada9ba8f0cca38a70de3fe0effcfab254c",
      "tree": "bbd46b4eb6918a6983794432d00eb14d8b1cc3ee",
      "parents": [
        "64aae3cb9fd22f33e491c4730d363eb2229ef910"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:35 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:04 2008 +1000"
      },
      "message": "IPVS: Add debug macros for v4 and v6 address output\n\nAdd some debugging macros that allow conditional output of either v4 or v6\naddresses, depending on an \u0027af\u0027 parameter. This is done by creating a\ntemporary string buffer in an outer debug macro and writing addresses\u0027\nstring representations into it from another macro which can only be used\nwhen inside the outer one.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "64aae3cb9fd22f33e491c4730d363eb2229ef910",
      "tree": "71a9ac96d585d4998e4df7c33aa515764d5ad5e1",
      "parents": [
        "e7ade46a53055c19a01c8becbe7807f9075d6fee"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:34 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:03 2008 +1000"
      },
      "message": "IPVS: Add general v4/v6 helper functions / data structures\n\nAdd a struct ip_vs_iphdr for easier handling of common v4 and v6 header\nfields in the same code path. ip_vs_fill_iphdr() helps to fill this struct\nfrom an IPv4 or IPv6 header. Add further helper functions for copying and\ncomparing addresses.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "e7ade46a53055c19a01c8becbe7807f9075d6fee",
      "tree": "8e75c543dbf015d0f1056941526e9671a1afc780",
      "parents": [
        "fab0de02fb0da83b90cec7fce4294747d86d5c6f"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:33 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:03 2008 +1000"
      },
      "message": "IPVS: Change IPVS data structures to support IPv6 addresses\n\nIntroduce new \u0027af\u0027 fields into IPVS data structures for specifying an\nentry\u0027s address family. Convert IP addresses to be of type union\nnf_inet_addr.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "db0a2901a32c44510d7d429358d017143a649a70",
      "tree": "4e4e41cf2e27aa4940f9c0711ca2a3bf7557a805",
      "parents": [
        "d210baf53b699fc61aa891c177b71d7082d3b957",
        "4cce1655b26a4df1e619b2aa3d2eea1b7a6e906c"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Sep 04 16:24:02 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Sep 04 16:24:02 2008 -0300"
      },
      "message": "Merge branch \u0027fixes_stg\u0027 of ../git_old into fixes\n"
    },
    {
      "commit": "d6da3511d6b558d0b017777b61dc08b8fbc06ea4",
      "tree": "473f9131b9e641d803bfbea174cf1dfc45aea3ca",
      "parents": [
        "ddab05568eaa70fc92b2aae957136f188f724e9c"
      ],
      "author": {
        "name": "Tomasz Grobelny",
        "email": "tomasz@grobelny.oswiecenia.net",
        "time": "Thu Sep 04 07:30:19 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:45:39 2008 +0200"
      },
      "message": "dccp: Policy-based packet dequeueing infrastructure\n\nThis patch adds a generic infrastructure for policy-based dequeueing of \nTX packets and provides two policies:\n * a simple FIFO policy (which is the default) and\n * a priority based policy (set via socket options).\nBoth policies honour the tx_qlen sysctl for the maximum size of the write\nqueue (can be overridden via socket options). \n\nThe priority policy uses skb-\u003epriority internally to assign an u32 priority\nidentifier, using the same ranking as SO_PRIORITY. The skb-\u003epriority field\nis set to 0 when the packet leaves DCCP. The priority is supplied as ancillary\ndata using cmsg(3), the patch also provides the requisite parsing routines.\n\nSigned-off-by: Tomasz Grobelny \u003ctomasz@grobelny.oswiecenia.net\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "6224877b2ca4be5de96270a8ae490fe2ba11b0e0",
      "tree": "95eef39293311959842e5476eace895e457eb780",
      "parents": [
        "b25b0c60b0c39a82bc651aeb6443bcb36cd17f76"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:30:19 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:45:39 2008 +0200"
      },
      "message": "tcp/dccp: Consolidate common code for RFC 3390 conversion\n\nThis patch consolidates the code common to TCP and CCID-2:\n * TCP uses RFC 3390 in a packet-oriented manner (tcp_input.c) and\n * CCID-2 uses RFC 3390 in packet-oriented manner (RFC 4341).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "e7937772d7a2b0127cc4cbc67bc594e139fdaf63",
      "tree": "3d56098b6fcdecbf70453d74c2065a8e33134d1e",
      "parents": [
        "f4a66ca4d2ff093c0f9111b449a248ffb8209b4d"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:30:19 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:45:38 2008 +0200"
      },
      "message": "dccp: Extend CCID packet dequeueing interface\n\nThis extends the packet dequeuing interface of dccp_write_xmit() to allow\n 1. CCIDs to take care of timing when the next packet may be sent;\n 2. delayed sending (as before, with an inter-packet gap up to 65.535 seconds).\n\nThe main purpose is to take CCID2 out of its polling mode (when it is network-\nlimited, it tries every millisecond to send, without interruption).\nThe interface can also be used to support other CCIDs.\n\nThe mode of operation for (2) is as follows:\n * new packet is enqueued via dccp_sendmsg() \u003d\u003e dccp_write_xmit(),\n * ccid_hc_tx_send_packet() detects that it may not send (e.g. window full), \n * it signals this condition via `CCID_PACKET_WILL_DEQUEUE_LATER\u0027,\n * dccp_write_xmit() returns without further action;\n * after some time the wait-condition for CCID becomes true,\n * that CCID schedules the tasklet,\n * tasklet function calls ccid_hc_tx_send_packet() via dccp_write_xmit(),\n * since the wait-condition is now true, ccid_hc_tx_packet() returns \"send now\",\n * packet is sent, and possibly more (since dccp_write_xmit() loops).\n\nCode reuse: the taskled function calls dccp_write_xmit(), the timer function\n            reduces to a wrapper around the same code.\n\nIf the tasklet finds that the socket is locked, it re-schedules the tasklet\nfunction (not the tasklet) after one jiffy.\n\nChanged DCCP_BUG to dccp_pr_debug when transmit_skb returns an error (e.g. when a\nlocal qdisc is used, NET_XMIT_DROP\u003d1 can be returned for many packets).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "c2f42077bd06f300ae959204f3c007f820f5e769",
      "tree": "7e3d9c3c8b18f18b35a6ce19d84467ae8711521c",
      "parents": [
        "283fb4a5f39d1521d53e1044bff0ba2654acf145"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:30:19 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:45:37 2008 +0200"
      },
      "message": "dccp ccid-2: Schedule Sync as out-of-band mechanism\n\nThe problem with Ack Vectors is that \n\n  i) their length is variable and can in principle grow quite large,\n ii) it is hard to predict exactly how large they will be.\n\nDue to the second point it seems not a good idea to reduce the MPS; in\nparticular when on average there is enough room for the Ack Vector and an\nincrease in length is momentarily due to some burst loss, after which the\nAck Vector returns to its normal/average length.\n\nThe solution taken by this patch is to subtract a minimum-expected Ack Vector\nlength from the MPS (previous patch), and to defer any larger Ack Vectors onto\na separate Sync - but only if indeed there is no space left on the skb.\n\nThis patch provides the infrastructure to schedule Sync-packets for transporting\n(urgent) out-of-band data. Its signalling is quicker than scheduling an Ack, since\nit does not need to wait for new application data.\n\nIt can thus serve other parts of the DCCP code as well.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "f10ecaee6dc2c6d56783462b2a82e98bc81b55f4",
      "tree": "d8c8049b47c2a8bfa74a6308da21c6d873cb9131",
      "parents": [
        "ce177ae2e6b196659e93a9408cc1f5f13f206d13"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:30:19 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:45:34 2008 +0200"
      },
      "message": "dccp: Replace magic CCID-specific numbers by symbolic constants\n\nThe constants DCCPO_{MIN,MAX}_CCID_SPECIFIC are nowhere used in the code, but\ninstead for the CCID-specific options numbers are used.\n\nThis patch unifies the use of CCID-specific option numbers, by adding symbolic\nnames reflecting the definitions in RFC 4340, 10.3.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "0a4822679d94e2b0117aeead06a19fad59533905",
      "tree": "a7df5bd77ba005e8b5a2f6be44929470d5916a74",
      "parents": [
        "51c7d4fa2675c106a980ddcdbe308b54b5151945"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:30:19 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:45:32 2008 +0200"
      },
      "message": "dccp: Initialisation and type-checking of feature sysctls\n\nThis patch takes care of initialising and type-checking sysctls related to\nfeature negotiation. Type checking is important since some of the sysctls\nnow directly act on the feature-negotiation process.\n\nThe sysctls are initialised with the known default values for each feature.\nFor the type-checking the value constraints from RFC 4340 are used:\n\n * Sequence Window uses the specified Wmin\u003d32, the maximum is ulong (4 bytes),\n   tested and confirmed that it works up to 4294967295 - for Gbps speed;\n * Ack Ratio is between 0 .. 0xffff (2-byte unsigned integer);\n * CCIDs are between 0 .. 255;\n * request_retries, retries1, retries2 also between 0..255 for good measure;\n * tx_qlen is checked to be non-negative;\n * sync_ratelimit remains as before.\n\nFurther changes:\n----------------\nPerformed s@sysctl_dccp_feat@sysctl_dccp@g since the sysctls are now in feat.c.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\n"
    }
  ],
  "next": "51c7d4fa2675c106a980ddcdbe308b54b5151945"
}
