)]}'
{
  "log": [
    {
      "commit": "d90a909e1f3e006a1d57fe11fd417173b6494701",
      "tree": "72893da9ed5083b44dbb8d778d648e114d351a0a",
      "parents": [
        "5781b2356cbecb0b73b06ec8c3897cabdfdd0928"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Dec 12 22:11:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 13 19:45:22 2009 -0800"
      },
      "message": "net: Fix userspace RTM_NEWLINK notifications.\n\nI received some bug reports about userspace programs having problems\nbecause after RTM_NEWLINK was received they could not immediate access\nfiles under /proc/sys/net/ because they had not been registered yet.\n\nThe original problem was trivially fixed by moving the userspace\nnotification from rtnetlink_event() to the end of\nregister_netdevice().\n\nWhen testing that change I discovered I was still getting RTM_NEWLINK\nevents before I could access proc and I was also getting RTM_NEWLINK\nevents after I was seeing RTM_DELLINK.  Things practically guaranteed\nto confuse userspace.\n\nAfter a little more investigation these extra notifications proved to\nbe from the new notifiers NETDEV_POST_INIT and NETDEV_UNREGISTER_BATCH\nhitting the default case in rtnetlink_event, and triggering\nunnecessary RTM_NEWLINK messages.\n\nrtnetlink_event now explicitly handles NETDEV_UNREGISTER_BATCH and\nNETDEV_POST_INIT to avoid sending the incorrect userspace\nnotifications.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5781b2356cbecb0b73b06ec8c3897cabdfdd0928",
      "tree": "7da5613b163aa7a942561aabc0284950583ee314",
      "parents": [
        "e1187b3be72be59625e445b186007e6eae27fef1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Dec 13 19:32:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 13 19:32:39 2009 -0800"
      },
      "message": "udp: udp_lib_get_port() fix\n\nNow we can have a large udp hash table, udp_lib_get_port() loop\nshould be converted to a do {} while (cond) form,\nor we dont enter it at all if hash table size is exactly 65536.\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "501706565b2d4d2d40d0d301d5411ede099b8a6f",
      "tree": "142a18bf1f1e74a09dbfa27540b893ade0fd797d",
      "parents": [
        "e93737b0f0159a61772894943199fd3b6f315641",
        "2fe77b81c77eed92c4c0439f74c8148a295b4a86"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "e93737b0f0159a61772894943199fd3b6f315641",
      "tree": "feaa10bd2419f2a1bad89bcf4880bc8399339873",
      "parents": [
        "bbb84619c378414118fd4f1778125cd246c71e53"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Tue Dec 08 22:26:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 15:11:45 2009 -0800"
      },
      "message": "net: Handle NETREG_UNINITIALIZED devices correctly\n\nFix two problems:\n\n1. If unregister_netdevice_many() is called with both registered\n   and unregistered devices, rollback_registered_many() bails out\n   when it reaches the first unregistered device. The processing\n   of the prior registered devices is unfinished, and the\n   remaining devices are skipped, and possible registered netdev\u0027s\n   are leaked/unregistered.\n\n2. System hangs or panics depending on how the devices are passed,\n   since when netdev_run_todo() runs, some devices were not fully\n   processed.\n\nTested by passing intermingled unregistered and registered vlan\ndevices to unregister_netdevice_many() as follows:\n\t1. dev, fake_dev1, fake_dev2: hangs in run_todo\n\t   (\"unregister_netdevice: waiting for eth1.100 to become\n\t    free. Usage count \u003d 1\")\n\t2. fake_dev1, dev, fake_dev2: failure during de-registration\n\t   and next registration, followed by a vlan driver Oops\n\t   during subsequent registration.\n\nConfirmed that the patch fixes both cases.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c20a66f474e890dd8cc34e124632cd85e4165899",
      "tree": "e311e92cf7de876e9b8c2b9ab4103d31fde63f18",
      "parents": [
        "de039f02d877af52b8d0fe77878b8343a0f99d8b"
      ],
      "author": {
        "name": "Martin Willi",
        "email": "martin@strongswan.org",
        "time": "Wed Dec 09 06:11:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 15:07:57 2009 -0800"
      },
      "message": "xfrm: Fix truncation length of authentication algorithms installed via PF_KEY\n\nCommit 4447bb33f09444920a8f1d89e1540137429351b6 (\"xfrm: Store aalg in\nxfrm_state with a user specified truncation length\") breaks\ninstallation of authentication algorithms via PF_KEY, as the state\nspecific truncation length is not installed with the algorithms\ndefault truncation length.  This patch initializes state properly to\nthe default if installed via PF_KEY.\n\nSigned-off-by: Martin Willi \u003cmartin@strongswan.org\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de039f02d877af52b8d0fe77878b8343a0f99d8b",
      "tree": "81d312952e828bddb53ff5d540f37b0ce8b202f6",
      "parents": [
        "60c2ffd3d2cf12008747d920ae118df119006003"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Dec 09 20:59:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 15:07:57 2009 -0800"
      },
      "message": "net: use compat helper functions in compat_sys_recvmmsg\n\nUse (get|put)_compat_timespec helper functions to simplify the code.\n\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60c2ffd3d2cf12008747d920ae118df119006003",
      "tree": "7b4e86de5eed6a5377bba5a875b326420fe3503b",
      "parents": [
        "ccdddf500f2b1b8e88ac8e3d4dfc15cce9f73886"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Dec 09 20:58:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 15:07:56 2009 -0800"
      },
      "message": "net: fix compat_sys_recvmmsg parameter type\n\ncompat_sys_recvmmsg has a compat_timespec parameter and not a\ntimespec parameter. This way we also get rid of an odd cast.\n\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65182b9fb004220f250d4269c864cf0f1f372e85",
      "tree": "e5adad187645a03b9acc523296be9d0fc4f4a1eb",
      "parents": [
        "7b324d28a94dac5a451e8cba66e8d324601e5b9a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 09 15:11:22 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 10 16:21:51 2009 -0500"
      },
      "message": "wireless: update old static regulatory domain rules\n\nUpdate \"US\" and \"JP\" for current rules, and replace \"EU\" rules with the\nworld roaming domain (since it was only a pseudo-domain anyway).\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7b324d28a94dac5a451e8cba66e8d324601e5b9a",
      "tree": "d633782fad15ae57560cfebb5ff5c3c78af5d610",
      "parents": [
        "5d618cb81aeea19879975cd1f9a1e707694dfd7c"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Wed Dec 09 18:43:01 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 10 16:12:52 2009 -0500"
      },
      "message": "mac80211: Revert \u0027Use correct sign for mesh active path refresh\u0027\n\nThe patch (\"mac80211: Use correct sign for mesh active path\nrefresh.\") was actually a bug.  Reverted it and improved the\nexplanation of how mesh path refresh works.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5d618cb81aeea19879975cd1f9a1e707694dfd7c",
      "tree": "1998238244c80531e09526eba11b9d3530e46622",
      "parents": [
        "0c3cee72a403e3b4992a5478c9c33d668c246c22"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Wed Dec 09 18:43:00 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 10 16:09:52 2009 -0500"
      },
      "message": "mac80211: Fixed bug in mesh portal paths\n\nPaths to mesh portals were being timed out immediately after each use in\nintermediate forwarding nodes.  mppath-\u003eexp_time is set to the expiration time\nso assigning it to jiffies was marking the path as expired.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0c3cee72a403e3b4992a5478c9c33d668c246c22",
      "tree": "964883c4d5c80485b82d293832e9fb57e32661df",
      "parents": [
        "214ac9a4ead6cb254451c09d9c8234a76693feb1"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Dec 09 20:25:59 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 10 16:09:52 2009 -0500"
      },
      "message": "net/mac80211: Correct size given to memset\n\nMemset should be given the size of the structure, not the size of the pointer.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\ntype T;\nT *x;\nexpression E;\n@@\n\nmemset(x, E, sizeof(\n+ *\n x))\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "19deffbeba930030cfaf000b920333c6ba99ad52",
      "tree": "3d014a0815c83124d428f68bc4135e13a873cbdc",
      "parents": [
        "d55fb891f9da8ee17374349ff482b2715623b7e5"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 08 17:10:13 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 09 15:10:08 2009 -0500"
      },
      "message": "wireless: correctly report signal value for IEEE80211_HW_SIGNAL_UNSPEC\n\nThis part was missed in \"cfg80211: implement get_wireless_stats\",\nprobably because sta_set_sinfo already existed and was only handling\ndBm signals.\n\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d55fb891f9da8ee17374349ff482b2715623b7e5",
      "tree": "2013400579647e4d20b737077647cb6d066a7d67",
      "parents": [
        "43de004b6c197b0ea408bdebf4f14afdead74b63"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Tue Nov 24 11:54:10 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 09 15:10:08 2009 -0500"
      },
      "message": "cfg80211: Clear encryption privacy when key off is done.\n\nWhen the current_bss is not set, \u0027iwconfig \u003ciface\u003e key off\u0027 does not\nclear the private flag. Hence after we connect with WEP to an AP and\nthen try to connect with another non-WEP AP, it does not work.\nThis issue will not be seen if supplicant is used.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "77722b177a1606669c0b95dde03347e37d13b8fe",
      "tree": "73c646300d1e7909ec163a371b6d7d7bf9d2f7f5",
      "parents": [
        "2f7de5710a4d394920405febc2a9937c69e16dda"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Dec 08 20:54:11 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:56:12 2009 -0800"
      },
      "message": "tcp: fix retrans_stamp advancing in error cases\n\nIt can happen, that tcp_retransmit_skb fails due to some error.\nIn such cases we might end up into a state where tp-\u003eretrans_out\nis zero but that\u0027s only because we removed the TCPCB_SACKED_RETRANS\nbit from a segment but couldn\u0027t retransmit it because of the error\nthat happened. Therefore some assumptions that retrans_out checks\nare based do not necessarily hold, as there still can be an old\nretransmission but that is only visible in TCPCB_EVER_RETRANS bit.\nAs retransmission happen in sequential order (except for some very\nrare corner cases), it\u0027s enough to check the head skb for that bit.\n\nMain reason for all this complexity is the fact that connection dying\ntime now depends on the validity of the retrans_stamp, in particular,\nthat successive retransmissions of a segment must not advance\nretrans_stamp under any conditions. It seems after quick thinking that\nthis has relatively low impact as eventually TCP will go into CA_Loss\nand either use the existing check for !retrans_stamp case or send a\nretransmission successfully, setting a new base time for the dying\ntimer (can happen only once). At worst, the dying time will be\napproximately the double of the intented time. In addition,\ntcp_packet_delayed() will return wrong result (has some cc aspects\nbut due to rarity of these errors, it\u0027s hardly an issue).\n\nOne of retrans_stamp clearing happens indirectly through first going\ninto CA_Open state and then a later ACK lets the clearing to happen.\nThus tcp_try_keep_open has to be modified too.\n\nThanks to Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e for hinting\nthat this possibility exists (though the particular case discussed\ndidn\u0027t after all have it happening but was just a debug patch\nartifact).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f7de5710a4d394920405febc2a9937c69e16dda",
      "tree": "8f038451b643f68ab399009e769a74678feb5546",
      "parents": [
        "07f29bc5bbae4e53e982ab956fed7207990a7786"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Mon Dec 07 06:06:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:56:11 2009 -0800"
      },
      "message": "tcp: Stalling connections: Move timeout calculation routine\n\nThis patch moves retransmits_timed_out() from include/net/tcp.h\nto tcp_timer.c, where it is used.\n\nReported-by: Frederic Leroy \u003cfredo@starox.org\u003e\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e302ebfeac04beb5a5d6af1ac583c6a1fb76d1a",
      "tree": "8b15d52b73905f89184c91fb146c1b216d71bc8f",
      "parents": [
        "504bb3b58e7314e0fe026da280e8168c1314be3d"
      ],
      "author": {
        "name": "chas williams - CONTRACTOR",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Dec 04 11:06:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:22:31 2009 -0800"
      },
      "message": "atm: [br2684] allow routed mode operation again\n\nin routed mode, we don\u0027t have a hardware address so netdev_ops doesnt\nneed to validate our hardware address via .ndo_validate_addr\n\nReported-by: Manuel Fuentes \u003cmfuentes@agenciaefe.com\u003e\nSigned-off-by: Chas Williams - CONTRACTOR \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb0445887a45a3705522aac6c2d8367e90358792",
      "tree": "12b489c8b9a1092fafa558c0496ef2ef1c3f7b6c",
      "parents": [
        "2a8875e73ffb18165ceb245f99c2ccad77378051"
      ],
      "author": {
        "name": "chas williams - CONTRACTOR",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Dec 04 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:22:30 2009 -0800"
      },
      "message": "atm: [lec] initialize .netdev_ops before calling register_netdev()\n\nfix oops when initializing lane interfaces. lec should probably be\nchanged to use alloc_netdev() instead.\n\nSigned-off-by: Chas Williams - CONTRACTOR \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a8875e73ffb18165ceb245f99c2ccad77378051",
      "tree": "f2a443bef4aec863b9b4143e528357518db0b89c",
      "parents": [
        "3cdaedae635b17ce23c738ce7d364b442310cdec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Dec 08 20:19:53 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:19:53 2009 -0800"
      },
      "message": "[PATCH] tcp: documents timewait refcnt tricks \n\nAdds kerneldoc for inet_twsk_unhash() \u0026 inet_twsk_bind_unhash().\n\nWith help from Randy Dunlap.\n\nSuggested-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cdaedae635b17ce23c738ce7d364b442310cdec",
      "tree": "af07cdf6c31cca8d1a094bd104efa65e1e95e270",
      "parents": [
        "9327f7053e3993c125944fdb137a0618319ef2a0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 04 03:47:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:17:51 2009 -0800"
      },
      "message": "tcp: Fix a connect() race with timewait sockets\n\nWhen we find a timewait connection in __inet_hash_connect() and reuse\nit for a new connection request, we have a race window, releasing bind\nlist lock and reacquiring it in __inet_twsk_kill() to remove timewait\nsocket from list.\n\nAnother thread might find the timewait socket we already chose, leading to\nlist corruption and crashes.\n\nFix is to remove timewait socket from bind list before releasing the bind lock.\n\nNote: This problem happens if sysctl_tcp_tw_reuse is set.\n\nReported-by: kapil dakhane \u003ckdakhane@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9327f7053e3993c125944fdb137a0618319ef2a0",
      "tree": "3cee7de049a2468bef930b1832c42bd1b2e69e9a",
      "parents": [
        "74757d49016a8b06ca028196886641d7aeb78de5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 04 03:46:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:17:51 2009 -0800"
      },
      "message": "tcp: Fix a connect() race with timewait sockets\n\nFirst patch changes __inet_hash_nolisten() and __inet6_hash()\nto get a timewait parameter to be able to unhash it from ehash\nat same time the new socket is inserted in hash.\n\nThis makes sure timewait socket wont be found by a concurrent\nwriter in __inet_check_established()\n\nReported-by: kapil dakhane \u003ckdakhane@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3dc789320e1b310cb505dcd94512c279abcd5e1c",
      "tree": "b6173953ccff6c9bfd83096c97027c2d338287d1",
      "parents": [
        "e61444d9209821469ed0d5a9128dcf2e494533ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:07:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:07:54 2009 -0800"
      },
      "message": "tcp: Remove runtime check that can never be true.\n\nGCC even warns about it, as reported by Andrew Morton:\n\nnet/ipv4/tcp.c: In function \u0027do_tcp_getsockopt\u0027:\nnet/ipv4/tcp.c:2544: warning: comparison is always false due to limited range of data type\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e61444d9209821469ed0d5a9128dcf2e494533ea",
      "tree": "17b406ce83e925da011d2b463ddf278b821c365d",
      "parents": [
        "a252e749f1ae17e43ccc5824f7b1b5854417c98b",
        "6a213afd058436dbbd01098d7422c6a0073c39b5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 13:44:44 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 13:44:44 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "a252e749f1ae17e43ccc5824f7b1b5854417c98b",
      "tree": "0398ece85ef2e5ec63780ec892921a589e7a4d71",
      "parents": [
        "6035ccd8e9e40bb654fbfdef325902ab531679a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 12:51:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 12:51:22 2009 -0800"
      },
      "message": "sctp: fix compile error due to sysctl mismerge\n\nI messed up the merge in d7fc02c7bae7b1cf69269992cf880a43a350cdaa, where\nthe conflict in question wasn\u0027t just about CTL_UNNUMBERED being removed,\nbut the \u0027strategy\u0027 field is too (sysctl handling is now done through the\n/proc interface, with no duplicate protocols for reading the data).\n\nReported-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "1557d33007f63dd96e5d15f33af389378e5f2e54",
      "tree": "06d05722b2ba5d2a67532f779fa8a88efe3c88f1",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "c656ae95d1c5c8ed5763356263ace2d03087efec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits)\n  security/tomoyo: Remove now unnecessary handling of security_sysctl.\n  security/tomoyo: Add a special case to handle accesses through the internal proc mount.\n  sysctl: Drop \u0026 in front of every proc_handler.\n  sysctl: Remove CTL_NONE and CTL_UNNUMBERED\n  sysctl: kill dead ctl_handler definitions.\n  sysctl: Remove the last of the generic binary sysctl support\n  sysctl net: Remove unused binary sysctl code\n  sysctl security/tomoyo: Don\u0027t look at ctl_name\n  sysctl arm: Remove binary sysctl support\n  sysctl x86: Remove dead binary sysctl support\n  sysctl sh: Remove dead binary sysctl support\n  sysctl powerpc: Remove dead binary sysctl support\n  sysctl ia64: Remove dead binary sysctl support\n  sysctl s390: Remove dead sysctl binary support\n  sysctl frv: Remove dead binary sysctl support\n  sysctl mips/lasat: Remove dead binary sysctl support\n  sysctl drivers: Remove dead binary sysctl support\n  sysctl crypto: Remove dead binary sysctl support\n  sysctl security/keys: Remove dead binary sysctl support\n  sysctl kernel: Remove binary sysctl logic\n  ...\n"
    },
    {
      "commit": "1814077fd12a9cdf478c10076e9c42094e9d9250",
      "tree": "802c2703cfc1bb4230b52d0f56277e6a3df98ab8",
      "parents": [
        "02f7f1793023bd8e5e277ad349f6f43f8c284fb0"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vasanth@atheros.com",
        "time": "Fri Dec 04 17:41:34 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 07 16:51:24 2009 -0500"
      },
      "message": "mac80211: Fix bug in computing crc over dynamic IEs in beacon\n\nOn a 32-bit machine, BIT() macro does not give the required\nbit value if the bit is mroe than 31. In ieee802_11_parse_elems_crc(),\nBIT() is suppossed to get the bit value more than 31 (42 (id of ERP_INFO_IE),\n37 (CHANNEL_SWITCH_IE), (42), 32 (POWER_CONSTRAINT_IE), 45 (HT_CAP_IE),\n61 (HT_INFO_IE)). As we do not get the required bit value for the above\nIEs, crc over these IEs are never calculated, so any dynamic change in these\nIEs after the association is not really handled on 32-bit platforms.\nThis patch fixes this issue.\n\nCc: stable@kernel.org\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "02f7f1793023bd8e5e277ad349f6f43f8c284fb0",
      "tree": "20ddc6990b49b2bdae0bf6c324348922e1c30201",
      "parents": [
        "16cec43da50c4b4702653ca710549fd3457a4e6c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Dec 03 20:45:07 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 07 16:51:23 2009 -0500"
      },
      "message": "net/rfkill/core.c: work around gcc-4.0.2 silliness\n\nnet/rfkill/core.c: In function \u0027rfkill_type_show\u0027:\nnet/rfkill/core.c:610: warning: control may reach end of non-void function \u0027rfkill_get_type_str\u0027 being inlined\n\nA gcc bug, but simple enough to squish.\n\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7c3f4bbedc241ddcd3abe1f419c356e625231da1",
      "tree": "98b1141a86d4ac65ae930e1c0cb15cd6a17d2a01",
      "parents": [
        "bc83b6819289c031c439a5aa18ba0fd539d14f3e"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Mon Nov 30 16:50:53 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 07 16:51:18 2009 -0500"
      },
      "message": "mac80211: Fix dynamic power save for scanning.\n\nNot only ps_sdata but also IEEE80211_CONF_PS is to be considered\nbefore restoring PS in scan_ps_disable(). For instance, when ps_sdata\nis set but CONF_PS is not set just because the dynamic timer is still\nrunning, a sw scan leads to setting of CONF_PS in scan_ps_disable\ninstead of restarting the dynamic PS timer.\nAlso for the above case, a null data frame is to be sent after\nreturning to operating channel which was not happening with the\ncurrent implementation. This patch fixes this too.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nReviewed-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bc83b6819289c031c439a5aa18ba0fd539d14f3e",
      "tree": "3e94213703b0a72086a721d78d436919c4dd1dcf",
      "parents": [
        "c14589eb3080636a2f71ebaf21ab9fd70ffc20cc"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Nov 29 12:19:06 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 07 16:51:18 2009 -0500"
      },
      "message": "mac80211: recalculate idle later in MLME\n\nhwsim testing has revealed that when the MLME\nrecalculates the idle state of the device, it\nsometimes does so before sending the final\ndeauthentication or disassociation frame. This\npatch changes the place where the idle state\nis recalculated, but of course driver transmit\nis typically asynchronous while configuration\nis expected to be synchronous, so it doesn\u0027t\nfix all possible cases yet.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "28b4d5cc17c20786848cdc07b7ea237a309776bb",
      "tree": "bae406a4b17229dcce7c11be5073f7a67665e477",
      "parents": [
        "d29cecda036f251aee4947f47eea0fe9ed8cc931",
        "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 05 15:22:26 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 05 15:22:26 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/pcmcia/fmvj18x_cs.c\n\tdrivers/net/pcmcia/nmclan_cs.c\n\tdrivers/net/pcmcia/xirc2ps_cs.c\n\tdrivers/net/wireless/ray_cs.c\n"
    },
    {
      "commit": "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
      "tree": "deaed4192d440b6afb7470b0c36e69d9d65dd119",
      "parents": [
        "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
        "5c828713358cb9df8aa174371edcbbb62203a490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ratelimit: Make suppressed output messages more useful\n  printk: Remove ratelimit.h from kernel.h\n  ratelimit: Fix/allow use in atomic contexts\n  ratelimit: Use per ratelimit context locking\n"
    },
    {
      "commit": "d29cecda036f251aee4947f47eea0fe9ed8cc931",
      "tree": "8d1d44ee7ac8c683fd42d8e6ff2a027b4118dccb",
      "parents": [
        "8f56874bd7e8bee73ed6a1cf80dcec2753616262"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Dec 04 14:25:43 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 14:25:43 2009 -0800"
      },
      "message": "mac80211: fix reorder buffer release\n\nMy patch \"mac80211: correctly place aMPDU RX reorder code\"\nuses an skb queue for MPDUs that were released from the\nbuffer. I intentially didn\u0027t initialise and use the skb\nqueue\u0027s spinlock, but in this place forgot that the code\nvariant that doesn\u0027t touch the spinlock is needed.\n\nThanks to Christian Lamparter for quickly spotting the\nbug in the backtrace Reinette reported.\n\nReported-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nBug-identified-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nTested-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f56874bd7e8bee73ed6a1cf80dcec2753616262",
      "tree": "aebd15dea662ef5efd89402b8fd92fec540a98eb",
      "parents": [
        "47e1c323069bcef0acb8a2b48921688573f5ca63",
        "159bcfeb9123c91f0dc885a42b6387a98192f896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "269ac5fd2d75b118d76a2291e28796527db2f3f8",
      "tree": "b3cea2ec5e14febc9595f4733ec77bda32ad8601",
      "parents": [
        "6646a664e3b60bf3e5db676e0626e6ccd71b3363"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Dec 01 10:47:15 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 04 14:16:24 2009 -0500"
      },
      "message": "cfg80211: indent regulatory messages with spaces\n\nThe regulatory messages in syslog look weird:\n\nkernel: cfg80211: Regulatory domain: US\nkernel: ^I(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)\nkernel: ^I(2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)\nkernel: ^I(5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)\nkernel: ^I(5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)\nkernel: ^I(5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)\nkernel: ^I(5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)\nkernel: ^I(5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)\n\nIndent them with four spaces instead of the tab character to get prettier\noutput.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nAcked: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "914828fad09269292be1bfa3dfbe78d064f76068",
      "tree": "115bd36b908e4e9d2a916af386cec32392e08d00",
      "parents": [
        "a9a29ce674ac62e7bfcb6c1404ca86cda4782988"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Sun Nov 29 14:29:42 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 04 14:16:23 2009 -0500"
      },
      "message": "mac80211: Fix TX status reporting for injected data frames\n\nAn earlier optimization on removing unnecessary traffic on cooked\nmonitor interfaces (\"mac80211: reduce the amount of unnecessary traffic\non cooked monitor interfaces \") ended up removing quite a bit more\nthan just unnecessary traffic. It was not supposed to remove TX status\nreporting for injected frames, but ended up doing it by checking the\ninjected flag in skb-\u003ecb only after that field had been cleared with\nmemset.. Fix this by taking a local copy of the injected flag before\nskb-\u003ecb is cleared.\n\nThis broke user space applications that depend on getting TX status\nnotifications for injected data frames. For example, STA inactivity\npoll from hostapd did not work and ended up kicking out stations even\nif they were still present.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1014eb6ec95b18f890101e99385f05539c0c2f01",
      "tree": "6ef0eb2946e197b93fd317993fc1fc61aadd27e0",
      "parents": [
        "316a4d966cae3c2dec83ebb1ee1a3515f97b30ff"
      ],
      "author": {
        "name": "Jean Tourrilhes",
        "email": "jt@hpl.hp.com",
        "time": "Tue Nov 24 10:47:08 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 04 13:30:39 2009 -0500"
      },
      "message": "WE: Fix set events not propagated\n\nI\u0027ve just noticed that some events are no longer propagated\nfor some wireless drivers. Basically, SET request with a extra payload\nfor driver without commit handler. The fix is pretty simple, see\nattached.\n\tActually, a few lines below this line, you will see that the\nevent generation for simple SET (iwpoint-less ?) is done properly,\nand this other event generation does not need fixing.\n\nSigned-off-by: Jean Tourrilhes \u003cjt@hpl.hp.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "94e2bd688820aed72b4f8092f88c2ccf64e003de",
      "tree": "988de1817ec5ebe40dc6f2901eb86987876c517f",
      "parents": [
        "65cb76baa1058d17d51ce948b697cdbd5dc97421"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Fri Oct 16 15:20:49 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:48 2009 +0100"
      },
      "message": "tree-wide: fix some typos and punctuation in comments\n\nfix some typos and punctuation in comments\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "47e1c323069bcef0acb8a2b48921688573f5ca63",
      "tree": "bebfe86ae36055adae2100200e87727d21a7b762",
      "parents": [
        "13475a30b66cdb9250a34052c19ac98847373030"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Dec 03 00:49:01 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 16:17:44 2009 -0800"
      },
      "message": "tcp: fix a timewait refcnt race\n\nAfter TCP RCU conversion, tw-\u003etw_refcnt should not be set to 1 in\ninet_twsk_alloc(). It allows a RCU reader to get this timewait socket,\nwhile we not yet stabilized it.\n\nOnly choice we have is to set tw_refcnt to 0 in inet_twsk_alloc(),\nthen atomic_add() it later, once everything is done.\n\nLocation of this atomic_add() is tricky, because we dont want another\nwriter to find this timewait in ehash, while tw_refcnt is still zero !\n\nThanks to Kapil Dakhane tests and reports.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13475a30b66cdb9250a34052c19ac98847373030",
      "tree": "5f28f671092c2948726fdde92e20c3371cfceb77",
      "parents": [
        "ff33a6e2ab97f4cde484cdf1a41778af6d6b7cff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 02 22:31:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 16:17:43 2009 -0800"
      },
      "message": "tcp: connect() race with timewait reuse\n\nIts currently possible that several threads issuing a connect() find\nthe same timewait socket and try to reuse it, leading to list\ncorruptions.\n\nCondition for bug is that these threads bound their socket on same\naddress/port of to-be-find timewait socket, and connected to same\ntarget. (SO_REUSEADDR needed)\n\nTo fix this problem, we could unhash timewait socket while holding\nehash lock, to make sure lookups/changes will be serialized. Only\nfirst thread finds the timewait socket, other ones find the\nestablished socket and return an EADDRNOTAVAIL error.\n\nThis second version takes into account Evgeniy\u0027s review and makes sure\ninet_twsk_put() is called outside of locked sections.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49d09007879ce7bee36ab453c73e97c00adce884",
      "tree": "6b6a28e0fd8befd4bad5fb1474ce4e0dea9ed6dd",
      "parents": [
        "3320eae51d6e4c65b4733bf4d87de3b833973a1f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Dec 03 16:06:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 16:06:13 2009 -0800"
      },
      "message": "tcp: diag: Dont report negative values for rx queue\n\nBoth netlink and /proc/net/tcp interfaces can report transient\nnegative values for rx queue.\n\nss -\u003e\nState   Recv-Q Send-Q  Local Address:Port  Peer Address:Port\nESTAB   -6     6       127.0.0.1:45956     127.0.0.1:3333 \n\nnetstat -\u003e\ntcp   4294967290      6 127.0.0.1:37784  127.0.0.1:3333 ESTABLISHED\n\nThis is because we dont lock socket while computing \ntp-\u003ercv_nxt - tp-\u003ecopied_seq,\nand another CPU can update copied_seq before rcv_next in RX path.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc4a7489663250360cd40d5adf06a08d1c5d54df",
      "tree": "ce8fed0a2dfc175b03834bb94717f5f2970c9146",
      "parents": [
        "012093f6d5d89e6ed6e89c55c383f84b1cff7a78"
      ],
      "author": {
        "name": "Patrick Mullaney",
        "email": "pmullaney@novell.com",
        "time": "Thu Dec 03 15:59:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 15:59:22 2009 -0800"
      },
      "message": "netdevice: provide common routine for macvlan and vlan operstate management\n\nProvide common routine for the transition of operational state for a leaf\ndevice during a root device transition.\n\nSigned-off-by: Patrick Mullaney \u003cpmullaney@novell.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7fca0ccecd3f5a111e08df8439f0b884099ad59",
      "tree": "44b360a8f367e2414daf3ad92622ab2544ac0fbd",
      "parents": [
        "424eff975192553a9ea8bfd51bf65039ffb356ef",
        "2861453b1b5e022fd5e1294b8fbf39254440b661"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:51:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:51:02 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "424eff975192553a9ea8bfd51bf65039ffb356ef",
      "tree": "5fa7b15715b3ce904f7250c50d09bc921d9f28bf",
      "parents": [
        "55dbabee63462a455d8fb57caf08b69db256b012",
        "3666ed1c4837fd6906da0224c5373d7a2186a193"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:23:12 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:23:12 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "b099ce2602d806deb41caaa578731848995cdb2a",
      "tree": "7541d0d59c73e6b6274d420b8a3ec35d85ca5f2d",
      "parents": [
        "575f4cd5a5b639457747434dbe18d175fa767db4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:23:47 2009 -0800"
      },
      "message": "net: Batch inet_twsk_purge\n\nThis function walks the whole hashtable so there is no point in\npassing it a network namespace.  Instead I purge all timewait\nsockets from dead network namespaces that I find.  If the namespace\nis one of the once I am trying to purge I am guaranteed no new timewait\nsockets can be formed so this will get them all.  If the namespace\nis one I am not acting for it might form a few more but I will\ncall inet_twsk_purge again and  shortly to get rid of them.  In\nany even if the network namespace is dead timewait sockets are\nuseless.\n\nMove the calls of inet_twsk_purge into batch_exit routines so\nthat if I am killing a bunch of namespaces at once I will just\ncall inet_twsk_purge once and save a lot of redundant unnecessary\nwork.\n\nMy simple 4k network namespace exit test the cleanup time dropped from\nroughly 8.2s to 1.6s.  While the time spent running inet_twsk_purge fell\nto about 2ms.  1ms for ipv4 and 1ms for ipv6.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "575f4cd5a5b639457747434dbe18d175fa767db4",
      "tree": "476224db152a2b5bef33046944cb77b5822fae26",
      "parents": [
        "e9c5158ac26affd5d8ce006521bdfb7148090e18"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:23:47 2009 -0800"
      },
      "message": "net: Use rcu lookups in inet_twsk_purge.\n\nWhile we are looking up entries to free there is no reason to take\nthe lock in inet_twsk_purge.  We have to drop locks and restart\noccassionally anyway so adding a few more in case we get on the\nwrong list because of a timewait move is no big deal.  At the\nsame time not taking the lock for long periods of time is much\nmore polite to the rest of the users of the hash table.\n\nIn my test configuration of killing 4k network namespaces\nthis change causes 4k back to back runs of inet_twsk_purge on an\nempty hash table to go from roughly 20.7s to 3.3s, and the total\ntime to destroy 4k network namespaces goes from roughly 44s to\n3.3s.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9c5158ac26affd5d8ce006521bdfb7148090e18",
      "tree": "a8d43fb446a1908175923f4109c977dcb84e4f91",
      "parents": [
        "3a765edadb28cc736d185f67d1ba6bedcc85f4b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "message": "net: Allow fib_rule_unregister to batch\n\nRefactor the code so fib_rules_register always takes a template instead\nof the actual fib_rules_ops structure that will be used.  This is\nrequired for network namespace support so 2 out of the 3 callers already\ndo this, it allows the error handling to be made common, and it allows\nfib_rules_unregister to free the template for hte caller.\n\nModify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu\nto allw multiple namespaces to be cleaned up in the same rcu grace\nperiod.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a765edadb28cc736d185f67d1ba6bedcc85f4b9",
      "tree": "79cbd70d9ef551cb75e897ddeb8e17749d0596b8",
      "parents": [
        "d79d792ef9f99cca463b6619a93e860d1c833a6e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:03 2009 -0800"
      },
      "message": "netns: Add an explicit rcu_barrier to unregister_pernet_{device|subsys}\n\nThis allows namespace exit methods to batch work that comes requires an\nrcu barrier using call_rcu without having to treat the\nunregister_pernet_operations cases specially.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d79d792ef9f99cca463b6619a93e860d1c833a6e",
      "tree": "06d8a085701546be48ac104fd4f2413a6371180c",
      "parents": [
        "04dc7f6be3a7b308f8545bb45772c9fb75f71aca"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:03 2009 -0800"
      },
      "message": "net: Allow xfrm_user_net_exit to batch efficiently.\n\nxfrm.nlsk is provided by the xfrm_user module and is access via rcu from\nother parts of the xfrm code.  Add xfrm.nlsk_stash a copy of xfrm.nlsk that\nwill never be set to NULL.  This allows the synchronize_net and\nnetlink_kernel_release to be deferred until a whole batch of xfrm.nlsk sockets\nhave been set to NULL.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04dc7f6be3a7b308f8545bb45772c9fb75f71aca",
      "tree": "11cfe976f4adffdbdeeed71f591613089e9d6fe5",
      "parents": [
        "72ad937abd0a43b7cf2c557ba1f2ec75e608c516"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:02 2009 -0800"
      },
      "message": "net: Move network device exit batching\n\nMove network device exit batching from a special case in\nnet_namespace.c to using common mechanisms in dev.c\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72ad937abd0a43b7cf2c557ba1f2ec75e608c516",
      "tree": "ac81af750df170a46ed001fb5647b83dc20f8422",
      "parents": [
        "8153a10c08f1312af563bb92532002e46d3f504a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:01 2009 -0800"
      },
      "message": "net: Add support for batching network namespace cleanups\n\n- Add exit_list to struct net to support building lists of network\n  namespaces to cleanup.\n\n- Add exit_batch to pernet_operations to allow running operations only\n  once during a network namespace exit.  Instead of once per network\n  namespace.\n\n- Factor opt ops_exit_list and ops_exit_free so the logic with cleanup\n  up a network namespace does not need to be duplicated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8153a10c08f1312af563bb92532002e46d3f504a",
      "tree": "95b6d05500f6b5e4f2031d8c83ce4fe5f24df61d",
      "parents": [
        "5adef1809147a9c39119ffd5a13a1ca4fe23a411"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:38 2009 -0800"
      },
      "message": "ipv4 05/05: add sysctl to accept packets with local source addresses\n\ncommit 8ec1e0ebe26087bfc5c0394ada5feb5758014fc8\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:16:35 2009 +0100\n\n    ipv4: add sysctl to accept packets with local source addresses\n\n    Change fib_validate_source() to accept packets with a local source address when\n    the \"accept_local\" sysctl is set for the incoming inet device. Combined with the\n    previous patches, this allows to communicate between multiple local interfaces\n    over the wire.\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5adef1809147a9c39119ffd5a13a1ca4fe23a411",
      "tree": "82c3e969fbe2cb5b227db38dcb7ad18f30b5ae96",
      "parents": [
        "1b038a5e60c7812f19818e8a5df96d029e49c38f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:57 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:37 2009 -0800"
      },
      "message": "net 04/05: fib_rules: allow to delete local rule\n\ncommit d124356ce314fff22a047ea334379d5105b2d834\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:16:35 2009 +0100\n\n    net: fib_rules: allow to delete local rule\n\n    Allow to delete the local rule and recreate it with a higher priority. This\n    can be used to force packets with a local destination out on the wire instead\n    of routing them to loopback. Additionally this patch allows to recreate rules\n    with a priority of 0.\n\n    Combined with the previous patch to allow oif classification, a socket can\n    be bound to the desired interface and packets routed to the wire like this:\n\n    # move local rule to lower priority\n    ip rule add pref 1000 lookup local\n    ip rule del pref 0\n\n    # route packets of sockets bound to eth0 to the wire independant\n    # of the destination address\n    ip rule add pref 100 oif eth0 lookup 100\n    ip route add default dev eth0 table 100\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b038a5e60c7812f19818e8a5df96d029e49c38f",
      "tree": "eea09368802178a64429beb656a03a2cc71e2f42",
      "parents": [
        "491deb24bf5bf7124141287aaf02c3219783ceab"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:36 2009 -0800"
      },
      "message": "net 03/05: fib_rules: add oif classification\n\ncommit 68144d350f4f6c348659c825cde6a82b34c27a91\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:05:25 2009 +0100\n\n    net: fib_rules: add oif classification\n\n    Support routing table lookup based on the flow\u0027s oif. This is useful to\n    classify packets originating from sockets bound to interfaces differently.\n\n    The route cache already includes the oif and needs no changes.\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "491deb24bf5bf7124141287aaf02c3219783ceab",
      "tree": "f0465107e0994c89a1f8afa0091d9e7dd19f52d8",
      "parents": [
        "d285834001df372f81045bb41092e54943e93c84"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:36 2009 -0800"
      },
      "message": "net 02/05: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME\n\ncommit 229e77eec406ad68662f18e49fda8b5d366768c5\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:05:23 2009 +0100\n\n    net: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME\n\n    The next patch will add oif classification, rename interface related members\n    and attributes to reflect that they\u0027re used for iif classification.\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eae38eede2e5f70d65f09327297bd698b0d3ea7e",
      "tree": "695cfeaaa240d4ad9c91b7fb40edfbe8c343534c",
      "parents": [
        "5fbcd3d1a07e234583e17830e8aef47282c22141"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Oct 05 12:23:48 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:26 2009 +0100"
      },
      "message": "Bluetooth: Add RFCOMM option to use L2CAP ERTM mode\n\nBy default the RFCOMM layer would still use L2CAP basic mode. For testing\npurposes this option enables RFCOMM to select enhanced retransmission\nmode.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "5fbcd3d1a07e234583e17830e8aef47282c22141",
      "tree": "412959aab8701a4b54ad1d06a4048c657f1adb3d",
      "parents": [
        "32fd63981ed453bd882f22e3e9b0ccbc11fb47e5"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Oct 05 11:35:43 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:25 2009 +0100"
      },
      "message": "Bluetooth: Add L2CAP option for max transmit value\n\nFor testing purposes it is important to modify the max transmit value.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2ab25cdd7b54473dd42dcffc9872737de2517466",
      "tree": "0410dece8d1da3238bdc006e1909237f4a714e1f",
      "parents": [
        "4ec10d9720ef78cd81d8bcc30a3238665744569f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:40 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:24 2009 +0100"
      },
      "message": "Bluetooth: Fix \u0027SendRRorRNR\u0027 to send the ReqSeq value\n\nSendRRorRNR needs to acknowledge received I-frames (actually every packet\nneeds to acknowledge received I-frames by sending the proper packet\nsequence number), so ReqSeq is set to the next I-frame number sequence to\nbe pulled by the reassembly function.\nSendRRorRNR tells the remote side about local busy conditions, it sends\na Receiver Ready frame if local busy is false or a Receiver Not Ready\nif local busy is true.\nReqSeq is the packet\u0027s field to send the number of the acknowledged\npackets.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4ec10d9720ef78cd81d8bcc30a3238665744569f",
      "tree": "a4be8b2201f9e7acac689443d10cb30a3287972f",
      "parents": [
        "9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:39 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:24 2009 +0100"
      },
      "message": "Bluetooth: Implement RejActioned flag\n\nRejActioned is used to prevent retransmission when a entity is on the\nWAIT_F state, i.e., waiting for a frame with F-bit set due local busy\ncondition or a expired retransmission timer. (When these two events raise\nthey send a frame with the Poll bit set and enters in the WAIT_F state to\nwait for a frame with the Final bit set.)\nThe local entity doesn\u0027t send I-frames(the data frames) until the receipt\nof a frame with F-bit set. When that happens it also set RejActioned to false.\nRejActioned is a mandatory feature of ERTM spec.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d",
      "tree": "8e01df10e3e640c0f76b4c3f380db351543900bb",
      "parents": [
        "889a3ca466018ab68363c3168993793bc2d984f1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:38 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:23 2009 +0100"
      },
      "message": "Bluetooth: Fix sending ReqSeq on I-frames\n\nAs specified by ERTM spec an ERTM channel can acknowledge received\nI-frames(the data frames) by sending an I-frame with the proper ReqSeq\nvalue (i.e. ReqSeq is set to BufferSeq).  Until now we aren\u0027t setting the\nReqSeq value on I-frame control bits. That way we can save sending\nS-frames(Supervise frames) only to acknowledge receipt of I-frames. It\nis very helpful to the full-duplex channel.\nReqSeq is the packet sequence number sent in an acknowledgement frame to\nacknowledge receipt of frames up to (ReqSeq - 1).\nBufferSeq controls the receiver buffer, it is used to delay\nacknowledgement of new frames to not cause buffer overflow. BufferSeq\nvalue is not increased until frames are pulled by reassembly function.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "889a3ca466018ab68363c3168993793bc2d984f1",
      "tree": "c3247c246d982546eb19328efff9253a8e2b5155",
      "parents": [
        "0565c1c24af94130b891f989fa608faddfadc52c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:37 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:23 2009 +0100"
      },
      "message": "Bluetooth: Fix unset of SrejActioned flag\n\nSrejActioned  is a flag that when set prevents local side to retransmit a\nI-frame(the data frame) already retransmitted. The local entity can\nretransmit again only when it receives a SREJ frame with the F-bit set.\nSREJ frame - Selective Reject frame  - is sent when an entity wants the\nretransmission of a specific I-frame that was lost or corrupted.\nThis bug can put ERTM in an unknown state once the entity can\u0027t\nretransmit.\nA frame with the Final bit set is expected when the local side sends a\nframe with the Poll bit set due to a local busy condition or a\nretransmission timer expired. (Receipt of P-bit shall always be replied by\na frame with the F-bit set).\npi-\u003econn_state keeps informations about many ERTM flags including\nSrejActioned.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0565c1c24af94130b891f989fa608faddfadc52c",
      "tree": "223bb84f663f3d2b21c57b264085abcf83c0f4a1",
      "parents": [
        "cde9f807f003676862178a6f28b52c7d431511ed"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:36 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:22 2009 +0100"
      },
      "message": "Bluetooth: Initialize variables and timers for both channel\u0027s sides\n\nFix ERTM\u0027s full-duplex channel to work as specified by ERTM spec. ERTM\nneeds to handle state vars, timers and counters to send and receive\nI-frames(the data frames), i.e., for both sides of data communication.\nWe initialize all of them to the default values here.\nFull-duplex channel is a mandatory feature of ERTM spec.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "cde9f807f003676862178a6f28b52c7d431511ed",
      "tree": "88605527cc17c11787ab347d076733289aaff4cb",
      "parents": [
        "c78ae283145d3a8799b2fb01650166a66af3bff8"
      ],
      "author": {
        "name": "Vikram Kandukuri",
        "email": "vkandukuri@atheros.com",
        "time": "Thu Dec 03 15:12:51 2009 +0530"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:21 2009 +0100"
      },
      "message": "Bluetooth: Fix handling of BNEP setup connection requests\n\nAccording to BNEP test specification the proper response should be sent\nfor a setup connection request message after the BNEP connection setup\nhas been completed.\n\nSigned-off-by: Vikram Kandukuri \u003cvikram.kandukuri@atheros.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c78ae283145d3a8799b2fb01650166a66af3bff8",
      "tree": "1da35006397e33e1ff9f3941a19a6cb2aa585c75",
      "parents": [
        "76bca88012e1d27de794f32cc551d6314d38b6d9"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Nov 18 01:02:54 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:21 2009 +0100"
      },
      "message": "Bluetooth: Unobfuscate tasklet_schedule usage\n\nThe tasklet schedule function helpers are just an obfuscation. So remove\nthem and call the schedule functions directly.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "76bca88012e1d27de794f32cc551d6314d38b6d9",
      "tree": "b2c78fd6f9946ea67abd5b4d0fe5a66061990fa8",
      "parents": [
        "7e21addcd0ad87696c17409399e56e874931da57"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Nov 18 00:40:39 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:20 2009 +0100"
      },
      "message": "Bluetooth: Turn hci_recv_frame into an exported function\n\nFor future simplification it is important that the hci_recv_frame\nfunction is no longer an inline function. So move it into the module\nitself and export it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7e21addcd0ad87696c17409399e56e874931da57",
      "tree": "98a1f7a02dfa1db6d3c67565982f367ace68929c",
      "parents": [
        "2da31939a42f7a676a0bc5155d6a0a39ed8451f2"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Nov 18 01:05:00 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:20 2009 +0100"
      },
      "message": "Bluetooth: Return ENETDOWN when interface is down\n\nSending commands to a down interface results in a timeout while clearly\nit should just return ENETDOWN. When using the ioctls this works fine,\nbut not when using the HCI sockets sendmsg interface.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2da31939a42f7a676a0bc5155d6a0a39ed8451f2",
      "tree": "2ff9006190fde6f973baa7004a565f1d07f99ab2",
      "parents": [
        "fed4c2508b7419d0a55958fead6151b32def1683"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Nov 26 16:20:56 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:19 2009 +0100"
      },
      "message": "Bluetooth: Implement raw output support for HIDP layer\n\nImplement raw output callback which is used by hidraw to send raw data to\nthe underlying device.\n\nWithout this patch, the userspace hidraw-based applications can\u0027t send\noutput reports to HID Bluetooth devices.\n\nReported-and-tested-by: Brian Gunn \u003cbgunn@solekai.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e6b09ccada2e4ab8ee25a7c3ac72fcd1bc7101c4",
      "tree": "648eac894cae26db9db0469f77409af78fcbccb9",
      "parents": [
        "f9a2e69e8bb77fe6c8e7da6380ebd4330c00a29e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:18:58 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:18:58 2009 -0800"
      },
      "message": "tcp: sysctl_tcp_cookie_size needs to be exported to modules.\n\nOtherwise:\n\nERROR: \"sysctl_tcp_cookie_size\" [net/ipv6/ipv6.ko] undefined!\nmake[1]: *** [__modpost] Error 1\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9a2e69e8bb77fe6c8e7da6380ebd4330c00a29e",
      "tree": "bce6a7a5ea458ab8444271270ba181ace643d0d9",
      "parents": [
        "91e2ff3528ac90b9dbcb04b76488e8ad74e3d3d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:12:04 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:12:04 2009 -0800"
      },
      "message": "tcp: Fix warning on 64-bit.\n\nnet/ipv4/tcp_output.c: In function ‘tcp_make_synack’:\nnet/ipv4/tcp_output.c:2488: warning: cast from pointer to integer of different size\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91e2ff3528ac90b9dbcb04b76488e8ad74e3d3d9",
      "tree": "33b346ebaab318dab8beb1f433453ceae65bced1",
      "parents": [
        "650de8de16aa7c168c34d1b6a3191e4a5e2648c8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Dec 02 13:19:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:10:24 2009 -0800"
      },
      "message": "net: Teach vlans to cleanup as a pernet subsystem\n\nTake advantage of the fact that an explicit rtnl_kill_links is\nunnecessary (and skipping it improves batching), as network namespace\nexit calls dellink on all remaining virtual devices, and\nrtnl_link_unregister calls dellink on all outstanding devices in that\nnetwork namespace.  To do this we need to leave the vlan proc\ndirectories in place until after network device exit time, which is\ndone by using register_pernet_subsys instead of\nregister_pernet_device.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4957faade11b3a278c3b3cade3411ddc20afa791",
      "tree": "57f994bab69353baf5f554b89cf9107c3372ecce",
      "parents": [
        "bd0388ae77075026d6a9f9eb6026dfd1d52ce0e9"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:25:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:26 2009 -0800"
      },
      "message": "TCPCT part 1g: Responder Cookie \u003d\u003e Initiator\n\nParse incoming TCP_COOKIE option(s).\n\nCalculate \u003cSYN,ACK\u003e TCP_COOKIE option.\n\nSend optional \u003cSYN,ACK\u003e data.\n\nThis is a significantly revised implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nRequires:\n   TCPCT part 1a: add request_values parameter for sending SYNACK\n   TCPCT part 1b: generate Responder Cookie secret\n   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n   TCPCT part 1d: define TCP cookie option, extend existing struct\u0027s\n   TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS\n   TCPCT part 1f: Initiator Cookie \u003d\u003e Responder\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd0388ae77075026d6a9f9eb6026dfd1d52ce0e9",
      "tree": "b2262d2bf3f60e42f8c3573c89e6a47042b20122",
      "parents": [
        "e56fb50f2b7958b931c8a2fc0966061b3f3c8f3a"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:23:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:26 2009 -0800"
      },
      "message": "TCPCT part 1f: Initiator Cookie \u003d\u003e Responder\n\nCalculate and format \u003cSYN\u003e TCP_COOKIE option.\n\nThis is a significantly revised implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nRequires:\n   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n   TCPCT part 1d: define TCP cookie option, extend existing struct\u0027s\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e56fb50f2b7958b931c8a2fc0966061b3f3c8f3a",
      "tree": "392f548e99f5d098286cea54fb9e18ac8c31e672",
      "parents": [
        "435cf559f02ea3a3159eb316f97dc88bdebe9432"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:25 2009 -0800"
      },
      "message": "TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS\n\nProvide per socket control of the TCP cookie option and SYN/SYNACK data.\n\nThis is a straightforward re-implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nThe principle difference is using a TCP option to carry the cookie nonce,\ninstead of a user configured offset in the data.\n\nAllocations have been rearranged to avoid requiring GFP_ATOMIC.\n\nRequires:\n   net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED\n   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n   TCPCT part 1d: define TCP cookie option, extend existing struct\u0027s\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "435cf559f02ea3a3159eb316f97dc88bdebe9432",
      "tree": "0b2a7e9110c46b193176b0a59fe5689eae7c18f3",
      "parents": [
        "519855c508b9a17878c0977a3cdefc09b59b30df"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:17:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:25 2009 -0800"
      },
      "message": "TCPCT part 1d: define TCP cookie option, extend existing struct\u0027s\n\nData structures are carefully composed to require minimal additions.\nFor example, the struct tcp_options_received cookie_plus variable fits\nbetween existing 16-bit and 8-bit variables, requiring no additional\nspace (taking alignment into consideration).  There are no additions to\ntcp_request_sock, and only 1 pointer in tcp_sock.\n\nThis is a significantly revised implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nThe principle difference is using a TCP option to carry the cookie nonce,\ninstead of a user configured offset in the data.  This is more flexible and\nless subject to user configuration error.  Such a cookie option has been\nsuggested for many years, and is also useful without SYN data, allowing\nseveral related concepts to use the same extension option.\n\n    \"Re: SYN floods (was: does history repeat itself?)\", September 9, 1996.\n    http://www.merit.net/mail.archives/nanog/1996-09/msg00235.html\n\n    \"Re: what a new TCP header might look like\", May 12, 1998.\n    ftp://ftp.isi.edu/end2end/end2end-interest-1998.mail\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nRequires:\n   TCPCT part 1a: add request_values parameter for sending SYNACK\n   TCPCT part 1b: generate Responder Cookie secret\n   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "519855c508b9a17878c0977a3cdefc09b59b30df",
      "tree": "df6840c5c1560a84cb777b1855ec22c90c3df8d9",
      "parents": [
        "da5c78c82629a167794436e4306b4cf1faddea90"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:14:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:24 2009 -0800"
      },
      "message": "TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n\nDefine sysctl (tcp_cookie_size) to turn on and off the cookie option\ndefault globally, instead of a compiled configuration option.\n\nDefine per socket option (TCP_COOKIE_TRANSACTIONS) for setting constant\ndata values, retrieving variable cookie values, and other facilities.\n\nMove inline tcp_clear_options() unchanged from net/tcp.h to linux/tcp.h,\nnear its corresponding struct tcp_options_received (prior to changes).\n\nThis is a straightforward re-implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nRequires:\n   net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da5c78c82629a167794436e4306b4cf1faddea90",
      "tree": "c933fdc0583b592c01885890ebf770840555d28b",
      "parents": [
        "e6b4d11367519bc71729c09d05a126b133c755be"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:12:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:23 2009 -0800"
      },
      "message": "TCPCT part 1b: generate Responder Cookie secret\n\nDefine (missing) hash message size for SHA1.\n\nDefine hashing size constants specific to TCP cookies.\n\nAdd new function: tcp_cookie_generator().\n\nMaintain global secret values for tcp_cookie_generator().\n\nThis is a significantly revised implementation of earlier (15-year-old)\nPhoturis [RFC-2522] code for the KA9Q cooperative multitasking platform.\n\nLinux RCU technique appears to be well-suited to this application, though\nneither of the circular queue items are freed.\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6b4d11367519bc71729c09d05a126b133c755be",
      "tree": "b5d99b115a6ca9564d367b243a826d8b09da237e",
      "parents": [
        "e00484023ebe94dce03fdd1270edf3e191c2bc79"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:07:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:23 2009 -0800"
      },
      "message": "TCPCT part 1a: add request_values parameter for sending SYNACK\n\nAdd optional function parameters associated with sending SYNACK.\nThese parameters are not needed after sending SYNACK, and are not\nused for retransmission.  Avoids extending struct tcp_request_sock,\nand avoids allocating kernel memory.\n\nAlso affects DCCP as it uses common struct request_sock_ops,\nbut this parameter is currently reserved for future use.\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c81c2d95449cd218c2022ce6014c52fef1eb1f66",
      "tree": "3da987f71e3a6807b1d48637766724412689805b",
      "parents": [
        "f4188d8affc8267a0f0f1b587a4d0a4b9b7f2999"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Wed Dec 02 16:49:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 19:57:15 2009 -0800"
      },
      "message": "skbuff: remove skb_dma_map/unmap\n\nThe two functions skb_dma_map/unmap are unsafe to use as they cause\nproblems when packets are cloned and sent to multiple devices while a HW\nIOMMU is enabled.  Due to this it is best to remove the code so it is not\nused by any other network driver maintainters.\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": "5b23136bcf766a58160a319677b366c90f0cd223",
      "tree": "da895eecddb4ca3d6a14217917e2193eaca609ea",
      "parents": [
        "d7256d0eb4c82b789125f610fea11c6e82b1bcff"
      ],
      "author": {
        "name": "Jean-Mickael Guerin",
        "email": "jean-mickael.guerin@6wind.com",
        "time": "Tue Dec 01 07:52:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 01:23:23 2009 -0800"
      },
      "message": "net: compat_sys_recvmmsg user timespec arg can be NULL\n\nWe must test if user timespec is non-NULL before copying from userpace,\nsame as sys_recvmmsg().\n\nCommiter note: changed it so that we have just one branch.\n\nSigned-off-by: Jean-Mickael Guerin \u003cjean-mickael.guerin@6wind.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7256d0eb4c82b789125f610fea11c6e82b1bcff",
      "tree": "60cf4d3350f16dfaba359933aa5ed9a8e97b0533",
      "parents": [
        "810c07194f6ef541625e65b53392e9f605611a1a"
      ],
      "author": {
        "name": "Jean-Mickael Guerin",
        "email": "jean-mickael.guerin@6wind.com",
        "time": "Tue Dec 01 08:47:26 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 01:23:23 2009 -0800"
      },
      "message": "net: compat_mmsghdr must be used in sys_recvmmsg\n\nBoth to traverse the entries and to set the msg_len field.\n\nCommiter note: folded two patches and avoided one branch repeating the\ncompat test.\n\nSigned-off-by: Jean-Mickael Guerin \u003cjean-mickael.guerin@6wind.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "810c07194f6ef541625e65b53392e9f605611a1a",
      "tree": "9ba4de19f2762a08ab4853c24feed86b1e373278",
      "parents": [
        "acb3cecdf89f9a9f30bf493f07dc5af333b45f8e"
      ],
      "author": {
        "name": "Andrei Pelinescu-Onciul",
        "email": "andrei@iptel.org",
        "time": "Wed Dec 02 01:16:49 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 01:16:49 2009 -0800"
      },
      "message": "sctp: fix sctp_setsockopt_autoclose compile warning\n\nFix the following warning, when building on 64 bits:\n\nnet/sctp/socket.c:2091: warning: large integer implicitly\n                        truncated to unsigned type\n\nSigned-off-by: Andrei Pelinescu-Onciul \u003candrei@iptel.org\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff9c38bba37937adb909cceb2a6521f2e92e17c6",
      "tree": "93bd6152d9fa28348be99ef1c788040cc7b7a94d",
      "parents": [
        "65c0cfafce9575319fb6f70080fbe226e5617e3b",
        "b2722b1c3a893ec6021508da15b32282ec79f4da"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/ht.c\n"
    },
    {
      "commit": "671011720baa222b6de667cd688aed4dc8908924",
      "tree": "1eebe8867121b00223d811be897fdc9fa4682b04",
      "parents": [
        "ac31cd3cbadc45d6ed2a0ae5d116918b15bb6c22"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:59 2009 -0800"
      },
      "message": "net: Simplify ipip6 aka sit pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac31cd3cbadc45d6ed2a0ae5d116918b15bb6c22",
      "tree": "0e27235722bf6890992f4c7cc1bfe9bcd9d067fe",
      "parents": [
        "86de8a631e90a96d136ffd877719471a0b8d8b6d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:59 2009 -0800"
      },
      "message": "net: Simplify ip6_tunnel pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86de8a631e90a96d136ffd877719471a0b8d8b6d",
      "tree": "63c6fa083b8287a8adaebad9896645eb67f4690e",
      "parents": [
        "cfb8fbf2299d0e028ac59afd5b8c94ebe53d0859"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:58 2009 -0800"
      },
      "message": "net: Simplify ipip pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfb8fbf2299d0e028ac59afd5b8c94ebe53d0859",
      "tree": "6becbcb1bb99ea946942d2205a1feba85bcff718",
      "parents": [
        "d2b3eb630767f0b0ae21566b1b88cb512f40c647"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:57 2009 -0800"
      },
      "message": "net: Simplify ip_gre pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2b3eb630767f0b0ae21566b1b88cb512f40c647",
      "tree": "df07b861166cde19c2eecdfd0c87f39ca7cc673f",
      "parents": [
        "aaab3405e03e91d0e8d30c9d327a2265a7121854"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:12 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:57 2009 -0800"
      },
      "message": "net: Simplify phonet pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8d02885997081f09272af6b9a27061a142da4c5",
      "tree": "c48e588864265012bdc7a68e19bb573a979d510e",
      "parents": [
        "32b51f92d858dd3002ec2240960b772518a6803b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:55 2009 -0800"
      },
      "message": "net: Simplify conntrack_proto_gre pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32b51f92d858dd3002ec2240960b772518a6803b",
      "tree": "481d10ca63961e62bc823922ec09d641b0567640",
      "parents": [
        "23c049ca92548483d5e12c94cc983afb3040f626"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:07 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:54 2009 -0800"
      },
      "message": "net: Simplify conntrack_proto_dccp pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23c049ca92548483d5e12c94cc983afb3040f626",
      "tree": "549eceb6f09828f11d8cc8c4ad4cb3fdfbeffb42",
      "parents": [
        "946d1a9298c9e592b189a168326603c92d782b5f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:54 2009 -0800"
      },
      "message": "net: Simplify af_key pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "946d1a9298c9e592b189a168326603c92d782b5f",
      "tree": "170e0e7410172146c99068ed17159a80c9d02f94",
      "parents": [
        "15449745e5d181ae214ceaf0880350bb4e63512a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:53 2009 -0800"
      },
      "message": "net: Simplify vlan pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e008b5fc8dc7f46d9904001c7a2155eb1e7d35ab",
      "tree": "17a76e3c58211ad8e8e088058701bc913f7ffd1e",
      "parents": [
        "999b6d39abb4fc446f3465ca4e0a7ac747f49aec"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 22:25:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:52 2009 -0800"
      },
      "message": "net: Simplfy default_device_exit and improve batching.\n\n- Defer dellink to net_cleanup() allowing for batching.\n- Fix comment.\n- Use for_each_netdev_safe again as dev_change_net_namespace touches\n  at most one network device (unlike veth dellink).\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f875bae065334907796da12523f9df85c89f5712",
      "tree": "6f14819d128e3fa7b4cc8c274c6eff5326622fc8",
      "parents": [
        "2b035b39970740722598f7a9d548835f9bdd730f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 22:25:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:51 2009 -0800"
      },
      "message": "net: Automatically allocate per namespace data.\n\nTo get the full benefit of batched network namespace cleanup netowrk\ndevice deletion needs to be performed by the generic code.  When\nusing register_pernet_gen_device and freeing the data in exit_net\nit is impossible to delay allocation until after exit_net has called\nas the device uninit methods are no longer safe.\n\nTo correct this, and to simplify working with per network namespace data\nI have moved allocation and deletion of per network namespace data into\nthe network namespace core.  The core now frees the data only after\nall of the network namespace exit routines have run.\n\nNow it is only required to set the new fields .id and .size\nin the pernet_operations structure if you want network namespace\ndata to be managed for you automatically.\n\nThis makes the current register_pernet_gen_device and\nregister_pernet_gen_subsys routines unnecessary.  For the moment\nI have left them as compatibility wrappers in net_namespace.h\nThey will be removed once all of the users have been updated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b035b39970740722598f7a9d548835f9bdd730f",
      "tree": "a240b595c380b50f783fe8b3d3d4e9cb612cbb30",
      "parents": [
        "dcbccbd4f1f6ad0f0e169d4b2e816e42bde06f82"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "eric@conroxe.ebiederm.org",
        "time": "Sun Nov 29 22:25:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:51 2009 -0800"
      },
      "message": "net: Batch network namespace destruction.\n\nIt is fairly common to kill several network namespaces at once.  Either\nbecause they are nested one inside the other or because they are cooperating\nin multiple machine networking experiments.  As the network stack control logic\ndoes not parallelize easily batch up multiple network namespaces existing\ntogether.\n\nTo get the full benefit of batching the virtual network devices to be\nremoved must be all removed in one batch.  For that purpose I have added\na loop after the last network device operations have run that batches\nup all remaining network devices and deletes them.\n\nAn extra benefit is that the reorganization slightly shrinks the size\nof the per network namespace data structures replaceing a work_struct\nwith a list_head.\n\nIn a trivial test with 4K namespaces this change reduced the cost of\na destroying 4K namespaces from 7+ minutes (at 12% cpu) to 44 seconds\n(at 60% cpu).  The bulk of that 44s was spent in inet_twsk_purge.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5ee155136b4a8f4ab0e4c9c064b661da475e298",
      "tree": "10c113756ff0dcc860735d96ed141701bffa3476",
      "parents": [
        "5a5b6f6f62ac684a5856121d8cffd3c3253dc890"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:45:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:50 2009 -0800"
      },
      "message": "net: NETDEV_UNREGISTER_PERNET -\u003e NETDEV_UNREGISTER_BATCH\n\nThe motivation for an additional notifier in batched netdevice\nnotification (rt_do_flush) only needs to be called once per batch not\nonce per namespace.\n\nFor further batching improvements I need a guarantee that the\nnetdevices are unregistered in order allowing me to unregister an all\nof the network devices in a network namespace at the same time with\nthe guarantee that the loopback device is really and truly\nunregistered last.\n\nAdditionally it appears that we moved the route cache flush after\nthe final synchronize_net, which seems wrong and there was no\nexplanation.  So I have restored the original location of the final\nsynchronize_net.\n\nCc: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2722b1c3a893ec6021508da15b32282ec79f4da",
      "tree": "b3f3fbf1d9b2c80bdc2d1a7a7786498fc2b62d64",
      "parents": [
        "7e8f44f8d4fa9bb35e32c161fbcdbd6b9e6400e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 01 15:53:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 15:53:57 2009 -0800"
      },
      "message": "ip_fragment: also adjust skb-\u003etruesize for packets not owned by a socket\n\nWhen a large packet gets reassembled by ip_defrag(), the head skb\naccounts for all the fragments in skb-\u003etruesize. If this packet is\nrefragmented again, skb-\u003etruesize is not re-adjusted to reflect only\nthe head size since its not owned by a socket. If the head fragment\nthen gets recycled and reused for another received fragment, it might\nexceed the defragmentation limits due to its large truesize value.\n\nskb_recycle_check() explicitly checks for linear skbs, so any recycled\nskb should reflect its true size in skb-\u003etruesize. Change ip_fragment()\nto also adjust the truesize value of skbs not owned by a socket.\n\nReported-and-tested-by: Ben Menchaca \u003cben@bigfootnetworks.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e8f44f8d4fa9bb35e32c161fbcdbd6b9e6400e3",
      "tree": "cf6d526a070a06b365ab0ceb4e1c3ca9ad94666e",
      "parents": [
        "138f3c8518976953563a1316d7e0420c72d4ab96",
        "2127816366e0ffbc1426fa69e7b9b2bebd2e2288"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 15:46:35 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 15:46:35 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "138f3c8518976953563a1316d7e0420c72d4ab96",
      "tree": "a24c63a1edd763367ccee82366175ec1a43ded34",
      "parents": [
        "1fdf475aa141a669af8db6ccc7015f0b725087de"
      ],
      "author": {
        "name": "Li Yewang",
        "email": "lyw@cn.fujitsu.com",
        "time": "Tue Dec 01 15:35:05 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 15:35:05 2009 -0800"
      },
      "message": "ipsec: can not add camellia cipher algorithm when using \"ip xfrm state\" command\n\ncan not add camellia cipher algorithm when using \"ip xfrm state\" command.\n\nSigned-off-by: Li Yewang \u003clyw@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "29e553631b2a0d4eebd23db630572e1027a9967a"
}
