)]}'
{
  "log": [
    {
      "commit": "5781b2356cbecb0b73b06ec8c3897cabdfdd0928",
      "tree": "7da5613b163aa7a942561aabc0284950583ee314",
      "parents": [
        "e1187b3be72be59625e445b186007e6eae27fef1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Dec 13 19:32:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 13 19:32:39 2009 -0800"
      },
      "message": "udp: udp_lib_get_port() fix\n\nNow we can have a large udp hash table, udp_lib_get_port() loop\nshould be converted to a do {} while (cond) form,\nor we dont enter it at all if hash table size is exactly 65536.\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "501706565b2d4d2d40d0d301d5411ede099b8a6f",
      "tree": "142a18bf1f1e74a09dbfa27540b893ade0fd797d",
      "parents": [
        "e93737b0f0159a61772894943199fd3b6f315641",
        "2fe77b81c77eed92c4c0439f74c8148a295b4a86"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "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": "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": "424eff975192553a9ea8bfd51bf65039ffb356ef",
      "tree": "5fa7b15715b3ce904f7250c50d09bc921d9f28bf",
      "parents": [
        "55dbabee63462a455d8fb57caf08b69db256b012",
        "3666ed1c4837fd6906da0224c5373d7a2186a193"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:23:12 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:23:12 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "b099ce2602d806deb41caaa578731848995cdb2a",
      "tree": "7541d0d59c73e6b6274d420b8a3ec35d85ca5f2d",
      "parents": [
        "575f4cd5a5b639457747434dbe18d175fa767db4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:23:47 2009 -0800"
      },
      "message": "net: Batch inet_twsk_purge\n\nThis function walks the whole hashtable so there is no point in\npassing it a network namespace.  Instead I purge all timewait\nsockets from dead network namespaces that I find.  If the namespace\nis one of the once I am trying to purge I am guaranteed no new timewait\nsockets can be formed so this will get them all.  If the namespace\nis one I am not acting for it might form a few more but I will\ncall inet_twsk_purge again and  shortly to get rid of them.  In\nany even if the network namespace is dead timewait sockets are\nuseless.\n\nMove the calls of inet_twsk_purge into batch_exit routines so\nthat if I am killing a bunch of namespaces at once I will just\ncall inet_twsk_purge once and save a lot of redundant unnecessary\nwork.\n\nMy simple 4k network namespace exit test the cleanup time dropped from\nroughly 8.2s to 1.6s.  While the time spent running inet_twsk_purge fell\nto about 2ms.  1ms for ipv4 and 1ms for ipv6.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "575f4cd5a5b639457747434dbe18d175fa767db4",
      "tree": "476224db152a2b5bef33046944cb77b5822fae26",
      "parents": [
        "e9c5158ac26affd5d8ce006521bdfb7148090e18"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:23:47 2009 -0800"
      },
      "message": "net: Use rcu lookups in inet_twsk_purge.\n\nWhile we are looking up entries to free there is no reason to take\nthe lock in inet_twsk_purge.  We have to drop locks and restart\noccassionally anyway so adding a few more in case we get on the\nwrong list because of a timewait move is no big deal.  At the\nsame time not taking the lock for long periods of time is much\nmore polite to the rest of the users of the hash table.\n\nIn my test configuration of killing 4k network namespaces\nthis change causes 4k back to back runs of inet_twsk_purge on an\nempty hash table to go from roughly 20.7s to 3.3s, and the total\ntime to destroy 4k network namespaces goes from roughly 44s to\n3.3s.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9c5158ac26affd5d8ce006521bdfb7148090e18",
      "tree": "a8d43fb446a1908175923f4109c977dcb84e4f91",
      "parents": [
        "3a765edadb28cc736d185f67d1ba6bedcc85f4b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "message": "net: Allow fib_rule_unregister to batch\n\nRefactor the code so fib_rules_register always takes a template instead\nof the actual fib_rules_ops structure that will be used.  This is\nrequired for network namespace support so 2 out of the 3 callers already\ndo this, it allows the error handling to be made common, and it allows\nfib_rules_unregister to free the template for hte caller.\n\nModify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu\nto allw multiple namespaces to be cleaned up in the same rcu grace\nperiod.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "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": "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": "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": "ff9c38bba37937adb909cceb2a6521f2e92e17c6",
      "tree": "93bd6152d9fa28348be99ef1c788040cc7b7a94d",
      "parents": [
        "65c0cfafce9575319fb6f70080fbe226e5617e3b",
        "b2722b1c3a893ec6021508da15b32282ec79f4da"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/ht.c\n"
    },
    {
      "commit": "86de8a631e90a96d136ffd877719471a0b8d8b6d",
      "tree": "63c6fa083b8287a8adaebad9896645eb67f4690e",
      "parents": [
        "cfb8fbf2299d0e028ac59afd5b8c94ebe53d0859"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:58 2009 -0800"
      },
      "message": "net: Simplify ipip pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfb8fbf2299d0e028ac59afd5b8c94ebe53d0859",
      "tree": "6becbcb1bb99ea946942d2205a1feba85bcff718",
      "parents": [
        "d2b3eb630767f0b0ae21566b1b88cb512f40c647"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:57 2009 -0800"
      },
      "message": "net: Simplify ip_gre pernet operations.\n\nTake advantage of the new pernet automatic storage management,\nand stop using compatibility network namespace functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5ee155136b4a8f4ab0e4c9c064b661da475e298",
      "tree": "10c113756ff0dcc860735d96ed141701bffa3476",
      "parents": [
        "5a5b6f6f62ac684a5856121d8cffd3c3253dc890"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:45:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:50 2009 -0800"
      },
      "message": "net: NETDEV_UNREGISTER_PERNET -\u003e NETDEV_UNREGISTER_BATCH\n\nThe motivation for an additional notifier in batched netdevice\nnotification (rt_do_flush) only needs to be called once per batch not\nonce per namespace.\n\nFor further batching improvements I need a guarantee that the\nnetdevices are unregistered in order allowing me to unregister an all\nof the network devices in a network namespace at the same time with\nthe guarantee that the loopback device is really and truly\nunregistered last.\n\nAdditionally it appears that we moved the route cache flush after\nthe final synchronize_net, which seems wrong and there was no\nexplanation.  So I have restored the original location of the final\nsynchronize_net.\n\nCc: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2722b1c3a893ec6021508da15b32282ec79f4da",
      "tree": "b3f3fbf1d9b2c80bdc2d1a7a7786498fc2b62d64",
      "parents": [
        "7e8f44f8d4fa9bb35e32c161fbcdbd6b9e6400e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 01 15:53:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 15:53:57 2009 -0800"
      },
      "message": "ip_fragment: also adjust skb-\u003etruesize for packets not owned by a socket\n\nWhen a large packet gets reassembled by ip_defrag(), the head skb\naccounts for all the fragments in skb-\u003etruesize. If this packet is\nrefragmented again, skb-\u003etruesize is not re-adjusted to reflect only\nthe head size since its not owned by a socket. If the head fragment\nthen gets recycled and reused for another received fragment, it might\nexceed the defragmentation limits due to its large truesize value.\n\nskb_recycle_check() explicitly checks for linear skbs, so any recycled\nskb should reflect its true size in skb-\u003etruesize. Change ip_fragment()\nto also adjust the truesize value of skbs not owned by a socket.\n\nReported-and-tested-by: Ben Menchaca \u003cben@bigfootnetworks.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fdf475aa141a669af8db6ccc7015f0b725087de",
      "tree": "7298a884935feb59352566ca6119856a0e322cb5",
      "parents": [
        "0cae200eec6330cd2c20b24279597be1da50dc93"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 30 12:53:30 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 30 12:53:30 2009 -0800"
      },
      "message": "tcp: tcp_disconnect() should clear window_clamp\n\nNFS can reuse its TCP socket after calling tcp_disconnect().\n\nWe noticed window scaling was not negotiated in SYN packet of next\nconnection request.\n\nFix is to clear tp-\u003ewindow_clamp in tcp_disconnect().\n\nReported-by: Krzysztof Oledzki \u003cole@ans.pl\u003e\nTested-by: Krzysztof Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbf31bf18d34caa87dd01f08bf713635593697f2",
      "tree": "715a876da3cd826c701c7b22c8c4add9cf99dba2",
      "parents": [
        "98468efddb101f8a29af974101c17ba513b07be1"
      ],
      "author": {
        "name": "David Ford",
        "email": "david@blue-labs.org",
        "time": "Sun Nov 29 23:02:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 23:02:22 2009 -0800"
      },
      "message": "ipv4: additional update of dev_net(dev) to struct *net in ip_fragment.c, NULL ptr OOPS\n\nipv4 ip_frag_reasm(), fully replace \u0027dev_net(dev)\u0027 with \u0027net\u0027, defined\npreviously patched into 2.6.29.\n\nBetween 2.6.28.10 and 2.6.29, net/ipv4/ip_fragment.c was patched,\nchanging from dev_net(dev) to container_of(...).  Unfortunately the goto\nsection (out_fail) on oversized packets inside ip_frag_reasm() didn\u0027t\nget touched up as well.  Oversized IP packets cause a NULL pointer\ndereference and immediate hang.\n\nI discovered this running openvasd and my previous email on this is\ntitled:  NULL pointer dereference at 2.6.32-rc8:net/ipv4/ip_fragment.c:566\n\nSigned-off-by: David Ford \u003cdavid@blue-labs.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f8a088c2127c729638da8f2d33860e346c01eda",
      "tree": "d5b81f8d1cc22d3fffbcb049c55dcc9499eb4e04",
      "parents": [
        "4447bb33f09444920a8f1d89e1540137429351b6"
      ],
      "author": {
        "name": "Martin Willi",
        "email": "martin@strongswan.org",
        "time": "Wed Nov 25 00:29:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:48:41 2009 -0800"
      },
      "message": "xfrm: Use the user specified truncation length in ESP and AH\n\nInstead of using the hardcoded truncation for authentication\nalgorithms, use the truncation length specified on xfrm_state.\n\nSigned-off-by: Martin Willi \u003cmartin@strongswan.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a661c4199b300503dae694efa21f1354f763b97c",
      "tree": "706be22bf44642cd1109041f52fa9456cfdc77fe",
      "parents": [
        "09ad9bc752519cc167d0a573e1acf69b5c707c67"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Nov 25 15:40:35 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:40:35 2009 -0800"
      },
      "message": "net: convert /proc/net/rt_acct to seq_file\n\nRewrite statistics accumulation to be in terms of structure fields,\nnot raw u32 additions. Keep them in same order, though.\n\nThis is the last user of create_proc_read_entry() in net/,\nplease NAK all new ones as well as all new -\u003ewrite_proc, -\u003eread_proc and\ncreate_proc_entry() users. Cc me if there are problems. :-)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09ad9bc752519cc167d0a573e1acf69b5c707c67",
      "tree": "0e190a9ffb90d7e0534136c3e9f31dce02f423c3",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "message": "net: use net_eq to compare nets\n\nGenerated with the following semantic patch\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 \u003d\u003d n2\n+ net_eq(n1, n2)\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 !\u003d n2\n+ !net_eq(n1, n2)\n\napplied over {include,net,drivers/net}.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3666ed1c4837fd6906da0224c5373d7a2186a193",
      "tree": "4f8c035731606e28536d83dc8b8e871d9cc39090",
      "parents": [
        "3a0429292daa0e1ec848bd26479f5e48b0d54a42"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 23 23:17:06 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Nov 23 23:17:06 2009 +0100"
      },
      "message": "netfilter: net/ipv[46]/netfilter: Move \u0026\u0026 and || to end of previous line\n\nCompile tested only.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "9d4fb27db90043cd2640e4bc778f9c755d3c17c1",
      "tree": "53f1b0851fdd02e78a18f1a9db57e7cc22e2b280",
      "parents": [
        "6ebfbc065624790772398f5b327ac33a7ae3880b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 23 10:41:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 23 10:41:23 2009 -0800"
      },
      "message": "net/ipv4: Move \u0026\u0026 and || to end of previous line\n\nOn Sun, 2009-11-22 at 16:31 -0800, David Miller wrote:\n\u003e It should be of the form:\n\u003e \tif (x \u0026\u0026\n\u003e \t    y)\n\u003e \n\u003e or:\n\u003e \tif (x \u0026\u0026 y)\n\u003e \n\u003e Fix patches, rather than complaints, for existing cases where things\n\u003e do not follow this pattern are certainly welcome.\n\nAlso collapsed some multiple tabs to single space.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e994b7c901ded7200b525a707c6da71f2cf6d4bb",
      "tree": "9b84629905eb12ddeb014434361e6922fdbfeb46",
      "parents": [
        "8964be4a9a5ca8cab1219bb046db2f6d1936227c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 21 11:22:25 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 21 11:22:25 2009 -0800"
      },
      "message": "tcp: Don\u0027t make syn cookies initial setting depend on CONFIG_SYSCTL\n\nThat\u0027s extremely non-intuitive, noticed by William Allen Simpson.\n\nAnd let\u0027s make the default be on, it\u0027s been suggested by a lot of\npeople so we\u0027ll give it a try.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f99189b186f3922ede4fa33c02f6edc735b8c981",
      "tree": "e216447fc284d6ec98ac1550638ac3a79d71e084",
      "parents": [
        "615534bc490606685621d63a40c0670d0f049d86"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 17 10:42:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 18 05:03:25 2009 -0800"
      },
      "message": "netns: net_identifiers should be read_mostly\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2ce146848c81af2f6d42e67990191c284bf0c33",
      "tree": "481c62f032091fd5dc8933f1ba26f6581c8e1cef",
      "parents": [
        "395264d509aec45149745843d9a737140a1ece16"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Mon Nov 16 13:49:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 18 05:03:07 2009 -0800"
      },
      "message": "ipv4: factorize cache clearing for batched unregister operations\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb9074ff58fe745e4f244f76209241909c82ec9c",
      "tree": "cf6be00ab88b1e315f6b74a896a370440f677599",
      "parents": [
        "4739a9748e1bd7459f22f7e94e7d85710ca83954",
        "156171c71a0dc4bce12b4408bb1591f8fe32dc1a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Nov 17 01:01:34 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Nov 17 01:01:34 2009 -0800"
      },
      "message": "Merge commit \u0027v2.6.32-rc7\u0027\n\nResolve the conflict between v2.6.32-rc7 where dn_def_dev_handler\ngets a small bug fix and the sysctl tree where I am removing all\nsysctl strategy routines.\n"
    },
    {
      "commit": "a2bfbc072e279ff81e6b336acff612b9bc2e5281",
      "tree": "89cfe21911e1539e1b7f89d8a10d42abecba2a18",
      "parents": [
        "5c427ff9e4cc61625d48172ea082ae99e21eea6a",
        "82b3cc1a2f5e46300a9dec4a8cc8106dc20a4c23"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 00:05:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 00:05:02 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/can/Kconfig\n"
    },
    {
      "commit": "2c1409a0a2b88585ec0c03f1de0aafa178c56313",
      "tree": "e9fc25badfb716e5368079535f548cc8e4b5576a",
      "parents": [
        "234b27c3fd58fc0e15c04dd0fbf4337fac9c2a06"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 12 09:33:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:46:58 2009 -0800"
      },
      "message": "inetpeer: Optimize inet_getid()\n\nWhile investigating for network latencies, I found inet_getid() was a\ncontention point for some workloads, as inet_peer_idlock is shared\nby all inet_getid() users regardless of peers.\n\nOne way to fix this is to make ip_id_count an atomic_t instead\nof __u16, and use atomic_add_return().\n\nIn order to keep sizeof(struct inet_peer) \u003d 64 on 64bit arches\ntcp_ts_stamp is also converted to __u32 instead of \"unsigned long\".\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eec4df9885f7822cdeca82577a25cac4598fa7cf",
      "tree": "36295f78f105e3f69b571edb3b2feddaf99dfb73",
      "parents": [
        "342bde1b70c79bfc8509b017b3987f3c7541ff8e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 12 07:44:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:46:55 2009 -0800"
      },
      "message": "ipv4: speedup inet_dump_ifaddr()\n\nStephen Hemminger a écrit :\n\u003e On Thu, 12 Nov 2009 15:11:36 +0100\n\u003e Eric Dumazet \u003ceric.dumazet@gmail.com\u003e wrote:\n\u003e\n\u003e\u003e When handling large number of netdevices, inet_dump_ifaddr()\n\u003e\u003e is very slow because it has O(N^2) complexity.\n\u003e\u003e\n\u003e\u003e Instead of scanning one single list, we can use the NETDEV_HASHENTRIES\n\u003e\u003e sub lists of the dev_index hash table, and RCU lookups.\n\u003e\u003e\n\u003e\u003e Signed-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n\u003e\n\u003e You might be able to make RCU critical section smaller by moving\n\u003e it into loop.\n\u003e\n\nIndeed. But we dump at most one skb (\u003c\u003d 8192 bytes ?), so rcu_read_lock\nholding time is small, unless we meet many netdevices without\naddresses. I wonder if its really common...\n\nThanks\n\n[PATCH net-next-2.6] ipv4: speedup inet_dump_ifaddr()\n\nWhen handling large number of netdevices, inet_dump_ifaddr()\nis very slow because it has O(N2) complexity.\n\nInstead of scanning one single list, we can use the NETDEV_HASHENTRIES\nsub lists of the dev_index hash table, and RCU lookups.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6baff15037693c057e3047da02c460c7e7b346c2",
      "tree": "fb458ff7b447b4b21e8d5bb00569d4dabe8ddd04",
      "parents": [
        "ce81b76a39835a721cd168e0c0bcfe7132f1f66b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 11 17:48:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:38:49 2009 -0800"
      },
      "message": "igmp: Use next_net_device_rcu()\n\nWe need to use next_det_device_rcu() in RCU protected section.\n\nWe also can avoid in_dev_get()/in_dev_put() overhead (code size mainly)\nin rcu_read_lock() sections.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bee7ca9ec03a26676ea2b1c28dc4039348eff3e1",
      "tree": "652832d73252d7c9ede928a4242763f570070b0e",
      "parents": [
        "cbbef5e183079455763fc470ccf69008f92ab4b6"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Tue Nov 10 09:51:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:38:48 2009 -0800"
      },
      "message": "net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED\n\nDefine two symbols needed in both kernel and user space.\n\nRemove old (somewhat incorrect) kernel variant that wasn\u0027t used in\nmost cases.  Default should apply to both RMSS and SMSS (RFC2581).\n\nReplace numeric constants with defined symbols.\n\nStand-alone patch, originally developed for TCPCT.\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": "d0490cfdf440fded2c292cfb8bb9272fc9ef6943",
      "tree": "6230f8a577136ca2d82d9d00cb36cf8b5a8ae3c3",
      "parents": [
        "b8a623bf836ccfab09a5a6daf62116f455082e6e"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Nov 11 02:03:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 19:56:54 2009 -0800"
      },
      "message": "ipmr: missing dev_put() on error path in vif_add()\n\nThe other error paths in front of this one have a dev_put() but this one\ngot missed.\n\nFound by smatch static checker.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Wang Chen \u003cellre923@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d792c1006fe92448217b71513d3955868358271d",
      "tree": "918d3fea89ab7f053a0a3f15c2b2feff24f81ef5",
      "parents": [
        "d01032e4fd33110f9f3a085a36cb819c1dfc5827"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Nov 13 13:56:33 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 13:56:33 2009 -0800"
      },
      "message": "tcp: provide more information on the tcp receive_queue bugs\n\nThe addition of rcv_nxt allows to discern whether the skb\nwas out of place or tp-\u003ecopied. Also catch fancy combination\nof flags if necessary (sadly we might miss the actual causer\nflags as it might have already returned).\n\nBtw, we perhaps would want to forward copied_seq in\nsomewhere or otherwise we might have some nice loop with\nWARN stuff within but where to do that safely I don\u0027t\nknow at this stage until more is known (but it is not\nmade significantly worse by this patch).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8572d8f2a2ba75408b97dc24ef47c83671795d7",
      "tree": "052506a457939fea00d138d3a982d778df34e14c",
      "parents": [
        "86b1bc68e2f4244e4ea5db5458df9d19259fbb30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 05 13:32:03 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 12 02:05:06 2009 -0800"
      },
      "message": "sysctl net: Remove unused binary sysctl code\n\nNow that sys_sysctl is a compatiblity wrapper around /proc/sys\nall sysctl strategy routines, and all ctl_name and strategy\nentries in the sysctl tables are unused, and can be\nrevmoed.\n\nIn addition neigh_sysctl_register has been modified to no longer\ntake a strategy argument and it\u0027s callers have been modified not\nto pass one.\n\nCc: \"David Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "61fbab77a843d2e772322ac130715cc9a98bf718",
      "tree": "ceb0046726e50bb72366d57aa2316f85dacf6744",
      "parents": [
        "fa918602b61a71b4a9f47861b7e65c70258516c1"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Nov 10 07:54:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 22:27:12 2009 -0800"
      },
      "message": "IPV4: use rcu to walk list of devices in IGMP\n\nThis also needs to be optimized for large number of devices.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30fff9231fad757c061285e347b33c5149c2c2e4",
      "tree": "79d07aba4b8de4367090442292e412d1ccf961ef",
      "parents": [
        "0ab365f463b9c5c8b76476a1808dfde1c38f6f19"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 09 05:26:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 20:54:38 2009 -0800"
      },
      "message": "udp: bind() optimisation\n\nUDP bind() can be O(N^2) in some pathological cases.\n\nThanks to secondary hash tables, we can make it O(N)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0e1e88d6e7dbd8e1661cb6a058ca30f54ee39e4",
      "tree": "daab7cc0db83226672f76d2fc9277e4355f89e6b",
      "parents": [
        "9e0d57fd6dad37d72a3ca6db00ca8c76f2215454",
        "2606289779cb297320a185db5997729d29b6700b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 23:00:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 23:00:54 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/can/usb/ems_usb.c\n"
    },
    {
      "commit": "f6b8f32ca71406de718391369490f6b1e81fe0bb",
      "tree": "6a9d65cc246c74a78d7274d1911baf38ffc8eaf0",
      "parents": [
        "a1ab77f97ed03f5dae66ae4c64375beffab83772"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:20:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:10 2009 -0800"
      },
      "message": "udp: multicast RX should increment SNMP/sk_drops counter in allocation failures\n\nWhen skb_clone() fails, we should increment sk_drops and SNMP counters.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1240d1373cd7f874dd0f3057c3e9643e71ef75c6",
      "tree": "5bb5b7f72be25210a899e60f9137a4dad899bf05",
      "parents": [
        "fddc17defa22d8caba1cdfb2e22b50bb4b9f35c0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:18:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:08 2009 -0800"
      },
      "message": "ipv4: udp: Optimise multicast reception\n\nUDP multicast rx path is a bit complex and can hold a spinlock\nfor a long time.\n\nUsing a small (32 or 64 entries) stack of socket pointers can help\nto perform expensive operations (skb_clone(), udp_queue_rcv_skb())\noutside of the lock, in most cases.\n\nIt\u0027s also a base for a future RCU conversion of multicast recption.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Lucian Adrian Grijincu \u003clgrijincu@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5051ebd275de672b807c28d93002c2fb0514a3c9",
      "tree": "bfbf0d9f1b231671a8ee20d92a04d26860eb38b1",
      "parents": [
        "512615b6b843ff3ff5ad583f34c39b3f302f5f26"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:18:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:07 2009 -0800"
      },
      "message": "ipv4: udp: optimize unicast RX path\n\nWe first locate the (local port) hash chain head\nIf few sockets are in this chain, we proceed with previous lookup algo.\n\nIf too many sockets are listed, we take a look at the secondary\n(port, address) hash chain we added in previous patch.\n\nWe choose the shortest chain and proceed with a RCU lookup on the elected chain.\n\nBut, if we chose (port, address) chain, and fail to find a socket on given address,\n we must try another lookup on (port, INADDR_ANY) chain to find socket not bound\nto a particular IP.\n\n-\u003e No extra cost for typical setups, where the first lookup will probabbly\nbe performed.\n\nRCU lookups everywhere, we dont acquire spinlock.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "512615b6b843ff3ff5ad583f34c39b3f302f5f26",
      "tree": "7420705a314bc691bc478225148935dc67f71904",
      "parents": [
        "d4cada4ae1c012815f95fa507eb86a0ae9d607d7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:17:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:06 2009 -0800"
      },
      "message": "udp: secondary hash on (local port, local address)\n\nExtends udp_table to contain a secondary hash table.\n\nsocket anchor for this second hash is free, because UDP\ndoesnt use skc_bind_node : We define an union to hold\nboth skc_bind_node \u0026 a new hlist_nulls_node udp_portaddr_node\n\nudp_lib_get_port() inserts sockets into second hash chain\n(additional cost of one atomic op)\n\nudp_lib_unhash() deletes socket from second hash chain\n(additional cost of one atomic op)\n\nNote : No spinlock lockdep annotation is needed, because\nlock for the secondary hash chain is always get after\nlock for primary hash chain.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4cada4ae1c012815f95fa507eb86a0ae9d607d7",
      "tree": "23cdfb3763c9140ae095bf8095c3e6b16f7b48f3",
      "parents": [
        "fdcc8aa953a1123a289791dd192090651036d593"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:17:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:05 2009 -0800"
      },
      "message": "udp: split sk_hash into two u16 hashes\n\nUnion sk_hash with two u16 hashes for udp (no extra memory taken)\n\nOne 16 bits hash on (local port) value (the previous udp \u0027hash\u0027)\n\nOne 16 bits hash on (local address, local port) values, initialized\nbut not yet used. This second hash is using jenkin hash for better\ndistribution.\n\nBecause the \u0027port\u0027 is xored later, a partial hash is performed\non local address + net_hash_mix(net)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdcc8aa953a1123a289791dd192090651036d593",
      "tree": "b30e27d1ba4d3330e5eb9b7da43d4dfb3a4e42f8",
      "parents": [
        "415ce61aef5e9b2ed2516a13888c733bea15aedf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:17:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:04 2009 -0800"
      },
      "message": "udp: add a counter into udp_hslot\n\nAdds a counter in udp_hslot to keep an accurate count\nof sockets present in chain.\n\nThis will permit to upcoming UDP lookup algo to chose\nthe shortest chain when secondary hash is added.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81adee47dfb608df3ad0b91d230fb3cef75f0060",
      "tree": "e9d7a41872f84c1395e21915e5f92c05ab872e69",
      "parents": [
        "f7a3a1d8affe563846fc17f0e7c0cc1500190c57"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Sun Nov 08 00:53:51 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 00:53:51 2009 -0800"
      },
      "message": "net: Support specifying the network namespace upon device creation.\n\nThere is no good reason to not support userspace specifying the\nnetwork namespace during device creation, and it makes it easier\nto create a network device and pass it to a child network namespace\nwith a well known name.\n\nWe have to be careful to ensure that the target network namespace\nfor the new device exists through the life of the call.  To keep\nthat logic clear I have factored out the network namespace grabbing\nlogic into rtnl_link_get_net.\n\nIn addtion we need to continue to pass the source network namespace\nto the rtnl_link_ops.newlink method so that we can find the base\ndevice source network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "23ca0c989e46924393f1d54bec84801d035dd28e",
      "tree": "4d7d997c52e517cc008702389d8c2f9bb2513301",
      "parents": [
        "73475339005dc68eb0bd2f6b1e93a3a39b628410"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 06 10:37:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 20:33:40 2009 -0800"
      },
      "message": "ipip: Fix handling of DF packets when pmtudisc is OFF\n\nRFC 2003 requires the outer header to have DF set if DF is set\non the inner header, even when PMTU discovery is off for the\ntunnel.  Our implementation does exactly that.\n\nFor this to work properly the IPIP gateway also needs to engate\nin PMTU when the inner DF bit is set.  As otherwise the original\nhost would not be able to carry out its PMTU successfully since\npart of the path is only visible to the gateway.\n\nUnfortunately when the tunnel PMTU discovery setting is off, we\ndo not collect the necessary soft state, resulting in blackholes\nwhen the original host tries to perform PMTU discovery.\n\nThis problem is not reproducible on the IPIP gateway itself as\nthe inner packet usually has skb-\u003elocal_df set.  This is not\ncorrectly cleared (an unrelated bug) when the packet passes\nthrough the tunnel, which allows fragmentation to occur.  For\nhosts behind the IPIP gateway it is readily visible with a simple\nping.\n\nThis patch fixes the problem by performing PMTU discovery for\nall packets with the inner DF bit set, regardless of the PMTU\ndiscovery setting on the tunnel itself.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dee5817e88ac8195e5938d6671f434a071e35698",
      "tree": "7697b0bf04c23f6b0c3dad9755a9a7c9b668365f",
      "parents": [
        "76ac894080019c6619d3c3bf615db42a43a77f32"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Nov 06 17:04:00 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Nov 06 17:04:00 2009 +0100"
      },
      "message": "netfilter: remove unneccessary checks from netlink notifiers\n\nThe NETLINK_URELEASE notifier is only invoked for bound sockets, so\nthere is no need to check -\u003epid again.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "230f9bb701d37ae9b48e96456689452978f5c439",
      "tree": "9d2690917533bbb4498c8c9df838de2d38360912",
      "parents": [
        "000ba2e43f33901859fd794bb33c885909d53b3b",
        "887e671f324d9898aaedb29a6ece6c853c394067"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:55:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:55:55 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/usb/cdc_ether.c\n\nAll CDC ethernet devices of type USB_CLASS_COMM need to use\n\u0027\u0026mbm_info\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9dd09c7f7199685601d75882447a6598be8a3e0",
      "tree": "98ab4a75ec6c74cdb4aa807c491002ba33de56c5",
      "parents": [
        "f5209b4446d185cc95f46363f8043a743530c15a"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Fri Nov 06 00:43:42 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:43:42 2009 -0800"
      },
      "message": "netfilter: nf_nat: fix NAT issue in 2.6.30.4+\n\nVitezslav Samel discovered that since 2.6.30.4+ active FTP can not work\nover NAT. The \"cause\" of the problem was a fix of unacknowledged data\ndetection with NAT (commit a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272).\nHowever, actually, that fix uncovered a long standing bug in TCP conntrack:\nwhen NAT was enabled, we simply updated the max of the right edge of\nthe segments we have seen (td_end), by the offset NAT produced with\nchanging IP/port in the data. However, we did not update the other parameter\n(td_maxend) which is affected by the NAT offset. Thus that could drift\naway from the correct value and thus resulted breaking active FTP.\n\nThe patch below fixes the issue by *not* updating the conntrack parameters\nfrom NAT, but instead taking into account the NAT offsets in conntrack in a\nconsistent way. (Updating from NAT would be more harder and expensive because\nit\u0027d need to re-calculate parameters we already calculated in conntrack.)\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69df9d5993bd7dd7499ad0e98fe824147fbe5667",
      "tree": "584ed41f2122f46ea2adacfc0442617c88b4c007",
      "parents": [
        "bd27a8750c9b849068d80e298f99940bb7128b33"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 05 20:59:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:34:22 2009 -0800"
      },
      "message": "ip_frag: dont touch device refcount\n\nWhen sending fragmentation expiration ICMP V4/V6 messages,\nwe can avoid touching device refcount, thanks to RCU\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c84b3268da3b85c9d8a9e504e1001a14ed829e94",
      "tree": "795b4997f5610cf2e56a57ee5b1e4c2d4ca10188",
      "parents": [
        "3f378b684453f2a028eda463ce383370545d9cc9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 20:45:52 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:18 2009 -0800"
      },
      "message": "net: check kern before calling security subsystem\n\nBefore calling capable(CAP_NET_RAW) check if this operations is on behalf\nof the kernel or on behalf of userspace.  Do not do the security check if\nit is on behalf of the kernel.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f378b684453f2a028eda463ce383370545d9cc9",
      "tree": "dc50d087e137c6d173e25ae10ecd0f10823eca7a",
      "parents": [
        "13f18aa05f5abe135f47b6417537ae2b2fedc18c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "message": "net: pass kern to net_proto_family create function\n\nThe generic __sock_create function has a kern argument which allows the\nsecurity system to make decisions based on if a socket is being created by\nthe kernel or by userspace.  This patch passes that flag to the\nnet_proto_family specific create function, so it can do the same thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13f18aa05f5abe135f47b6417537ae2b2fedc18c",
      "tree": "3bcf8c52bd9d957fd09a87224c9d44566071f981",
      "parents": [
        "89794a6f3bf6db552b1ff4d2ad42fdd8739ac2a2"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 20:44:37 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 21:40:17 2009 -0800"
      },
      "message": "net: drop capability from protocol definitions\n\nstruct can_proto had a capability field which wasn\u0027t ever used.  It is\ndropped entirely.\n\nstruct inet_protosw had a capability field which can be more clearly\nexpressed in the code by just checking if sock-\u003etype \u003d SOCK_RAW.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76ac894080019c6619d3c3bf615db42a43a77f32",
      "tree": "e9c3870d04ec592c922e9de6d302616bd01167e6",
      "parents": [
        "5ae27aa2b16478a84d833ab4065798e752941c5a"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "heder@google.com",
        "time": "Thu Nov 05 15:51:19 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 05 15:51:19 2009 +0100"
      },
      "message": "netfilter: nf_nat_helper: tidy up adjust_tcp_sequence\n\nThe variable \u0027other_way\u0027 gets initialized but is not read afterwards,\nso remove it.  Pass the right arguments to a pr_debug call.\n\nWhile being at tidy up a bit and it fix this checkpatch warning:\n  WARNING: suspect code indent for conditional statements\n\nSigned-off-by: Hannes Eder \u003cheder@google.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6a2a2d6bf8581216e08be15fcb563cfd6c430e1e",
      "tree": "001dd331cb0ef37fbb0e84bb557aaee9e22d8fc3",
      "parents": [
        "05eaade2782fb0c90d3034fd7a7d5a16266182bb"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Nov 04 23:23:10 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 23:24:15 2009 -0800"
      },
      "message": "tcp: Use defaults when no route options are available\n\nTrying to parse the option of a SYN packet that we have\nno route entry for should just use global wide defaults\nfor route entry options.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nTested-by: Valdis.Kletnieks@vt.edu\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05eaade2782fb0c90d3034fd7a7d5a16266182bb",
      "tree": "57a7229c25b49ded65319e23ffb300dfb9339cf2",
      "parents": [
        "8d044fe6aacaf573112331847155211a56a12736"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Nov 04 23:21:44 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 23:24:14 2009 -0800"
      },
      "message": "tcp: Do not call IPv4 specific func in tcp_check_req\n\nCalling IPv4 specific inet_csk_route_req in tcp_check_req\nis a bad idea and crashes machine on IPv6 connections, as reported\nby Valdis Kletnieks\n\nAlso, all we are really interested in is the timestamp\noption in the header, so calling tcp_parse_options()\nwith the \"estab\" set to false flag is an overkill as\nit tries to parse half a dozen other TCP options.\n\nWe know whether timestamp should be enabled or not\nusing data from request_sock.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nTested-by: Valdis.Kletnieks@vt.edu\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f9354b92defa15aa0e215946c6e2dbccecb6aa7",
      "tree": "c0523c0ee5346c726245921ec93b4a400784e765",
      "parents": [
        "b4d745db12bd2d45a456565ed63325bbfc689e68"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 22:05:10 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 22:05:10 2009 -0800"
      },
      "message": "net: net/ipv4/devinet.c cleanups\n\nAs pointed by Stephen Rothwell, commit c6d14c84 added a warning :\n\nnet/ipv4/devinet.c: In function \u0027inet_select_addr\u0027:\nnet/ipv4/devinet.c:902: warning: label \u0027out\u0027 defined but not used\n\ndelete unused \u0027out\u0027 label and do some cleanups as well\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9481721be10a1bfd1ee9ccf507eecd7f37caa5ec",
      "tree": "94f6cf30c770c5f2f98b71578bb50bb07153084a",
      "parents": [
        "aa3c487f355ff1477b8369d9f0b9860387ae21d4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 21:14:31 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 04 21:14:31 2009 +0100"
      },
      "message": "netfilter: remove synchronize_net() calls in ip_queue/ip6_queue\n\nnf_unregister_queue_handlers() already does a synchronize_rcu()\ncall, we dont need to do it again in callers.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c6d14c84566d6b70ad9dc1618db0dec87cca9300",
      "tree": "5ec75245cfda4d61e6b4506b6217f047ff4af01a",
      "parents": [
        "d0075634cf9d288988f57392a1f132d2053af961"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 05:43:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 05:43:23 2009 -0800"
      },
      "message": "net: Introduce for_each_netdev_rcu() iterator\n\nAdds RCU management to the list of netdevices.\n\nConvert some for_each_netdev() users to RCU version, if\nit can avoid read_lock-ing dev_base_lock\n\nIe:\n\tread_lock(\u0026dev_base_loack);\n\tfor_each_netdev(net, dev)\n\t\tsome_action();\n\tread_unlock(\u0026dev_base_lock);\n\nbecomes :\n\n\trcu_read_lock();\n\tfor_each_netdev_rcu(net, dev)\n\t\tsome_action();\n\trcu_read_unlock();\n\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "685c7944055b9de51ff509719070afae92b3dbe1",
      "tree": "5aeb11059fbfd1d8dd70953d1d5f93501f246121",
      "parents": [
        "c148fc2e30c988f7e3ac91738b2c03f1cef44849"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 01 19:31:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 01 23:55:10 2009 -0800"
      },
      "message": "icmp: icmp_send() can avoid a dev_put()\n\nWe can avoid touching device refcount in icmp_send(),\nusing dev_get_by_index_rcu()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c148fc2e30c988f7e3ac91738b2c03f1cef44849",
      "tree": "3e9e213cd4dfb554f61cea5315359b1bec330590",
      "parents": [
        "9fdce099bb72df534daa6193318feaec177998fc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 01 19:23:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 01 23:55:09 2009 -0800"
      },
      "message": "ipv4: inetdev_by_index() switch to RCU\n\nUse dev_get_by_index_rcu() instead of __dev_get_by_index() and\ndev_base_lock rwlock\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e9526b352061ee0fd2a1580a2e3a5af960dabc4",
      "tree": "589ae8d9832a929acc68f58cdb8f8b84fb35978e",
      "parents": [
        "33cb7d33a1c36e07839d08a4d1a33bf6a0f70bba"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Oct 30 05:51:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:28:07 2009 -0700"
      },
      "message": "gre: Fix dev_addr clobbering for gretap\n\nNathan Neulinger noticed that gretap devices get their MAC address\nfrom the local IP address, which results in invalid MAC addresses\nhalf of the time.\n\nThis is because gretap is still using the tunnel netdev ops rather\nthan the correct tap netdev ops struct.\n\nThis patch also fixes changelink to not clobber the MAC address\nfor the gretap case.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nTested-by: Nathan Neulinger \u003cnneul@mst.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d410c796067686b1e032d54ce475b7055537138",
      "tree": "4442bdbe4a4be1cce024f2e83a12b7404ef935fa",
      "parents": [
        "63ca2d74ea4f9c7a7ac082c915609a7b224908e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 30 05:03:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:25:12 2009 -0700"
      },
      "message": "net: fix sk_forward_alloc corruption\n\nOn UDP sockets, we must call skb_free_datagram() with socket locked,\nor risk sk_forward_alloc corruption. This requirement is not respected\nin SUNRPC.\n\nAdd a convenient helper, skb_free_datagram_locked() and use it in SUNRPC\n\nReported-by: Francis Moreau \u003cfrancis.moro@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": "b0c110ca8e89f2c9cd52ec7fb1b98c5b7aa78496",
      "tree": "613bb6966bce4b5dc63e5090aff04254f7dbb709",
      "parents": [
        "14d18a81b5171d4433e41129619c75748b4f4d26"
      ],
      "author": {
        "name": "jamal",
        "email": "hadi@cyberus.ca",
        "time": "Sun Oct 18 02:12:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 22:49:12 2009 -0700"
      },
      "message": "net: Fix RPF to work with policy routing\n\nPolicy routing is not looked up by mark on reverse path filtering.\nThis fixes it.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0519d83d83ed485b5a1f9222ff69d7d6c9bb8a01",
      "tree": "2e336be8a4bd2e59bcd4b69b00feb77c6672a9cb",
      "parents": [
        "38bfd8f5bec496e8e0db8849e01c99a33479418a",
        "b5dd884e682cae6b8c037f9d11f3b623b4cf2011"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 21:28:59 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 21:28:59 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "38bfd8f5bec496e8e0db8849e01c99a33479418a",
      "tree": "1db96f539d28c5d4fb2f062b522f91f2f2212c2a",
      "parents": [
        "ed3f2e40f3d438f4a1ec0a898173116cb26f106a"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu Oct 29 02:59:18 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 03:00:06 2009 -0700"
      },
      "message": "net,socket: introduce DECLARE_SOCKADDR helper to catch overflow at build time\n\nproto_ops-\u003egetname implies copying protocol specific data\ninto storage unit (particulary to __kernel_sockaddr_storage).\nSo when we implement new protocol support we should keep such\na detail in mind (which is easy to forget about).\n\nLets introduce DECLARE_SOCKADDR helper which check if\nstorage unit is not overfowed at build time.\n\nEventually inet_getname is switched to use DECLARE_SOCKADDR\n(to show example of usage).\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65a1c4fffaaf5ca166a1263d84ca664d5192cda6",
      "tree": "4b78359d2af0a8e0912addbdff6fa07856f25f95",
      "parents": [
        "091bb8ab51c668635d1a75359019005921676881"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Fri Oct 23 05:59:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:39:54 2009 -0700"
      },
      "message": "net: Cleanup redundant tests on unsigned\n\noptlen is unsigned so the `\u003c 0\u0027 test is never true.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc343475ed062e13fc260acccaab91d7d80fd5b2",
      "tree": "a7bf4c52a5a65e579b397000624f416294777a96",
      "parents": [
        "345cda2fd695534be5a4494f1b59da9daed33663"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:48 2009 -0700"
      },
      "message": "Allow disabling of DSACK TCP option per route\n\nAdd and use no DSCAK bit in the features field.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigend-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigend-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "345cda2fd695534be5a4494f1b59da9daed33663",
      "tree": "6e4b83512481d25b8e7976a1556c5d848e84a621",
      "parents": [
        "cda42ebd67ee5fdf09d7057b5a4584d36fe8a335"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:26 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:47 2009 -0700"
      },
      "message": "Allow to turn off TCP window scale opt per route\n\nAdd and use no window scale bit in the features field.\n\nNote that this is not the same as setting a window scale of 0\nas would happen with window limit on route.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigend-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigend-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cda42ebd67ee5fdf09d7057b5a4584d36fe8a335",
      "tree": "22d87e57330911ea34f610c0da5aa7a10fa2e8d9",
      "parents": [
        "1aba721eba1d84a2defce45b950272cee1e6c72a"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:45 2009 -0700"
      },
      "message": "Allow disabling TCP timestamp options per route\n\nImplement querying and acting upon the no timestamp bit in the feature\nfield.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigend-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigend-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1aba721eba1d84a2defce45b950272cee1e6c72a",
      "tree": "73a882e5147cd7384bea0533dea8b2a5f51ad325",
      "parents": [
        "0c3adfb8ec9f85a63556b70f11e0fcf280545951"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:24 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:44 2009 -0700"
      },
      "message": "Add the no SACK route option feature\n\nImplement querying and acting upon the no sack bit in the features\nfield.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigend-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigend-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "022c3f7d82f0f1c68018696f2f027b87b9bb45c2",
      "tree": "ca46c372d815e46f488ec348ae427d34d1f6079e",
      "parents": [
        "f55017a93f1a74d50244b1254b9a2bd7ac9bbf7d"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:41 2009 -0700"
      },
      "message": "Allow tcp_parse_options to consult dst entry\n\nWe need tcp_parse_options to be aware of dst_entry to\ntake into account per dst_entry TCP options settings\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigend-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigend-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f55017a93f1a74d50244b1254b9a2bd7ac9bbf7d",
      "tree": "d9bc54feba5803530dbc060bba93c1eebf03a0a5",
      "parents": [
        "c871e664ea39363c2a1011ec2dc4bc172dc396a0"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:39 2009 -0700"
      },
      "message": "Only parse time stamp TCP option in time wait sock\n\nSince we only use tcp_parse_options here to check for the exietence\nof TCP timestamp option in the header, it is better to call with\nthe \"established\" flag on.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigned-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigned-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d17fa6fa81d9be6d2dc69aedfabecf904210cbf4",
      "tree": "36513dfe8637c6ef87d2837948c7f64ad2b96d8f",
      "parents": [
        "cf4432f550a0fe4e08e7cd522568cfbae754582c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 28 05:21:38 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:13:49 2009 -0700"
      },
      "message": "ipmr: Optimize multiple unregistration\n\nSpeedup module unloading by factorizing synchronize_rcu() calls\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55888dfb6ba7e318bb3d6a44d25009906206bf6a",
      "tree": "f78100527fdc2aa7d9626fd1c2475f0a8ee7a342",
      "parents": [
        "f552ce5fc2df5504f2feb0087e8a3e61b694ad67"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 28 08:59:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:09:58 2009 -0700"
      },
      "message": "AF_RAW: Augment raw_send_hdrinc to expand skb to fit iphdr-\u003eihl (v2)\n\nAugment raw_send_hdrinc to correct for incorrect ip header length values\n\nA series of oopses was reported to me recently.  Apparently when using AF_RAW\nsockets to send data to peers that were reachable via ipsec encapsulation,\npeople could panic or BUG halt their systems.\n\nI\u0027ve tracked the problem down to user space sending an invalid ip header over an\nAF_RAW socket with IP_HDRINCL set to 1.\n\nBasically what happens is that userspace sends down an ip frame that includes\nonly the header (no data), but sets the ip header ihl value to a large number,\none that is larger than the total amount of data passed to the sendmsg call.  In\nraw_send_hdrincl, we allocate an skb based on the size of the data in the msghdr\nthat was passed in, but assume the data is all valid.  Later during ipsec\nencapsulation, xfrm4_tranport_output moves the entire frame back in the skbuff\nto provide headroom for the ipsec headers.  During this operation, the\nskb-\u003etransport_header is repointed to a spot computed by\nskb-\u003enetwork_header + the ip header length (ihl).  Since so little data was\npassed in relative to the value of ihl provided by the raw socket, we point\ntransport header to an unknown location, resulting in various crashes.\n\nThis fix for this is pretty straightforward, simply validate the value of of\niph-\u003eihl when sending over a raw socket.  If (iph-\u003eihl*4U) \u003e user data buffer\nsize, drop the frame and return -EINVAL.  I just confirmed this fixes the\nreported crashes.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea84e5555a56e2013687b19b012bcf959d601128",
      "tree": "1bf8ed998871d3bae4d7036e8b70e74f02a4fb6c",
      "parents": [
        "ac5e3af9996fb911d4fdff910a8ac3cb7fc63a94"
      ],
      "author": {
        "name": "Andreas Petlund",
        "email": "apetlund@simula.no",
        "time": "Tue Oct 27 03:27:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 28 04:00:03 2009 -0700"
      },
      "message": "net: Corrected spelling error heurestics-\u003eheuristics\n\nCorrected a spelling error in a function name.\n\nSigned-off-by: Andreas Petlund \u003capetlund@simula.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eef6dd65e331d6e91a39b90344c705bbcbe0825e",
      "tree": "6dd95aa32b9b57020a66e99380a4323b5a28d511",
      "parents": [
        "0694c4c016df34c718b9f9ef6ba5aca2e178163a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 27 07:07:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 28 02:22:09 2009 -0700"
      },
      "message": "gre: Optimize multiple unregistration\n\nSpeedup module unloading by factorizing synchronize_rcu() calls\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0694c4c016df34c718b9f9ef6ba5aca2e178163a",
      "tree": "3f35a7f623114d8435cbdae049ecdbe7abe714d1",
      "parents": [
        "63c8099d90096db56ee1c66c31f05d4fcfbc1c69"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 27 07:06:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 28 02:22:08 2009 -0700"
      },
      "message": "ipip: Optimize multiple unregistration\n\nSpeedup module unloading by factorizing synchronize_rcu() calls\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfadf853f6cd9689f79a63ca960c6f9d6665314f",
      "tree": "35418e342d9783f0974ea33ef03875aa21d2362a",
      "parents": [
        "05423b241311c9380b7280179295bac7794281b6",
        "f568a926a353d6816b3704d7367f34371df44ce7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 27 01:03:26 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 27 01:03:26 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/sh_eth.c\n"
    }
  ],
  "next": "8d5b2c084d2e71587e30a6ef528a8a8051e59dcd"
}
