)]}'
{
  "log": [
    {
      "commit": "28dfef8febe48f59cf1e7596e1992a6a1893ca24",
      "tree": "eb2df6dd75e72db066062950f91c9ab2e8215280",
      "parents": [
        "5116fa2b3a0a3ec625a10445ae45667f094c125b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Dec 15 16:46:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:05 2009 -0800"
      },
      "message": "const: constify remaining pipe_buf_operations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7d2860b690d4f3bed6824757c540579638e3d1e",
      "tree": "84268ee28893256fd6a6a7e1d4474f61dbee74e7",
      "parents": [
        "84c95c9acf088c99d8793d78036b67faa5d0b851"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "tree-wide: convert open calls to remove spaces to skip_spaces() lib function\n\nMakes use of skip_spaces() defined in lib/string.c for removing leading\nspaces from strings all over the tree.\n\nIt decreases lib.a code size by 47 bytes and reuses the function tree-wide:\n   text    data     bss     dec     hex filename\n  64688     584     592   65864   10148 (TOTALS-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-AFTER)\n\nAlso, while at it, if we see (*str \u0026\u0026 isspace(*str)), we can be sure to\nremove the first condition (*str) as the second one (isspace(*str)) also\nevaluates to 0 whenever *str \u003d\u003d 0, making it redundant. In other words,\n\"a char equals zero is never a space\".\n\nJulia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,\nand found occurrences of this pattern on 3 more files:\n    drivers/leds/led-class.c\n    drivers/leds/ledtrig-timer.c\n    drivers/video/output.c\n\n@@\nexpression str;\n@@\n\n( // ignore skip_spaces cases\nwhile (*str \u0026\u0026  isspace(*str)) { \\(str++;\\|++str;\\) }\n|\n- *str \u0026\u0026\nisspace(*str)\n)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "471452104b8520337ae2fb48c4e61cd4896e025d",
      "tree": "8594ae4a8362014e3cccf72a4e8834cdbb610bdd",
      "parents": [
        "0ead0f84e81a41c3e98aeceab04af8ab1bb08d1f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "const: constify remaining dev_pm_ops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52c9948b1fd80381ba5a9a87dcc4fbe3cf4979b8",
      "tree": "7bca6a20560f428442f18450df0948774f982df0",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c",
        "190f38e5cedc910940b1da9015f00458c18f97b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Dec 13 13:56:27 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Dec 13 13:56:27 2009 -0500"
      },
      "message": "Merge branch \u0027nfs-for-2.6.33\u0027\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": "053e324f67b9921fe7de0c4cbc720d29cb4bf207",
      "tree": "ba596460f4a0a42e7ac3d44f89e9f556c5e3ea8a",
      "parents": [
        "e4ee5d4dfd9536ec60e5cb0bd439ede3e9d361a0"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Dec 09 23:15:22 2009 +0530"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 09 16:23:18 2009 -0500"
      },
      "message": "rpc: remove unneeded function parameter in gss_add_msg()\n\nThe pointer to struct gss_auth parameter in gss_add_msg is not really needed\nafter commit 5b7ddd4a. Zap it.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\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": "e4ee5d4dfd9536ec60e5cb0bd439ede3e9d361a0",
      "tree": "ea154524598a31134835a6be0843caf8310b06a0",
      "parents": [
        "7cab89b275fd5647e72b781ac41b58a214640334",
        "480e3243df156e39eea6c91057e2ae612a6bbe19"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 08 14:36:53 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 08 14:36:53 2009 -0500"
      },
      "message": "Merge branch \u0027bugfixes\u0027 into nfs-for-next\n"
    },
    {
      "commit": "480e3243df156e39eea6c91057e2ae612a6bbe19",
      "tree": "c9a37151b853c4118de309738db8580b34b0148f",
      "parents": [
        "1185a552e3d78807031f4021c5edb60d3e8838f1"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Dec 08 13:13:03 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 08 13:13:03 2009 -0500"
      },
      "message": "SUNRPC: IS_ERR/PTR_ERR confusion\n\nIS_ERR returns 1 or 0, PTR_ERR returns the error value.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\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": "7285f2d2ffd4b7ab4ffb70a47759ee209c30017b",
      "tree": "255cdddc72429f013b3bcf5c51d1818cb3e3bd51",
      "parents": [
        "0b08b07507d5ae733408fd4ebda1cd89d3a840ef",
        "44ed3556bad809797f7b06a4a88918fd8a23d6fe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 21:27:36 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 21:27:36 2009 -0500"
      },
      "message": "Merge branch \u0027devel\u0027 into linux-next\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": "3a28becc35e5c8f1fabb707bcd8a473712653de6",
      "tree": "2cdbbbea50d8a6ed8c9a3f9a84b29b424154b6e4",
      "parents": [
        "caabea8a565fb4e16f8e58e16bb9d535e591b709"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: soft connect semantics for UDP\n\nIntroduce soft connect behavior for UDP transports.  In this case, a\nmajor timeout returns ETIMEDOUT instead of EIO.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "caabea8a565fb4e16f8e58e16bb9d535e591b709",
      "tree": "15e0cf4514999c4fb9596adece9e22adfaee2a31",
      "parents": [
        "012da158f636347c4eb28fd1e1cca020fef5e54d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use soft connect semantics when performing RPC ping\n\nCurrently, if a remote RPC service is unreachable, an RPC ping will\nhang until the underlying transport connect attempt times out.  A more\ndesirable behavior might be to have the ping fail immediately so upper\nlayers can recover appropriately.\n\nIn the case of an NFS mount, for instance, this would mean the\nmount(2) system call could fail immediately if the server isn\u0027t\nlistening, rather than hanging uninterruptibly for more than 3\nminutes.\n\nChange rpc_ping() so that it fails immediately for connection-oriented\ntransports.  rpc_create() will then fail immediately for such\ntransports if an RPC ping was requested.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "012da158f636347c4eb28fd1e1cca020fef5e54d",
      "tree": "2b51c0d57ab2353bce700c599185e7fd346e251e",
      "parents": [
        "2a76b3bfa22993fc09166bd6a8db0dbe902b6813"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use soft connects for autobinding over TCP\n\nAutobinding is handled by the rpciod process, not in user processes\nthat are generating regular RPC requests.  Thus autobinding is usually\nnot affected by signals targetting user processes, such as KILL or\ntimer expiration events.\n\nIn addition, an RPC request generated by a user process that has\nRPC_TASK_SOFTCONN set and needs to perform an autobind will hang if\nthe remote rpcbind service is not available.\n\nFor rpcbind queries on connection-oriented transports, let\u0027s use the\nnew soft connect semantic to return control to the user\u0027s process\nquickly, if the kernel\u0027s rpcbind client can\u0027t connect to the remote\nrpcbind service.\n\nLogic is introduced in call_bind_status() to handle connection errors\nthat occurred during an asynchronous rpcbind query.  The logic\nabandons the rpcbind query if the RPC request has SOFTCONN set, and\nretries after a few seconds in the normal case.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2a76b3bfa22993fc09166bd6a8db0dbe902b6813",
      "tree": "3cb222408155a5d878d6e2dfae2aadd24226ee62",
      "parents": [
        "c526611dd631b2802b6b0221ffb306c5fa25c86c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use TCP for local rpcbind upcalls\n\nUse TCP with the soft connect semantic for local rpcbind upcalls so\nthe kernel can detect immediately if the local rpcbind daemon is not\nrunning.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "c526611dd631b2802b6b0221ffb306c5fa25c86c",
      "tree": "909f241683fbe848b484cef24a77d716c486d25c",
      "parents": [
        "5a46211540a83871196489247f57da2bdde58d87"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use a cached RPC client and transport for rpcbind upcalls\n\nThe kernel\u0027s rpcbind client creates and deletes an rpc_clnt and its\nunderlying transport socket for every upcall to the local rpcbind\ndaemon.\n\nWhen starting a typical NFS server on IPv4 and IPv6, the NFS service\nitself does three upcalls (one per version) times two upcalls (one\nper transport) times two upcalls (one per address family), making 12,\nplus another one for the initial call to unregister previous NFS\nservices.  Starting the NLM service adds an additional 13 upcalls,\nfor similar reasons.\n\n(Currently the NFS service doesn\u0027t start IPv6 listeners, but it will\nsoon enough).\n\nInstead, let\u0027s create an rpc_clnt for rpcbind upcalls during the\nfirst local rpcbind query, and cache it.  This saves the overhead of\ncreating and destroying an rpc_clnt and a socket for every upcall.\n\nThe new logic also prevents the kernel from attempting an RPCB_SET or\nRPCB_UNSET if it knows from the start that the local portmapper does\nnot support rpcbind protocol version 4.  This will cut down on the\nnumber of rpcbind upcalls in legacy environments.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "5a46211540a83871196489247f57da2bdde58d87",
      "tree": "4d414b9e5cc7af8f4913923b51dc195ddeab58a5",
      "parents": [
        "09a21c4102c8f7893368553273d39c0cadedf9af"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Simplify synopsis of rpcb_local_clnt()\n\nClean up: At one point, rpcb_local_clnt() handled IPv6 loopback\naddresses too, but it doesn\u0027t any more; only IPv4 loopback is used\nnow.  Get rid of the @addr and @addrlen arguments to\nrpcb_local_clnt().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "09a21c4102c8f7893368553273d39c0cadedf9af",
      "tree": "b0a051dbb02d48aa95383e39cc7ce6f503d6f33b",
      "parents": [
        "206a134b4d8abf57cd34dffacf993869355b9aac"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Allow RPCs to fail quickly if the server is unreachable\n\nThe kernel sometimes makes RPC calls to services that aren\u0027t running.\nBecause the kernel\u0027s RPC client always assumes the hard retry semantic\nwhen reconnecting a connection-oriented RPC transport, the underlying\nreconnect logic takes a long while to time out, even though the remote\nmay have responded immediately with ECONNREFUSED.\n\nIn certain cases, like upcalls to our local rpcbind daemon, or for NFS\nmount requests, we\u0027d like the kernel to fail immediately if the remote\nservice isn\u0027t reachable.  This allows another transport to be tried\nimmediately, or the pending request can be abandoned quickly.\n\nIntroduce a per-request flag which controls how call_transmit_status()\nbehaves when request transmission fails because the server cannot be\nreached.\n\nWe don\u0027t want soft connection semantics to apply to other errors.  The\ndefault case of the switch statement in call_transmit_status() no\nlonger falls through; the fall through code is copied to the default\ncase, and a \"break;\" is added.\n\nThe transport\u0027s connection re-establishment timeout is also ignored for\nsuch requests.  We want the request to fail immediately, so the\nreconnect delay is skipped.  Additionally, we don\u0027t want a connect\nfailure here to further increase the reconnect timeout value, since\nthis request will not be retried.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "206a134b4d8abf57cd34dffacf993869355b9aac",
      "tree": "ffe4724ce1957243de3eaa2e123b25c883c53412",
      "parents": [
        "dd47f96c077b4516727e497e4b6fd47a06778c0a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Check explicitly for tk_status \u003d\u003d 0 in call_transmit_status()\n\nThe success case, where task-\u003etk_status \u003d\u003d 0, is by far the most\nfrequent case in call_transmit_status().\n\nThe default: arm of the switch statement in call_transmit_status()\nhandles the 0 case.  default: was moved close to the top of the switch\nstatement in call_transmit_status() under the theory that the compiler\nplaces object code for the earliest arms of a switch statement first,\nmaking the CPU do less work.\n\nThe default: arm of a switch statement, however, is executed only\nafter all the other cases have been checked.  Even if the compiler\nrearranges the object code, the default: arm is the \"last resort\",\nmeaning all of the other cases have been explicitly exhausted.  That\nmakes the current arrangement about as inefficient as it gets for the\ncommon case.\n\nTo fix this, add an explicit check for zero before the switch\nstatement.  That forces the compiler to do the zero check first, no\nmatter what optimizations it might try to do to the switch statement.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd1fd90fe65e2e642f0e58e2ff4849f317a6c43d",
      "tree": "2519545d939d3ec6aab754f49866579c1e65b185",
      "parents": [
        "a01878aac57eac6eb4bf194788ab2cc440490d0f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Display compressed (shorthand) IPv6 presentation addresses\n\nRecent changes to snprintf() introduced the %pI6c formatter, which can\ndisplay an IPv6 address with standard shorthanding.  Using a\nshorthanded address can save us a few bytes of memory for each stored\npresentation address, or a few bytes on the wire when sending these in\na universal address.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\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": "f0380f3d16df8f9e2fcd1d8c16fb0d94370bea99",
      "tree": "447798d04462a3c45390a8840502c65330ffb5f9",
      "parents": [
        "feb8ca37cc3d83c07fd042509ef1e176cfeb2cfa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "message": "RPC: Fix two potential races in put_rpccred\n\nIt is possible for rpcauth_destroy_credcache() to cause the rpc credentials\nto be unhashed while put_rpccred is waiting for the rpc_credcache_lock on\nanother cpu. Should this happen, then we can end up calling\nhlist_del_rcu(\u0026cred-\u003ecr_hash) a second time in put_rpccred, thus causing\nlist corruption.\n\nShould the credential actually be hashed, it is also possible for\nrpcauth_lookup_credcache to find and reference it before we get round to\nunhashing it. In this case, the call to rpcauth_unhash_cred will fail, and\nso we should just exit without destroying the cred.\n\nReported-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "feb8ca37cc3d83c07fd042509ef1e176cfeb2cfa",
      "tree": "c4bb6f88ae5e303e1c316efe392b407196bf33ac",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "message": "SUNRPC: Ensure that we honour autoclose before attempting to reconnect\n\nIf the XPRT_CLOSE_WAIT flag is set, we need to ensure that we call\nxprt-\u003eops-\u003eclose() while holding xprt_lock_write() before we can\nstart reconnecting.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\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"
    }
  ],
  "next": "ff9c38bba37937adb909cceb2a6521f2e92e17c6"
}
