)]}'
{
  "log": [
    {
      "commit": "43a4dea4c9d44baae38ddc14b9b6d86fde4c8b88",
      "tree": "af7ecb23077cf5b4ae1290f7d1ab5e901e7adb82",
      "parents": [
        "e14a599335427f81bbb0008963e59aa9c6449dce"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Mon May 09 19:36:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 15:03:34 2011 -0700"
      },
      "message": "xfrm: Assign the inner mode output function to the dst entry\n\nAs it is, we assign the outer modes output function to the dst entry\nwhen we create the xfrm bundle. This leads to two problems on interfamily\nscenarios. We might insert ipv4 packets into ip6_fragment when called\nfrom xfrm6_output. The system crashes if we try to fragment an ipv4\npacket with ip6_fragment. This issue was introduced with git commit\nad0081e4 (ipv6: Fragment locally generated tunnel-mode IPSec6 packets\nas needed). The second issue is, that we might insert ipv4 packets in\nnetfilter6 and vice versa on interfamily scenarios.\n\nWith this patch we assign the inner mode output function to the dst entry\nwhen we create the xfrm bundle. So xfrm4_output/xfrm6_output from the inner\nmode is used and the right fragmentation and netfilter functions are called.\nWe switch then to outer mode with the output_finish functions.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9f47a3aaeabdce3b42829bbb27765fa340f76ba",
      "tree": "93e4f34b502b8ab2f345d1357ab4ed3dfa5c5911",
      "parents": [
        "9c412942a0bb19ba18f7bd939d42eff1e132a901"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed May 04 10:04:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:51:57 2011 -0700"
      },
      "message": "tcp_cubic: limit delayed_ack ratio to prevent divide error\n\nTCP Cubic keeps a metric that estimates the amount of delayed\nacknowledgements to use in adjusting the window. If an abnormally\nlarge number of packets are acknowledged at once, then the update\ncould wrap and reach zero. This kind of ACK could only\nhappen when there was a large window and huge number of\nACK\u0027s were lost.\n\nThis patch limits the value of delayed ack ratio. The choice of 32\nis just a conservative value since normally it should be range of\n1 to 4 packets.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64f3b9e203bd06855072e295557dca1485a2ecba",
      "tree": "f5aed4dc313db9ce9c98533d56ed9fd6db4bf596",
      "parents": [
        "ff538818f4a82c4cf02d2d6bd6ac5c7360b9d41d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 04 10:02:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 14:04:07 2011 -0700"
      },
      "message": "net: ip_expire() must revalidate route\n\nCommit 4a94445c9a5c (net: Use ip_route_input_noref() in input path)\nadded a bug in IP defragmentation handling, in case timeout is fired.\n\nWhen a frame is defragmented, we use last skb dst field when building\nfinal skb. Its dst is valid, since we are in rcu read section.\n\nBut if a timeout occurs, we take first queued fragment to build one ICMP\nTIME EXCEEDED message. Problem is all queued skb have weak dst pointers,\nsince we escaped RCU critical section after their queueing. icmp_send()\nmight dereference a now freed (and possibly reused) part of memory.\n\nCalling skb_dst_drop() and ip_route_input_noref() to revalidate route is\nthe only possible choice.\n\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff538818f4a82c4cf02d2d6bd6ac5c7360b9d41d",
      "tree": "e385bfa4e7c3e48c2c6c755987c3ba50d3d5aa98",
      "parents": [
        "6c8c44462ac8ac3f95929328f0c56e9e8b6dd524"
      ],
      "author": {
        "name": "Lucian Adrian Grijincu",
        "email": "lucian.grijincu@gmail.com",
        "time": "Sun May 01 01:44:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 16:12:14 2011 -0700"
      },
      "message": "sysctl: net: call unregister_net_sysctl_table where needed\n\nctl_table_headers registered with register_net_sysctl_table should\nhave been unregistered with the equivalent unregister_net_sysctl_table\n\nSigned-off-by: Lucian Adrian Grijincu \u003clucian.grijincu@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7cfd260910b881250cde76ba92ebe3cbf8493a8f",
      "tree": "4a5eb018c25ccacfd744ba6feb6b367fdd45d7da",
      "parents": [
        "a05d2ad1c1f391c7f514a1d1e09b5417968a7d07"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun May 01 02:04:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 01 23:17:50 2011 -0700"
      },
      "message": "ipv4: don\u0027t spam dmesg with \"Using LC-trie\" messages\n\nfib_trie_table() is called during netns creation and\nChromium uses clone(CLONE_NEWNET) to sandbox renderer process.\n\nDon\u0027t print anything.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0972ddb2373d5e127aabdcabd8305eff0242cd0b",
      "tree": "6040853adf2a2aac1df2551e3e7695e902a03905",
      "parents": [
        "8c61d9d611cb5b290f1b4ac57c4631acfd6e3b5a"
      ],
      "author": {
        "name": "Held Bernhard",
        "email": "berny156@gmx.de",
        "time": "Sun Apr 24 22:07:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 25 11:53:08 2011 -0700"
      },
      "message": "net: provide cow_metrics() methods to blackhole dst_ops\n\nSince commit 62fa8a846d7d (net: Implement read-only protection and COW\u0027ing\nof metrics.) the kernel throws an oops.\n\n[  101.620985] BUG: unable to handle kernel NULL pointer dereference at\n           (null)\n[  101.621050] IP: [\u003c          (null)\u003e]           (null)\n[  101.621084] PGD 6e53c067 PUD 3dd6a067 PMD 0\n[  101.621122] Oops: 0010 [#1] SMP\n[  101.621153] last sysfs file: /sys/devices/virtual/ppp/ppp/uevent\n[  101.621192] CPU 2\n[  101.621206] Modules linked in: l2tp_ppp pppox ppp_generic slhc\nl2tp_netlink l2tp_core deflate zlib_deflate twofish_x86_64\ntwofish_common des_generic cbc ecb sha1_generic hmac af_key\niptable_filter snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device loop\nsnd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec\nsnd_pcm snd_timer snd i2c_i801 iTCO_wdt psmouse soundcore snd_page_alloc\nevdev uhci_hcd ehci_hcd thermal\n[  101.621552]\n[  101.621567] Pid: 5129, comm: openl2tpd Not tainted 2.6.39-rc4-Quad #3\nGigabyte Technology Co., Ltd. G33-DS3R/G33-DS3R\n[  101.621637] RIP: 0010:[\u003c0000000000000000\u003e]  [\u003c          (null)\u003e]   (null)\n[  101.621684] RSP: 0018:ffff88003ddeba60  EFLAGS: 00010202\n[  101.621716] RAX: ffff88003ddb5600 RBX: ffff88003ddb5600 RCX:\n0000000000000020\n[  101.621758] RDX: ffffffff81a69a00 RSI: ffffffff81b7ee61 RDI:\nffff88003ddb5600\n[  101.621800] RBP: ffff8800537cd900 R08: 0000000000000000 R09:\nffff88003ddb5600\n[  101.621840] R10: 0000000000000005 R11: 0000000000014b38 R12:\nffff88003ddb5600\n[  101.621881] R13: ffffffff81b7e480 R14: ffffffff81b7e8b8 R15:\nffff88003ddebad8\n[  101.621924] FS:  00007f06e4182700(0000) GS:ffff88007fd00000(0000)\nknlGS:0000000000000000\n[  101.621971] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[  101.622005] CR2: 0000000000000000 CR3: 0000000045274000 CR4:\n00000000000006e0\n[  101.622046] DR0: 0000000000000000 DR1: 0000000000000000 DR2:\n0000000000000000\n[  101.622087] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:\n0000000000000400\n[  101.622129] Process openl2tpd (pid: 5129, threadinfo\nffff88003ddea000, task ffff88003de9a280)\n[  101.622177] Stack:\n[  101.622191]  ffffffff81447efa ffff88007d3ded80 ffff88003de9a280\nffff88007d3ded80\n[  101.622245]  0000000000000001 ffff88003ddebbb8 ffffffff8148d5a7\n0000000000000212\n[  101.622299]  ffff88003dcea000 ffff88003dcea188 ffffffff00000001\nffffffff81b7e480\n[  101.622353] Call Trace:\n[  101.622374]  [\u003cffffffff81447efa\u003e] ? ipv4_blackhole_route+0x1ba/0x210\n[  101.622415]  [\u003cffffffff8148d5a7\u003e] ? xfrm_lookup+0x417/0x510\n[  101.622450]  [\u003cffffffff8127672a\u003e] ? extract_buf+0x9a/0x140\n[  101.622485]  [\u003cffffffff8144c6a0\u003e] ? __ip_flush_pending_frames+0x70/0x70\n[  101.622526]  [\u003cffffffff8146fbbf\u003e] ? udp_sendmsg+0x62f/0x810\n[  101.622562]  [\u003cffffffff813f98a6\u003e] ? sock_sendmsg+0x116/0x130\n[  101.622599]  [\u003cffffffff8109df58\u003e] ? find_get_page+0x18/0x90\n[  101.622633]  [\u003cffffffff8109fd6a\u003e] ? filemap_fault+0x12a/0x4b0\n[  101.622668]  [\u003cffffffff813fb5c4\u003e] ? move_addr_to_kernel+0x64/0x90\n[  101.622706]  [\u003cffffffff81405d5a\u003e] ? verify_iovec+0x7a/0xf0\n[  101.622739]  [\u003cffffffff813fc772\u003e] ? sys_sendmsg+0x292/0x420\n[  101.622774]  [\u003cffffffff810b994a\u003e] ? handle_pte_fault+0x8a/0x7c0\n[  101.622810]  [\u003cffffffff810b76fe\u003e] ? __pte_alloc+0xae/0x130\n[  101.622844]  [\u003cffffffff810ba2f8\u003e] ? handle_mm_fault+0x138/0x380\n[  101.622880]  [\u003cffffffff81024af9\u003e] ? do_page_fault+0x189/0x410\n[  101.622915]  [\u003cffffffff813fbe03\u003e] ? sys_getsockname+0xf3/0x110\n[  101.622952]  [\u003cffffffff81450c4d\u003e] ? ip_setsockopt+0x4d/0xa0\n[  101.622986]  [\u003cffffffff813f9932\u003e] ? sockfd_lookup_light+0x22/0x90\n[  101.623024]  [\u003cffffffff814b61fb\u003e] ? system_call_fastpath+0x16/0x1b\n[  101.623060] Code:  Bad RIP value.\n[  101.623090] RIP  [\u003c          (null)\u003e]           (null)\n[  101.623125]  RSP \u003cffff88003ddeba60\u003e\n[  101.623146] CR2: 0000000000000000\n[  101.650871] ---[ end trace ca3856a7d8e8dad4 ]---\n[  101.651011] __sk_free: optmem leakage (160 bytes) detected.\n\nThe oops happens in dst_metrics_write_ptr()\ninclude/net/dst.h:124: return dst-\u003eops-\u003ecow_metrics(dst, p);\n\ndst-\u003eops-\u003ecow_metrics is NULL and causes the oops.\n\nProvide cow_metrics() methods, like we did in commit 214f45c91bb\n(net: provide default_advmss() methods to blackhole dst_ops)\n\nSigned-off-by: Held Bernhard \u003cberny156@gmx.de\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c65353daf137dd41f3ede3baf62d561fca076228",
      "tree": "407488cc052fff615d61c889100a76e057c1f203",
      "parents": [
        "49b4947aae404c8c5758ffd1007d0d78c48b3643"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 14 05:55:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 14 23:26:02 2011 -0700"
      },
      "message": "ip: ip_options_compile() resilient to NULL skb route\n\nScot Doyle demonstrated ip_options_compile() could be called with an skb\nwithout an attached route, using a setup involving a bridge, netfilter,\nand forged IP packets.\n\nLet\u0027s make ip_options_compile() and ip_options_rcv_srr() a bit more\nrobust, instead of changing bridge/netfilter code.\n\nWith help from Hiroaki SHIMODA.\n\nReported-by: Scot Doyle \u003clkml@scotdoyle.com\u003e\nTested-by: Scot Doyle \u003clkml@scotdoyle.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e8c806a08c7beecd972e7ce15c570b9aba64baa",
      "tree": "89b0b7bfc919ec8e7dc0866f16715bb626af0cc6",
      "parents": [
        "91a403caf0f26c71ce4407fd235b2d6fb225fba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 13 12:01:14 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 13 12:01:14 2011 -0700"
      },
      "message": "Revert \"tcp: disallow bind() to reuse addr/port\"\n\nThis reverts commit c191a836a908d1dd6b40c503741f91b914de3348.\n\nIt causes known regressions for programs that expect to be able to use\nSO_REUSEADDR to shutdown a socket, then successfully rebind another\nsocket to the same ID.\n\nPrograms such as haproxy and amavisd expect this to work.\n\nThis should fix kernel bugzilla 32832.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "192910a6cca5e50e5bd6cbd1da0e7376c7adfe62",
      "tree": "c7638554eb015ac8a1306d6916c047adc164e960",
      "parents": [
        "66944e1c5797562cebe2d1857d46dff60bf9a69e"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Tue Apr 12 13:59:33 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 12 13:59:33 2011 -0700"
      },
      "message": "net: Do not wrap sysctl igmp_max_memberships in IP_MULTICAST\n\ncontrolling igmp_max_membership is useful even when IP_MULTICAST\nis off.\nQuagga(an OSPF deamon) uses multicast addresses for all interfaces\nusing a single socket and hits igmp_max_membership limit when\nthere are 20 interfaces or more.\nAlways export sysctl igmp_max_memberships in proc, just like\nigmp_max_msf\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66944e1c5797562cebe2d1857d46dff60bf9a69e",
      "tree": "8e7ff0099a1298daa15286788c2bfc7f395e3d74",
      "parents": [
        "f8e9881c2aef1e982e5abc25c046820cd0b7cf64"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 11 22:39:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 12 13:58:33 2011 -0700"
      },
      "message": "inetpeer: reduce stack usage\n\nOn 64bit arches, we use 752 bytes of stack when cleanup_once() is called\nfrom inet_getpeer().\n\nLets share the avl stack to save ~376 bytes.\n\nBefore patch :\n\n# objdump -d net/ipv4/inetpeer.o | scripts/checkstack.pl\n\n0x000006c3 unlink_from_pool [inetpeer.o]:\t\t376\n0x00000721 unlink_from_pool [inetpeer.o]:\t\t376\n0x00000cb1 inet_getpeer [inetpeer.o]:\t\t\t376\n0x00000e6d inet_getpeer [inetpeer.o]:\t\t\t376\n0x0004 inet_initpeers [inetpeer.o]:\t\t\t112\n# size net/ipv4/inetpeer.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   5320\t    432\t     21\t   5773\t   168d\tnet/ipv4/inetpeer.o\n\nAfter patch :\n\nobjdump -d net/ipv4/inetpeer.o | scripts/checkstack.pl\n0x00000c11 inet_getpeer [inetpeer.o]:\t\t\t376\n0x00000dcd inet_getpeer [inetpeer.o]:\t\t\t376\n0x00000ab9 peer_check_expire [inetpeer.o]:\t\t328\n0x00000b7f peer_check_expire [inetpeer.o]:\t\t328\n0x0004 inet_initpeers [inetpeer.o]:\t\t\t112\n# size net/ipv4/inetpeer.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   5163\t    432\t     21\t   5616\t   15f0\tnet/ipv4/inetpeer.o\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Scot Doyle \u003clkml@scotdoyle.com\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCc: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nReviewed-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c44eaf41a5a423993932c9a9ad279ee132779b48",
      "tree": "3554fc0bfdcd97936417d6d001d00710d11e67e5",
      "parents": [
        "4263a2f1dad8c8e7ce2352a0cbc882c2b0c044a9",
        "88edaa415966af965bb7eb7056d8b58145462c8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 07:27:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 07:27:24 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)\n  net: Add support for SMSC LAN9530, LAN9730 and LAN89530\n  mlx4_en: Restoring RX buffer pointer in case of failure\n  mlx4: Sensing link type at device initialization\n  ipv4: Fix \"Set rt-\u003ert_iif more sanely on output routes.\"\n  MAINTAINERS: add entry for Xen network backend\n  be2net: Fix suspend/resume operation\n  be2net: Rename some struct members for clarity\n  pppoe: drop PPPOX_ZOMBIEs in pppoe_flush_dev\n  dsa/mv88e6131: add support for mv88e6085 switch\n  ipv6: Enable RFS sk_rxhash tracking for ipv6 sockets (v2)\n  be2net: Fix a potential crash during shutdown.\n  bna: Fix for handling firmware heartbeat failure\n  can: mcp251x: Allow pass IRQ flags through platform data.\n  smsc911x: fix mac_lock acquision before calling smsc911x_mac_read\n  iwlwifi: accept EEPROM version 0x423 for iwl6000\n  rt2x00: fix cancelling uninitialized work\n  rtlwifi: Fix some warnings/bugs\n  p54usb: IDs for two new devices\n  wl12xx: fix potential buffer overflow in testmode nvs push\n  zd1211rw: reset rx idle timer from tasklet\n  ...\n"
    },
    {
      "commit": "1b86a58f9d7ce4fe2377687f378fbfb53bdc9b6c",
      "tree": "e931b86166c2a644470e3754e2d3139f97834951",
      "parents": [
        "9b57e1a79e2142df8412ab223c90ba6f47c6b3a3"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Apr 07 14:04:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 07 14:04:08 2011 -0700"
      },
      "message": "ipv4: Fix \"Set rt-\u003ert_iif more sanely on output routes.\"\n\nCommit 1018b5c01636c7c6bda31a719bda34fc631db29a (\"Set rt-\u003ert_iif more\nsanely on output routes.\")  breaks rt_is_{output,input}_route.\n\nThis became the cause to return \"IP_PKTINFO\u0027s -\u003eipi_ifindex \u003d\u003d 0\".\n\nTo fix it, this does:\n\n1) Add \"int rt_route_iif;\" to struct rtable\n\n2) For input routes, always set rt_route_iif to same value as rt_iif\n\n3) For output routes, always set rt_route_iif to zero.  Set rt_iif\n   as it is done currently.\n\n4) Change rt_is_{output,input}_route() to test rt_route_iif\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "9d9305949778c41b92d4394a2f2a6bcdb1c41a9c",
      "tree": "d49d536ae8156ad9989dc7b26e3897f21e549b02",
      "parents": [
        "738faca34335cd1d5d87fa7c58703139c7fa15bd",
        "96120d86fe302c006259baee9061eea9e1b9e486"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 05 14:21:11 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 05 14:21:11 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "0fae2e7740aca7e384c5f337f458897e7e337d58",
      "tree": "ff0767f2dc382ee8a62e324e441b671382f0433c",
      "parents": [
        "31ad3dd64e689bc79dd819f8f134b9b025240eb8"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Mon Apr 04 17:00:54 2011 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 04 17:00:54 2011 +0200"
      },
      "message": "netfilter: af_info: add \u0027strict\u0027 parameter to limit lookup to .oif\n\nipv6 fib lookup can set RT6_LOOKUP_F_IFACE flag to restrict search\nto an interface, but this flag cannot be set via struct flowi.\n\nAlso, it cannot be set via ip6_route_output: this function uses the\npassed sock struct to determine if this flag is required\n(by testing for nonzero sk_bound_dev_if).\n\nWork around this by passing in an artificial struct sk in case\n\u0027strict\u0027 argument is true.\n\nThis is required to replace the rt6_lookup call in xt_addrtype.c with\nnf_afinfo-\u003eroute().\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "31ad3dd64e689bc79dd819f8f134b9b025240eb8",
      "tree": "06d2a9afbea2b1b7973e416f18d4588df30fb91a",
      "parents": [
        "a09d19779f3ffac6e16821accc2c1cc4df1b643a"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Mon Apr 04 16:56:29 2011 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 04 16:56:29 2011 +0200"
      },
      "message": "netfilter: af_info: add network namespace parameter to route hook\n\nThis is required to eventually replace the rt6_lookup call in\nxt_addrtype.c with nf_afinfo-\u003eroute().\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "2fceec13375e5d98ef033c6b0ee03943fc460950",
      "tree": "34870f61085509c0ff3d8cef819846fc31e94e7c",
      "parents": [
        "2cab86bee8e7f353e6ac8c15b3eb906643497644"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Apr 01 21:47:41 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 01 21:47:41 2011 -0700"
      },
      "message": "tcp: len check is unnecessarily devastating, change to WARN_ON\n\nAll callers are prepared for alloc failures anyway, so this error\ncan safely be boomeranged to the callers domain without super\nbad consequences. ...At worst the connection might go into a state\nwhere each RTO tries to (unsuccessfully) re-fragment with such\na mis-sized value and eventually dies.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "e2666f84958adb3a034b98e99699b55705117e01",
      "tree": "f8fdca8163bf15d98468c63d4d98932ded0ec96f",
      "parents": [
        "c031235b395433350f25943b7580a5e343c7b7b2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 30 16:57:46 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 16:57:46 2011 -0700"
      },
      "message": "fib: add rtnl locking in ip_fib_net_exit\n\nDaniel J Blueman reported a lockdep splat in trie_firstleaf(), caused by\nRTNL being not locked before a call to fib_table_flush()\n\nReported-by: Daniel J Blueman \u003cdaniel.blueman@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": "93ca3bb5df9bc8b2c60485e1cc6507c3d7c8e1fa",
      "tree": "6ccf21f8d1e4431c6be79c265fb1f9a722308f63",
      "parents": [
        "1459a3cc51d90d78027c7b5c1790e5d22751c8eb"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Mon Mar 28 22:40:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 00:10:47 2011 -0700"
      },
      "message": "net: gre: provide multicast mappings for ipv4 and ipv6\n\nMy commit 6d55cb91a0020ac0 (gre: fix hard header destination\naddress checking) broke multicast.\n\nThe reason is that ip_gre used to get ipgre_header() calls with\nzero destination if we have NOARP or multicast destination. Instead\nthe actual target was decided at ipgre_tunnel_xmit() time based on\nper-protocol dissection.\n\nInstead of allowing the \"abuse\" of -\u003eheader() calls with invalid\ndestination, this creates multicast mappings for ip_gre. This also\nfixes \"ip neigh show nud noarp\" to display the proper multicast\nmappings used by the gre device.\n\nReported-by: Doug Kehn \u003crdkehn@yahoo.com\u003e\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nAcked-by: Doug Kehn \u003crdkehn@yahoo.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4910ac6c526d2868adcb5893e0c428473de862b5",
      "tree": "f5fcd4425ee8ae7bd88f3a1fc4e9bb58592aff1b",
      "parents": [
        "673e63c688f43104c73aad8ea4237f7ad41fa14d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 28 16:51:15 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 28 16:51:15 2011 -0700"
      },
      "message": "ipv4: Don\u0027t ip_rt_put() an error pointer in RAW sockets.\n\nReported-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8628bd8af7c4c14f40f5183f80f5744c4e682439",
      "tree": "d931f03c6ef14ad8df7c6c697e56081f816c2af7",
      "parents": [
        "dc760b375e50a47847d4942811bd9679beeb5535"
      ],
      "author": {
        "name": "Jan Luebbe",
        "email": "jluebbe@debian.org",
        "time": "Thu Mar 24 07:44:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 27 23:35:02 2011 -0700"
      },
      "message": "ipv4: Fix IP timestamp option (IPOPT_TS_PRESPEC) handling in ip_options_echo()\n\nThe current handling of echoed IP timestamp options with prespecified\naddresses is rather broken since the 2.2.x kernels. As far as i understand\nit, it should behave like when originating packets.\n\nCurrently it will only timestamp the next free slot if:\n - there is space for *two* timestamps\n - some random data from the echoed packet taken as an IP is *not* a local IP\n\nThis first is caused by an off-by-one error. \u0027soffset\u0027 points to the next\nfree slot and so we only need to have \u0027soffset + 7 \u003c\u003d optlen\u0027.\n\nThe second bug is using sptr as the start of the option, when it really is\nset to \u0027skb_network_header(skb)\u0027. I just use dptr instead which points to\nthe timestamp option.\n\nFinally it would only timestamp for non-local IPs, which we shouldn\u0027t do.\nSo instead we exclude all unicast destinations, similar to what we do in\nip_options_compile().\n\nSigned-off-by: Jan Luebbe \u003cjluebbe@debian.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fbc78439291627642517f15b9b91f3125588143",
      "tree": "bde47a81d7d45f9b7027b51b339c966ba87136a5",
      "parents": [
        "6df59a84eccd4cad7fcefda3e0c5e55239a3b2dd"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Mar 25 20:33:23 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 25 20:33:23 2011 -0700"
      },
      "message": "ipv4: do not ignore route errors\n\n\tThe \"ipv4: Inline fib_semantic_match into check_leaf\"\nchange forgets to return the route errors. check_leaf should\nreturn the same results as fib_table_lookup.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37e826c513883099c298317bad1b3b677b2905fb",
      "tree": "a032cfe69e0cde179d86eba157cf9dc85d67df86",
      "parents": [
        "436c3b66ec9824a633724ae42de1c416af4f2063"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 18:06:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 18:06:47 2011 -0700"
      },
      "message": "ipv4: Fix nexthop caching wrt. scoping.\n\nMove the scope value out of the fib alias entries and into fib_info,\nso that we always use the correct scope when recomputing the nexthop\ncached source address.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "436c3b66ec9824a633724ae42de1c416af4f2063",
      "tree": "8da6452386b6e900c4226c9b67694d1ea21e847e",
      "parents": [
        "f7594d42944c0dfca90318f50978a4bdf8504086"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 17:42:21 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 17:42:21 2011 -0700"
      },
      "message": "ipv4: Invalidate nexthop cache nh_saddr more correctly.\n\nAny operation that:\n\n1) Brings up an interface\n2) Adds an IP address to an interface\n3) Deletes an IP address from an interface\n\ncan potentially invalidate the nh_saddr value, requiring\nit to be recomputed.\n\nPerform the recomputation lazily using a generation ID.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fcd13f42c9d6ab7b1024b9b7125a2e8db3cc00b2",
      "tree": "2c088856e18636a77077cea244e227453782910c",
      "parents": [
        "6f71d7927c9a9efb7d7e9e6d227d5e246a9c5bd7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Mar 24 07:01:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 11:49:54 2011 -0700"
      },
      "message": "ipv4: fix fib metrics\n\nAlessandro Suardi reported that we could not change route metrics :\n\nip ro change default .... advmss 1400\n\nThis regression came with commit 9c150e82ac50 (Allocate fib metrics\ndynamically). fib_metrics is no longer an array, but a pointer to an\narray.\n\nReported-by: Alessandro Suardi \u003calessandro.suardi@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Alessandro Suardi \u003calessandro.suardi@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb49a97363f020c1d7eef8bcd93865726b1fa11d",
      "tree": "c6012d720a51e20fd2b27c45cbe68788652078d1",
      "parents": [
        "406b6f974dae76a5b795d5c251d11c979a4e509b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 23 12:18:15 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:18:15 2011 -0700"
      },
      "message": "ipv4: fix ip_rt_update_pmtu()\n\ncommit 2c8cec5c10bc (Cache learned PMTU information in inetpeer) added\nan extra inet_putpeer() call in ip_rt_update_pmtu().\n\nThis results in various problems, since we can free one inetpeer, while\nit is still in use.\n\nRef: http://www.spinics.net/lists/netdev/msg159121.html\n\nReported-by: Alexander Beregalov \u003ca.beregalov@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": "406b6f974dae76a5b795d5c251d11c979a4e509b",
      "tree": "0e197be8a5239c8b0c414f7ef3cf91a844a4271c",
      "parents": [
        "f6152737a95bd6c22f0c664b20831aefd48085a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 21:56:23 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:16:15 2011 -0700"
      },
      "message": "ipv4: Fallback to FIB local table in __ip_dev_find().\n\nIn commit 9435eb1cf0b76b323019cebf8d16762a50a12a19\n(\"ipv4: Implement __ip_dev_find using new interface address hash.\")\nwe reimplemented __ip_dev_find() so that it doesn\u0027t have to\ndo a full FIB table lookup.\n\nInstead, it consults a hash table of addresses configured to\ninterfaces.\n\nThis works identically to the old code in all except one case,\nand that is for loopback subnets.\n\nThe old code would match the loopback device for any IP address\nthat falls within a subnet configured to the loopback device.\n\nHandle this corner case by doing the FIB lookup.\n\nWe could implement this via inet_addr_onlink() but:\n\n1) Someone could configure many addresses to loopback and\n   inet_addr_onlink() is a simple list traversal.\n\n2) We know the old code works.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6152737a95bd6c22f0c664b20831aefd48085a8",
      "tree": "97cecb7a1645b8e24f886ec6924543f70b95e661",
      "parents": [
        "67d4120a1793138bc9f4a6eb61d0fc5298ed97e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 19:37:11 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 19:37:11 2011 -0700"
      },
      "message": "tcp: Make undo_ssthresh arg to tcp_undo_cwr() a bool.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67d4120a1793138bc9f4a6eb61d0fc5298ed97e0",
      "tree": "24ffa212d26a6048675a2b7f2c1a4371e62c9f6d",
      "parents": [
        "a7bff75b087e7a355838a32efe61707cfa73c194"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Mon Mar 14 10:57:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 19:36:08 2011 -0700"
      },
      "message": "tcp: avoid cwnd moderation in undo\n\nIn the current undo logic, cwnd is moderated after it was restored\nto the value prior entering fast-recovery. It was moderated first\nin tcp_try_undo_recovery then again in tcp_complete_cwr.\n\nSince the undo indicates recovery was false, these moderations\nare not necessary. If the undo is triggered when most of the\noutstanding data have been acknowledged, the (restored) cwnd is\nfalsely pulled down to a small value.\n\nThis patch removes these cwnd moderations if cwnd is undone\n  a) during fast-recovery\n\tb) by receiving DSACKs past fast-recovery\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04024b937a6e9b7d4320b5853557cea3930d528c",
      "tree": "d14d770251f5b50d9647a662848c64bab034265a",
      "parents": [
        "2d230e2b2c3111cf4a11619f60dcd158ae84e3ab"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sat Mar 19 12:13:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 01:06:33 2011 -0700"
      },
      "message": "ipv4: optimize route adding on secondary promotion\n\nOptimize the calling of fib_add_ifaddr for all\nsecondary addresses after the promoted one to start from\ntheir place, not from the new place of the promoted\nsecondary. It will save some CPU cycles because we\nare sure the promoted secondary was first for the subnet\nand all next secondaries do not change their place.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d230e2b2c3111cf4a11619f60dcd158ae84e3ab",
      "tree": "4e665cc5ac43116212b44af1f409ef8a140069ef",
      "parents": [
        "e6abbaa2725a43cf5d26c4c2a5dc6c0f6029ea19"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sat Mar 19 12:13:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 01:06:33 2011 -0700"
      },
      "message": "ipv4: remove the routes on secondary promotion\n\nThe secondary address promotion relies on fib_sync_down_addr\nto remove all routes created for the secondary addresses when\nthe old primary address is deleted. It does not happen for cases\nwhen the primary address is also in another subnet. Fix that\nby deleting local and broadcast routes for all secondaries while\nthey are on device list and by faking that all addresses from\nthis subnet are to be deleted. It relies on fib_del_ifaddr being\nable to ignore the IPs from the concerned subnet while checking\nfor duplication.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6abbaa2725a43cf5d26c4c2a5dc6c0f6029ea19",
      "tree": "65d9d9deb7259322e83fc750b98f4ad9f7a51f56",
      "parents": [
        "74cb3c108bc0f599a4eb40980db8580cfba725c9"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sat Mar 19 12:13:49 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 01:06:32 2011 -0700"
      },
      "message": "ipv4: fix route deletion for IPs on many subnets\n\nAlex Sidorenko reported for problems with local\nroutes left after IP addresses are deleted. It happens\nwhen same IPs are used in more than one subnet for the\ndevice.\n\n\tFix fib_del_ifaddr to restrict the checks for duplicate\nlocal and broadcast addresses only to the IFAs that use\nour primary IFA or another primary IFA with same address.\nAnd we expect the prefsrc to be matched when the routes\nare deleted because it is possible they to differ only by\nprefsrc. This patch prevents local and broadcast routes\nto be leaked until their primary IP is deleted finally\nfrom the box.\n\n\tAs the secondary address promotion needs to delete\nthe routes for all secondaries that used the old primary IFA,\nadd option to ignore these secondaries from the checks and\nto assume they are already deleted, so that we can safely\ndelete the route while these IFAs are still on the device list.\n\nReported-by: Alex Sidorenko \u003calexandre.sidorenko@hp.com\u003e\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74cb3c108bc0f599a4eb40980db8580cfba725c9",
      "tree": "4e75f3e98912f917214674fafb09e7d787a029c1",
      "parents": [
        "3c0f3c605b2572c740f66ea39fe2d125399b20aa"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sat Mar 19 12:13:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 01:06:31 2011 -0700"
      },
      "message": "ipv4: match prefsrc when deleting routes\n\nfib_table_delete forgets to match the routes by prefsrc.\nCallers can specify known IP in fc_prefsrc and we should remove\nthe exact route. This is needed for cases when same local or\nbroadcast addresses are used in different subnets and the\nroutes differ only in prefsrc. All callers that do not provide\nfc_prefsrc will ignore the route prefsrc as before and will\ndelete the first occurence. That is how the ip route del default\nmagic works.\n\n\tCurrent callers are:\n\n- ip_rt_ioctl where rtentry_to_fib_config provides fc_prefsrc only\nwhen the provided device name matches IP label with colon.\n\n- inet_rtm_delroute where RTA_PREFSRC is optional too\n\n- fib_magic which deals with routes when deleting addresses\nand where the fc_prefsrc is always set with the primary IP\nfor the concerned IFA.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "961ed183a9fd080cf306c659b8736007e44065a5",
      "tree": "7bf0a65c184a2c4fc0571ff9af8ce633efc73bcf",
      "parents": [
        "db856674ac69e31946e56085239757cca3f7655f"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Sun Mar 20 15:42:52 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Mar 20 15:42:52 2011 +0100"
      },
      "message": "netfilter: ipt_CLUSTERIP: fix buffer overflow\n\n\u0027buffer\u0027 string is copied from userspace.  It is not checked whether it is\nzero terminated.  This may lead to overflow inside of simple_strtoul().\nChangli Gao suggested to copy not more than user supplied \u0027size\u0027 bytes.\n\nIt was introduced before the git epoch.  Files \"ipt_CLUSTERIP/*\" are\nroot writable only by default, however, on some setups permissions might be\nrelaxed to e.g. network admin user.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "db856674ac69e31946e56085239757cca3f7655f",
      "tree": "73fc82e92a119dcf1a0ce4e2ca45ef410165776f",
      "parents": [
        "5c1aba467828bf0574ec5754c84884d573f590af"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Mar 20 15:40:06 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Mar 20 15:40:06 2011 +0100"
      },
      "message": "netfilter: xtables: fix reentrancy\n\ncommit f3c5c1bfd4308 (make ip_tables reentrant) introduced a race in\nhandling the stackptr restore, at the end of ipt_do_table()\n\nWe should do it before the call to xt_info_rdunlock_bh(), or we allow\ncpu preemption and another cpu overwrites stackptr of original one.\n\nA second fix is to change the underflow test to check the origptr value\ninstead of 0 to detect underflow, or else we allow a jump from different\nhooks.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "4a2b9c3756077c05dd8666e458a751d2248b61b6",
      "tree": "9d074adc7c94a7fdb3be69e1e0572184f76056a3",
      "parents": [
        "7313714775a6411402f63261c05fbb4ee3d5b64a"
      ],
      "author": {
        "name": "Dan Siemon",
        "email": "dan@coverfire.com",
        "time": "Tue Mar 15 13:56:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 18:53:54 2011 -0700"
      },
      "message": "net_sched: fix ip_tos2prio\n\nECN support incorrectly maps ECN BESTEFFORT packets to TC_PRIO_FILLER\n(1) instead of TC_PRIO_BESTEFFORT (0)\n\nThis means ECN enabled flows are placed in pfifo_fast/prio low priority\nband, giving ECN enabled flows [ECT(0) and CE codepoints] higher drop\nprobabilities.\n\nThis is rather unfortunate, given we would like ECN being more widely\nused.\n\nRef : http://www.coverfire.com/archives/2011/03/13/pfifo_fast-and-ecn/\n\nSigned-off-by: Dan Siemon \u003cdan@coverfire.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Dave Täht \u003cd@taht.net\u003e\nCc: Jonathan Morton \u003cchromatix99@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c337ffb68e1e71bad069b14d2246fa1e0c31699c",
      "tree": "7861a59b196adfd63758cc0921e4fb56030fbaf3",
      "parents": [
        "30df754dedebf27ef90452944a723ba058d23396",
        "84c0c6933cb0303fa006992a6659c2b46de4eb17"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 15:15:17 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 15:15:17 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "31111c26d976ca0f298312f08e44cdb078005b03",
      "tree": "ca08ef55b2ea91f9e69f8a78bb8b4363a1759b54",
      "parents": [
        "0c0217b016ba8a970a6f6ab62ad0d858f39881ca",
        "2f5dc63123905a89d4260ab8ee08d19ec104db04"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 13:03:27 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 13:03:27 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "de81bbea17650769882bc625d6b5df11ee7c4b24",
      "tree": "2e1250b7309977fc48b4f5b88f83959795f04591",
      "parents": [
        "6a8ab060779779de8aea92ce3337ca348f973f54"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fwestphal@astaro.com",
        "time": "Tue Mar 15 20:16:20 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Mar 15 20:16:20 2011 +0100"
      },
      "message": "netfilter: ipt_addrtype: rename to xt_addrtype\n\nFollowup patch will add ipv6 support.\n\nipt_addrtype.h is retained for compatibility reasons, but no longer used\nby the kernel.\n\nSigned-off-by: Florian Westphal \u003cfwestphal@astaro.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "78b79876761b86653df89c48a7010b5cbd41a84a",
      "tree": "8b2d66a823640ab1a5c7e31d4b27b69bfbb86cde",
      "parents": [
        "42eab94fff18cb1091d3501cd284d6bd6cc9c143"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Mar 15 13:36:05 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Mar 15 13:36:05 2011 +0100"
      },
      "message": "netfilter: ip_tables: fix infoleak to userspace\n\nStructures ipt_replace, compat_ipt_replace, and xt_get_revision are\ncopied from userspace.  Fields of these structs that are\nzero-terminated strings are not checked.  When they are used as argument\nto a format string containing \"%s\" in request_module(), some sensitive\ninformation is leaked to userspace via argument of spawned modprobe\nprocess.\n\nThe first and the third bugs were introduced before the git epoch; the\nsecond was introduced in 2722971c (v2.6.17-rc1).  To trigger the bug\none should have CAP_NET_ADMIN.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "42eab94fff18cb1091d3501cd284d6bd6cc9c143",
      "tree": "b30e101f5503847706a7aa24455d47f5e45cf7e1",
      "parents": [
        "4656c4d61adb8dc3ee04c08f57a5cc7598814420"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Mar 15 13:35:21 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Mar 15 13:35:21 2011 +0100"
      },
      "message": "netfilter: arp_tables: fix infoleak to userspace\n\nStructures ipt_replace, compat_ipt_replace, and xt_get_revision are\ncopied from userspace.  Fields of these structs that are\nzero-terminated strings are not checked.  When they are used as argument\nto a format string containing \"%s\" in request_module(), some sensitive\ninformation is leaked to userspace via argument of spawned modprobe\nprocess.\n\nThe first bug was introduced before the git epoch;  the second is\nintroduced by 6b7d31fc (v2.6.15-rc1);  the third is introduced by\n6b7d31fc (v2.6.15-rc1).  To trigger the bug one should have\nCAP_NET_ADMIN.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b5ccd07337489fa9c9d32e0b628a2168b7953adf",
      "tree": "4c0bd60c5500440e6a5bb7086d54dedfb8eed815",
      "parents": [
        "2b4636a5f8ca547000f6aba24ec1c58f31f4a91d"
      ],
      "author": {
        "name": "Sangtae Ha",
        "email": "sangtae.ha@gmail.com",
        "time": "Mon Mar 14 07:52:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:42 2011 -0700"
      },
      "message": "tcp_cubic: fix low utilization of CUBIC with HyStart\n\nHyStart sets the initial exit point of slow start.\nSuppose that HyStart exits at 0.5BDP in a BDP network and no history exists.\nIf the BDP of a network is large, CUBIC\u0027s initial cwnd growth may be\ntoo conservative to utilize the link.\nCUBIC increases the cwnd 20% per RTT in this case.\n\nSigned-off-by: Sangtae Ha \u003csangtae.ha@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b4636a5f8ca547000f6aba24ec1c58f31f4a91d",
      "tree": "4b46132a943bab1edaf61ac49b96d45dfc8907e2",
      "parents": [
        "3b585b34493ec9db382d6c325d4ed77b9eb2d2a5"
      ],
      "author": {
        "name": "Sangtae Ha",
        "email": "sangtae.ha@gmail.com",
        "time": "Mon Mar 14 07:52:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:42 2011 -0700"
      },
      "message": "tcp_cubic: make the delay threshold of HyStart less sensitive\n\nMake HyStart less sensitive to abrupt delay variations due to buffer bloat.\n\nSigned-off-by: Sangtae Ha \u003csangtae.ha@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReported-by: Lucas Nussbaum \u003clucas.nussbaum@loria.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b585b34493ec9db382d6c325d4ed77b9eb2d2a5",
      "tree": "e3208425d46953bb587b2db6dfb521064f127aed",
      "parents": [
        "17a6e9f1aa9ba07ca13a1eaf1e631e743af50cca"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:40 2011 -0700"
      },
      "message": "tcp_cubic: enable high resolution ack time if needed\n\nThis is a refined version of an earlier patch by Lucas Nussbaum.\nCubic needs RTT values in milliseconds. If HZ \u003c 1000 then\nthe values will be too coarse.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReported-by: Lucas Nussbaum \u003clucas.nussbaum@loria.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17a6e9f1aa9ba07ca13a1eaf1e631e743af50cca",
      "tree": "131ea88cfe5d80c162de866ee4156178f70156b1",
      "parents": [
        "aac46324e12a2bf2e9e0855ad6a287945e34ad39"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:39 2011 -0700"
      },
      "message": "tcp_cubic: fix clock dependency\n\nThe hystart code was written with assumption that HZ\u003d1000.\nReplace the use of jiffies with bictcp_clock as a millisecond\nreal time clock.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReported-by: Lucas Nussbaum \u003clucas.nussbaum@loria.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aac46324e12a2bf2e9e0855ad6a287945e34ad39",
      "tree": "3f6fc25d6fb597cf051de4426f1c81e7f145c3a5",
      "parents": [
        "c54b4b7655447c1f24f6d50779c22eba9ee0fd24"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:39 2011 -0700"
      },
      "message": "tcp_cubic: make ack train delta value a parameter\n\nMake the spacing between ACK\u0027s that indicates a train a tuneable\nvalue like other hystart values.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c54b4b7655447c1f24f6d50779c22eba9ee0fd24",
      "tree": "42178e794fafe36de1a00607b28363e1fe8da3f2",
      "parents": [
        "febf081987ec445f071ed10b73e9707a88cc5cc4"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:38 2011 -0700"
      },
      "message": "tcp_cubic: fix comparison of jiffies\n\nJiffies wraps around therefore the correct way to compare is\nto use cast to signed value.\n\nNote: cubic is not using full jiffies value on 64 bit arch\nbecause using full unsigned long makes struct bictcp grow too\nlarge for the available ca_priv area.\n\nIncludes correction from Sangtae Ha to improve ack train detection.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "febf081987ec445f071ed10b73e9707a88cc5cc4",
      "tree": "2afd0d3fba79620b889935b678ac8c024e10c19d",
      "parents": [
        "a23c37f1110d8912d4d0a66e78197e9195bb36d4"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:38 2011 -0700"
      },
      "message": "tcp: fix RTT for quick packets in congestion control\n\nIn the congestion control interface, the callback for each ACK\nincludes an estimated round trip time in microseconds.\nSome algorithms need high resolution (Vegas style) but most only\nneed jiffie resolution.  If RTT is not accurate (like a retransmission)\n-1 is used as a flag value.\n\nWhen doing coarse resolution if RTT is less than a a jiffie\nthen 0 should be returned rather than no estimate. Otherwise algorithms\nthat expect good ack\u0027s to trigger slow start (like CUBIC Hystart)\nwill be confused.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e75db2e8ff2c97762e87f61f54d7cdeaab1a6b0",
      "tree": "d6c0c4fff29a1f69afe2e262b31e579d1c6f0baf",
      "parents": [
        "d8647b79c3b7e223ac051439d165bc8e7bbb832f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Mar 13 23:22:23 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 13 23:22:23 2011 -0700"
      },
      "message": "inetpeer: should use call_rcu() variant\n\nAfter commit 7b46ac4e77f3224a (inetpeer: Don\u0027t disable BH for initial\nfast RCU lookup.), we should use call_rcu() to wait proper RCU grace\nperiod.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dc49e9b28a7253ff05be2794d747f8ea5f1f423",
      "tree": "9cb4574b77949df1cf2f9cc0015e0751b59ad0aa",
      "parents": [
        "1ce3644ade9c865c755bf0f6a4e109b7bb6eb60f"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Mar 08 00:07:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 13 20:22:29 2011 -0700"
      },
      "message": "esp4: Add support for IPsec extended sequence numbers\n\nThis patch adds IPsec extended sequence numbers support to esp4.\nWe use the authencesn crypto algorithm to handle esp with separate\nencryption/authentication algorithms.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce3644ade9c865c755bf0f6a4e109b7bb6eb60f",
      "tree": "14ce0727337a43d1fa28432d01189d1a5f4269c7",
      "parents": [
        "9736acf395d3608583a7be70f62800b494fa103c"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Mar 08 00:06:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 13 20:22:28 2011 -0700"
      },
      "message": "xfrm: Use separate low and high order bits of the sequence numbers in xfrm_skb_cb\n\nTo support IPsec extended sequence numbers, we split the\noutput sequence numbers of xfrm_skb_cb in low and high order 32 bits\nand we add the high order 32 bits to the input sequence numbers.\nAll users are updated accordingly.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46af31800b6916c92fffa529dc3c357008da957d",
      "tree": "2c66ee7b78527da504a294f1bd8a2a899623fead",
      "parents": [
        "bef55aebd560c5a6f8883c421abccee39978c58c"
      ],
      "author": {
        "name": "Hiroaki SHIMODA",
        "email": "shimoda.hiroaki@gmail.com",
        "time": "Wed Mar 09 20:09:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 13 18:37:49 2011 -0700"
      },
      "message": "ipv4: Fix PMTU update.\n\nOn current net-next-2.6, when Linux receives ICMP Type: 3, Code: 4\n(Destination unreachable (Fragmentation needed)),\n\n  icmp_unreach\n    -\u003e ip_rt_frag_needed\n         (peer-\u003epmtu_expires is set here)\n    -\u003e tcp_v4_err\n         -\u003e do_pmtu_discovery\n              -\u003e ip_rt_update_pmtu\n                   (peer-\u003epmtu_expires is already set,\n                    so check_peer_pmtu is skipped.)\n                   -\u003e check_peer_pmtu\n\ncheck_peer_pmtu is skipped and MTU is not updated.\n\nTo fix this, let check_peer_pmtu execute unconditionally.\nAnd some minor fixes\n1) Avoid potential peer-\u003epmtu_expires set to be zero.\n2) In check_peer_pmtu, argument of time_before is reversed.\n3) check_peer_pmtu expects peer-\u003epmtu_orig is initialized as zero,\n   but not initialized.\n\nSigned-off-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cce96df5b76691712dba22e83ff5efe900361e1",
      "tree": "eecf99e64c6866af944e1e1644d87737392b2da2",
      "parents": [
        "f42454d632753d71ea1a2df09be7bbda32b6372d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 03:00:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "net: Put fl4_* macros to struct flowi4 and use them again.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f42454d632753d71ea1a2df09be7bbda32b6372d",
      "tree": "15bd0056a1e5a72897f84a0ae331163dfa8fd797",
      "parents": [
        "7e1dc7b6f709dfc1a9ab4b320dbe723f45992693"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:44:16 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:53 2011 -0800"
      },
      "message": "ipv4: Kill fib_semantic_match declaration from fib_lookup.h\n\nThis function no longer exists.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e1dc7b6f709dfc1a9ab4b320dbe723f45992693",
      "tree": "db3a0ae07fb469c7f809a448bc39563f98edfec5",
      "parents": [
        "2032656e76b5355151effdff14de4a1a58643915"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:42:11 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:52 2011 -0800"
      },
      "message": "net: Use flowi4 and flowi6 in xfrm layer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6f21b268026165a239edb5f4d7120eacf7bc593",
      "tree": "ee03e4fd4a48483bd4d0c21687509d93a3e91729",
      "parents": [
        "3073e5ab927487328d48cd74faac0f95a8336867"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:09:18 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:50 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in UDP\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3073e5ab927487328d48cd74faac0f95a8336867",
      "tree": "4e4a01225679b32bdb5391c82f812748fa6ef615",
      "parents": [
        "da91981bee8de20bcd06ee0dbddd53d62d23b1bd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:06:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:50 2011 -0800"
      },
      "message": "netfilter: Use flowi4 in nf_nat_standalone.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da91981bee8de20bcd06ee0dbddd53d62d23b1bd",
      "tree": "4c99ba1fa3a44614b434626b7ebfe1f4ce677e93",
      "parents": [
        "9ade22861f922344788321e374c542c92bc049b6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:04:50 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:49 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in ipmr code.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ade22861f922344788321e374c542c92bc049b6",
      "tree": "c0bc23180b3f51104745d263a106c62b4bec11a4",
      "parents": [
        "9d6ec938019c6b16cb9ec96598ebe8f20de435fe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:02:42 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:49 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in FIB layer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d6ec938019c6b16cb9ec96598ebe8f20de435fe",
      "tree": "9b850eb7fd48a6e5ffc15f47afd2e3edc93f5290",
      "parents": [
        "68a5e3dd0a0056d8b349f9eea3756adda53ec17a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 01:12:47 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in public route lookup interfaces.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68a5e3dd0a0056d8b349f9eea3756adda53ec17a",
      "tree": "cca890c41eb5b914d026bbfcc38645a1a402e10b",
      "parents": [
        "22bd5b9b13f2931ac80949f8bfbc40e8cab05be7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 11 20:07:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use struct flowi4 internally in routing lookups.\n\nWe will change the externally visible APIs next.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22bd5b9b13f2931ac80949f8bfbc40e8cab05be7",
      "tree": "d30639ce43efe3186461b0fff962f80eb2417c61",
      "parents": [
        "59b1a94c9a034e63a5e030a5154be1d4d84677d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 11 19:54:08 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:47 2011 -0800"
      },
      "message": "ipv4: Pass ipv4 flow objects into fib_lookup() paths.\n\nTo start doing these conversions, we need to add some temporary\nflow4_* macros which will eventually go away when all the protocol\ncode paths are changed to work on AF specific flowi objects.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56bb8059e1a8bf291054c26367564dc302f6fd8f",
      "tree": "56ec5ae2c1856208ccf97a0cd6b21ab0587f34cf",
      "parents": [
        "6281dcc94a96bd73017b2baa8fa83925405109ef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:44:35 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Break struct flowi out into AF specific instances.\n\nNow we have struct flowi4, flowi6, and flowidn for each address\nfamily.  And struct flowi is just a union of them all.\n\nIt might have been troublesome to convert flow_cache_uli_match() but\nas it turns out this function is completely unused and therefore can\nbe simply removed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6281dcc94a96bd73017b2baa8fa83925405109ef",
      "tree": "8deee4d66d256d10ea25f66520eb96b1fade1545",
      "parents": [
        "08704bcbf022786532b5f188935ab6619906049f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:43:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Make flowi ports AF dependent.\n\nCreate two sets of port member accessors, one set prefixed by fl4_*\nand the other prefixed by fl6_*\n\nThis will let us to create AF optimal flow instances.\n\nIt will work because every context in which we access the ports,\nwe have to be fully aware of which AF the flowi is anyways.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78fbfd8a653ca972afe479517a40661bfff6d8c3",
      "tree": "9dccc5c16bf269d53d8499064ec95a998e84c646",
      "parents": [
        "1561747ddf9d28185548687b11aae7074d6129c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:00:52 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:42 2011 -0800"
      },
      "message": "ipv4: Create and use route lookup helpers.\n\nThe idea here is this minimizes the number of places one has to edit\nin order to make changes to how flows are defined and used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b7fe59322bef9e7a2c05b64a07a66b875299736",
      "tree": "1e3a1ca9931e41a7bf6bdec0ddbabe1f6c466b02",
      "parents": [
        "ff3fccb3d05756ec9fb44350b059d31a5e8e0fdc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:01:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:03:45 2011 -0800"
      },
      "message": "ipv4: Kill flowi arg to fib_select_multipath()\n\nCompletely unused.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff3fccb3d05756ec9fb44350b059d31a5e8e0fdc",
      "tree": "a1b7f7d24e90ebc0f057843df9bd65bbd435a880",
      "parents": [
        "dbdd9a52e38a4a93adfa4d0278801cce4fad98eb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:23:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:01:01 2011 -0800"
      },
      "message": "ipv4: Remove unnecessary test from ip_mkroute_input()\n\nfl-\u003eoif will always be zero on the input path, so there is no reason\nto test for that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbdd9a52e38a4a93adfa4d0278801cce4fad98eb",
      "tree": "a223ba84f33976b0d2c17d3177cbe976a3c948fc",
      "parents": [
        "33175d84ee3fa29991adb80513683e010769e807"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:34:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:37:26 2011 -0800"
      },
      "message": "ipv4: Remove redundant RCU locking in ip_check_mc().\n\nAll callers are under rcu_read_lock() protection already.\n\nRename to ip_check_mc_rcu() to make it even more clear.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33175d84ee3fa29991adb80513683e010769e807",
      "tree": "3731f61cf82451b6892cf1368701e57e35d92908",
      "parents": [
        "c5908939b2738bafe1b309bc2465cb9f2e6184c5",
        "6dfbd87a20a737641ef228230c77f4262434fa24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x_cmn.c\n"
    },
    {
      "commit": "bef6e7e76868ab454d5e83635a4a7a1961c74fb5",
      "tree": "1a7417b9dde942cc71f87c02688c6ac6b0e57a72",
      "parents": [
        "dcbcdf22f500ac6e4ec06485341024739b9dc241",
        "9179746652faf0aba07b8b7f770dcf29892a24c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:00:44 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:00:44 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "a252bebe22155313ccdadc20b79f67a239dc9ecb",
      "tree": "d0563c42cfa57029e3020fdae5afb458c9673dae",
      "parents": [
        "cc7e17ea0427a5df319e43606a3d6c53b13a6e9c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Mar 10 00:40:17 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 00:40:17 2011 -0800"
      },
      "message": "tcp: mark tcp_congestion_ops read_mostly\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc7e17ea0427a5df319e43606a3d6c53b13a6e9c",
      "tree": "3a4030df19e212619ce4437c2100a23a35e759dd",
      "parents": [
        "67e28ffd864eebbaf48b404d0a8cb4edd2bdc924"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:57:50 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:57:50 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in fib_validate_source().\n\nLike in commit 44713b67db10c774f14280c129b0d5fd13c70cf2\n(\"ipv4: Optimize flow initialization in output route lookup.\"\nwe can optimize the on-stack flow setup to only initialize\nthe members which are actually used.\n\nOtherwise we bzero the entire structure, then initialize\nexplicitly the first half of it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67e28ffd864eebbaf48b404d0a8cb4edd2bdc924",
      "tree": "acd2328f3d45db16b45841e796c23815570748f6",
      "parents": [
        "2f4e1b3970973bbb57cc3a3b9d67e67c1c648c37"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:42:07 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:42:07 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in input route lookup.\n\nLike in commit 44713b67db10c774f14280c129b0d5fd13c70cf2\n(\"ipv4: Optimize flow initialization in output route lookup.\"\nwe can optimize the on-stack flow setup to only initialize\nthe members which are actually used.\n\nOtherwise we bzero the entire structure, then initialize\nexplicitly the first half of it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8909c9ad8ff03611c9c96c9a92656213e4bb495b",
      "tree": "10b023c05503a9f6a165a23b8e65d8f3e70fd42d",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Mar 02 00:33:13 2011 +0300"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Mar 10 10:25:19 2011 +1100"
      },
      "message": "net: don\u0027t allow CAP_NET_ADMIN to load non-netdev kernel modules\n\nSince a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with\nCAP_NET_ADMIN may load any module from /lib/modules/.  This doesn\u0027t mean\nthat CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are\nlimited to /lib/modules/**.  However, CAP_NET_ADMIN capability shouldn\u0027t\nallow anybody load any module not related to networking.\n\nThis patch restricts an ability of autoloading modules to netdev modules\nwith explicit aliases.  This fixes CVE-2011-1019.\n\nArnd Bergmann suggested to leave untouched the old pre-v2.6.32 behavior\nof loading netdev modules by name (without any prefix) for processes\nwith CAP_SYS_MODULE to maintain the compatibility with network scripts\nthat use autoloading netdev modules by aliases like \"eth0\", \"wlan0\".\n\nCurrently there are only three users of the feature in the upstream\nkernel: ipip, ip_gre and sit.\n\n    root@albatros:~# capsh --drop\u003d$(seq -s, 0 11),$(seq -s, 13 34) --\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tfffffff800001000\n    CapEff:\tfffffff800001000\n    CapBnd:\tfffffff800001000\n    root@albatros:~# modprobe xfs\n    FATAL: Error inserting xfs\n    (/lib/modules/2.6.38-rc6-00001-g2bf4ca3/kernel/fs/xfs/xfs.ko): Operation not permitted\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit\n    sit: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit0\n    sit0      Link encap:IPv6-in-IPv4\n\t      NOARP  MTU:1480  Metric:1\n\n    root@albatros:~# lsmod | grep sit\n    sit                    10457  0\n    tunnel4                 2957  1 sit\n\nFor CAP_SYS_MODULE module loading is still relaxed:\n\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tffffffffffffffff\n    CapEff:\tffffffffffffffff\n    CapBnd:\tffffffffffffffff\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    xfs                   745319  0\n\nReference: https://lkml.org/lkml/2011/2/24/203\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2f4e1b3970973bbb57cc3a3b9d67e67c1c648c37",
      "tree": "d7b4d7d64ed8a02c3cd10064eb9d8e177d2be5c3",
      "parents": [
        "ee3f1aaf930b7cfbf3d34eff1e5e076393227e90"
      ],
      "author": {
        "name": "Mario Schuknecht",
        "email": "m.schuknecht@dresearch.de",
        "time": "Wed Mar 09 14:08:09 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:08:09 2011 -0800"
      },
      "message": "tcp: ioctl type SIOCOUTQNSD returns amount of data not sent\n\nIn contrast to SIOCOUTQ which returns the amount of data sent\nbut not yet acknowledged plus data not yet sent this patch only\nreturns the data not sent.\n\nFor various methods of live streaming bitrate control it may\nbe helpful to know how much data are in the tcp outqueue are\nnot sent yet.\n\nSigned-off-by: Mario Schuknecht \u003cm.schuknecht@dresearch.de\u003e\nSigned-off-by: Steffen Sledz \u003csledz@dresearch.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee3f1aaf930b7cfbf3d34eff1e5e076393227e90",
      "tree": "814621b53a1a26f00acd05e83f4b7be297abd607",
      "parents": [
        "bd33acc3cc525972ac779067e98efb26516c5b94"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:06:20 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:06:20 2011 -0800"
      },
      "message": "ipv4: Lookup multicast routes by rtable using helper.\n\nCreate a common helper for this operation, since we do\nit identically in three spots.\n\nSuggested by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c91afe1a984d43f922a6a70c7c390b7fb8de45e",
      "tree": "0c04726d20503aaea4560d5c3fa9e10f41de1951",
      "parents": [
        "e380688217feba40db450253d16e9fb2c59a625a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 13:27:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 13:27:16 2011 -0800"
      },
      "message": "ipv4: Fix erroneous uses of ifa_address.\n\nIn usual cases ifa_address \u003d\u003d ifa_local, but in the case where\nSIOCSIFDSTADDR sets the destination address on a point-to-point\nlink, ifa_address gets set to that destination address.\n\nTherefore we should use ifa_local when we want the local interface\naddress.\n\nThere were two cases where the selection was done incorrectly:\n\n1) When devinet_ioctl() does matching, it checks ifa_address even\n   though gifconf correct reported ifa_local to the user\n\n2) IN_DEV_ARP_NOTIFY handling sends a gratuitous ARP using\n   ifa_address instead of ifa_local.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b46ac4e77f3224a1befe032c77f1df31d1b42c4",
      "tree": "e0bd89b476e0f07e23f949366c283f7d7d6f9d4e",
      "parents": [
        "5217e8794619ac0a29151f29be20c7d6188303ba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 14:59:28 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 14:59:28 2011 -0800"
      },
      "message": "inetpeer: Don\u0027t disable BH for initial fast RCU lookup.\n\nIf modifications on other cpus are ok, then modifications to\nthe tree during lookup done by the local cpu are ok too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7ac8fc1d8d26c975c460a69aa7b9d5b5d5d29b0",
      "tree": "d7487dfcbe87a8e57ce666d9febd1199e46c7b46",
      "parents": [
        "1fc050a13473348f5c439de2bb41c8e92dba5588"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:03:21 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:03:21 2011 -0800"
      },
      "message": "ipv4: Fix scope value used in route src-address caching.\n\nWe have to use cfg-\u003efc_scope not the final nh_scope value.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fc050a13473348f5c439de2bb41c8e92dba5588",
      "tree": "b2cecf15f5de87997fb44b4a1025b48d473cd038",
      "parents": [
        "6118e35a7126c1062b1a0f6737b84b4fe4d5c8d4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 20:54:48 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 20:54:48 2011 -0800"
      },
      "message": "ipv4: Cache source address in nexthop entries.\n\nWhen doing output route lookups, we have to select the source address\nif the user has not specified an explicit one.\n\nFirst, if the route has an explicit preferred source address\nspecified, then we use that.\n\nOtherwise we search the route\u0027s outgoing interface for a suitable\naddress.\n\nThis search can be precomputed and cached at route insertion time.\n\nThe only missing part is that we have to refresh this precomputed\nvalue any time addresses are added or removed from the interface, and\nthis is accomplished by fib_update_nh_saddrs().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3be0686b6e2f953afe83626e871b4a7b0ceae49b",
      "tree": "6591cba7d393d6b0bc7b2c647a5a5f1f5d8728e8",
      "parents": [
        "4c8237cd76a0510677dc2e3dd0f8866ec8e0b1e5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:01:10 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:19:39 2011 -0800"
      },
      "message": "ipv4: Inline fib_semantic_match into check_leaf\n\nThis elimiates a lot of pure overhead due to parameter\npassing.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c8237cd76a0510677dc2e3dd0f8866ec8e0b1e5",
      "tree": "09f2b802b5f493bfd5345ec808f3b58300cab168",
      "parents": [
        "256ee435b9a9ee9cca69602fe8046b27ca99fbee"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 14:27:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 14:27:38 2011 -0800"
      },
      "message": "ipv4: Validate route entry type at insert instead of every lookup.\n\nfib_semantic_match() requires that if the type doesn\u0027t signal an\nautomatic error, it must be of type RTN_UNICAST, RTN_LOCAL,\nRTN_BROADCAST, RTN_ANYCAST, or RTN_MULTICAST.\n\nChecking this every route lookup is pointless work.\n\nInstead validate it during route insertion, via fib_create_info().\n\nAlso, there was nothing making sure the type value was less than\nRTN_MAX, so add that missing check while we\u0027re here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e2b61f78411be25f0b84f97d5b5d312f184dfd1",
      "tree": "6a5faa5fb7a2242bebacba4cdb5722b988d3e909",
      "parents": [
        "1018b5c01636c7c6bda31a719bda34fc631db29a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:47:09 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:55:31 2011 -0800"
      },
      "message": "ipv4: Remove flowi from struct rtable.\n\nThe only necessary parts are the src/dst addresses, the\ninterface indexes, the TOS, and the mark.\n\nThe rest is unnecessary bloat, which amounts to nearly\n50 bytes on 64-bit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1018b5c01636c7c6bda31a719bda34fc631db29a",
      "tree": "7e00298c11f53cd386221b566483bffd31414714",
      "parents": [
        "4157434c23f8f5126a2ffd3cc7b2c3bd928be075"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:35:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:35:25 2011 -0800"
      },
      "message": "ipv4: Set rt-\u003ert_iif more sanely on output routes.\n\nrt-\u003ert_iif is only ever inspected on input routes, for example DCCP\nuses this to populate a route lookup flow key when generating replies\nto another packet.\n\nTherefore, setting it to anything other than zero on output routes\nmakes no sense.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c0afdca44af795dd315c20cc525927a459abe30",
      "tree": "264a6e889d080da61a754b54e2771282c9fe9248",
      "parents": [
        "44713b67db10c774f14280c129b0d5fd13c70cf2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:26:07 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:26:07 2011 -0800"
      },
      "message": "ipv4: Get peer more cheaply in rt_init_metrics().\n\nWe know this is a new route object, so doing atomics and\nstuff makes no sense at all.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44713b67db10c774f14280c129b0d5fd13c70cf2",
      "tree": "2a5fac5524dbac7b30be6409751983b597a71766",
      "parents": [
        "65e8354ec13a45414045084166cb340c0d7ffe8a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:24:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:24:47 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in output route lookup.\n\nWe burn a lot of useless cycles, cpu store buffer traffic, and\nmemory operations memset()\u0027ing the on-stack flow used to perform\noutput route lookups in __ip_route_output_key().\n\nOnly the first half of the flow object members even matter for\noutput route lookups in this context, specifically:\n\nFIB rules matching cares about:\n\n\tdst, src, tos, iif, oif, mark\n\nFIB trie lookup cares about:\n\n\tdst\n\nFIB semantic match cares about:\n\n\ttos, scope, oif\n\nTherefore only initialize these specific members and elide the\nmemset entirely.\n\nOn Niagara2 this kills about ~300 cycles from the output route\nlookup path.\n\nLikely, we can take things further, since all callers of output\nroute lookups essentially throw away the on-stack flow they use.\nSo they don\u0027t care if we use it as a scratch-pad to compute the\nfinal flow key.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "65e8354ec13a45414045084166cb340c0d7ffe8a",
      "tree": "3a7d8b63a3765343c07d6f878b4ef389041da6f0",
      "parents": [
        "d72751ede1b9bf993d7bd3377305c8e9e36a3cc4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Mar 04 14:33:59 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 14:33:59 2011 -0800"
      },
      "message": "inetpeer: seqlock optimization\n\nDavid noticed :\n\n------------------\nEric, I was profiling the non-routing-cache case and something that\nstuck out is the case of calling inet_getpeer() with create\u003d\u003d0.\n\nIf an entry is not found, we have to redo the lookup under a spinlock\nto make certain that a concurrent writer rebalancing the tree does\nnot \"hide\" an existing entry from us.\n\nThis makes the case of a create\u003d\u003d0 lookup for a not-present entry\nreally expensive.  It is on the order of 600 cpu cycles on my\nNiagara2.\n\nI added a hack to not do the relookup under the lock when create\u003d\u003d0\nand it now costs less than 300 cycles.\n\nThis is now a pretty common operation with the way we handle COW\u0027d\nmetrics, so I think it\u0027s definitely worth optimizing.\n-----------------\n\nOne solution is to use a seqlock instead of a spinlock to protect struct\ninet_peer_base.\n\nAfter a failed avl tree lookup, we can easily detect if a writer did\nsome changes during our lookup. Taking the lock and redo the lookup is\nonly necessary in this case.\n\nNote: Add one private rcu_deref_locked() macro to place in one spot the\naccess to spinlock included in seqlock.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "e066008b38ca9ace1b6de8dbbac8ed460640791d",
      "tree": "1e5ea0c2ef3afd79199deced95570fe34240290b",
      "parents": [
        "d276055c4e90a7278cd5167ba9755c9b214bcff7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 11:24:19 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 11:24:19 2011 -0800"
      },
      "message": "ipv4: Fix __ip_dev_find() to use ifa_local instead of ifa_address.\n\nReported-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06dc94b1ed05f91e246315afeb1c652d6d0dc9ab",
      "tree": "7219badb5e324077ad9d6f22981dc155a9fe8610",
      "parents": [
        "1558310d4942427f4fd19e8ae26ca0878ab10879"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 10:38:01 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 10:38:01 2011 -0800"
      },
      "message": "ipv4: Fix crash in dst_release when udp_sendmsg route lookup fails.\n\nAs reported by Eric:\n\n[11483.697233] IP: [\u003cc12b0638\u003e] dst_release+0x18/0x60\n ...\n[11483.697741] Call Trace:\n[11483.697764]  [\u003cc12fc9d2\u003e] udp_sendmsg+0x282/0x6e0\n[11483.697790]  [\u003cc12a1c01\u003e] ? memcpy_toiovec+0x51/0x70\n[11483.697818]  [\u003cc12dbd90\u003e] ? ip_generic_getfrag+0x0/0xb0\n\nThe pointer passed to dst_release() is -EINVAL, that\u0027s because\nwe leave an error pointer in the local variable \"rt\" by accident.\n\nNULL it out to fix the bug.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5bfa787fb2c29cce0722500f90df29e049ff07fc",
      "tree": "21e90db4a0d480e9f9e9b931ee71657f2843a629",
      "parents": [
        "b23dd4fe42b455af5c6e20966b7d6959fa8352ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:56:30 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:56:30 2011 -0800"
      },
      "message": "ipv4: ip_route_output_key() is better as an inline.\n\nThis avoid a stack frame at zero cost.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "452edd598f60522c11f7f88fdbab27eb36509d1a",
      "tree": "df1510e9848e591a412c8bfa724253470c48c4c2",
      "parents": [
        "3872b284087081ee5cb0e4630954c2f7a2153cf5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "message": "xfrm: Return dst directly from xfrm_lookup()\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07df5294a753dfac2cc9f75e6159fc25fdc22149",
      "tree": "f37907c7f82d82131a7167e99fb3d2322c43b74f",
      "parents": [
        "7f6daa635c28ed686835a4080269e3fdc5a01012"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 01 23:00:58 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 23:00:58 2011 -0800"
      },
      "message": "inet: Replace left-over references to inet-\u003ecork\n\nThe patch to replace inet-\u003ecork with cork left out two spots in\n__ip_append_data that can result in bogus packet construction.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6d460cf0ed16d35aec48f823685e7a0e0283d84",
      "tree": "56c311e236e3856220660afe7eaadf76106e58c6",
      "parents": [
        "2774c131b1d19920b4587db1cfbd6f0750ad1f15"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 15:49:55 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 15:49:55 2011 -0800"
      },
      "message": "ipv4: Make icmp route lookup code a bit clearer.\n\nThe route lookup code in icmp_send() is slightly tricky as a result of\nhaving to handle all of the requirements of RFC 4301 host relookups.\n\nPull the route resolution into a seperate function, so that the error\nhandling and route reference counting is hopefully easier to see and\ncontained wholly within this new routine.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c131b1d19920b4587db1cfbd6f0750ad1f15",
      "tree": "3a0482c727cf4dcc046a211214f12459dcba8271",
      "parents": [
        "69ead7afdf6028184f713a77376ee26f8aaafdcd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:59:04 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:59:04 2011 -0800"
      },
      "message": "xfrm: Handle blackhole route creation via afinfo.\n\nThat way we don\u0027t have to potentially do this in every xfrm_lookup()\ncaller.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80c0bc9e37adfc892af82cb6aa8cace79f8a96cb",
      "tree": "0f4abc233d9661e85c7c7ecb064a75a8f0984f1f",
      "parents": [
        "a1414715f0ac905fb4b3a158ff6548d37bbe6165"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:36:37 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:36:37 2011 -0800"
      },
      "message": "xfrm: Kill XFRM_LOOKUP_WAIT flag.\n\nThis can be determined from the flow flags instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "273447b352e69c327efdecfd6e1d6fe3edbdcd14",
      "tree": "dae1e0778ca973c25b74fd3dc9728616d6e65b73",
      "parents": [
        "5df65e5567a497a28067019b8ff08f98fb026629"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:27:04 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:27:04 2011 -0800"
      },
      "message": "ipv4: Kill can_sleep arg to ip_route_output_flow()\n\nThis boolean state is now available in the flow flags.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "5df65e5567a497a28067019b8ff08f98fb026629"
}
