)]}'
{
  "log": [
    {
      "commit": "53ee7569ce8beb3fd3fc0817116c29298d72353f",
      "tree": "f3dcce10508c2126347e40b468fd6d3c3cc7006a",
      "parents": [
        "4d9dec4db2efbd7edb549bd02373995b67496983",
        "1b6e2ceb4745b5838cb94463131d19dbea6cf0e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 08:39:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 08:39: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: (27 commits)\n  bnx2x: allow device properly initialize after hotplug\n  bnx2x: fix DMAE timeout according to hw specifications\n  bnx2x: properly handle CFC DEL in cnic flow\n  bnx2x: call dev_kfree_skb_any instead of dev_kfree_skb\n  net: filter: move forward declarations to avoid compile warnings\n  pktgen: refactor pg_init() code\n  pktgen: use vzalloc_node() instead of vmalloc_node() + memset()\n  net: skb_trim explicitely check the linearity instead of data_len\n  ipv4: Give backtrace in ip_rt_bug().\n  net: avoid synchronize_rcu() in dev_deactivate_many\n  net: remove synchronize_net() from netdev_set_master()\n  rtnetlink: ignore NETDEV_RELEASE and NETDEV_JOIN event\n  net: rename NETDEV_BONDING_DESLAVE to NETDEV_RELEASE\n  bridge: call NETDEV_JOIN notifiers when add a slave\n  netpoll: disable netpoll when enslave a device\n  macvlan: Forward unicast frames in bridge mode to lowerdev\n  net: Remove linux/prefetch.h include from linux/skbuff.h\n  ipv4: Include linux/prefetch.h in fib_trie.c\n  netlabel: Remove prefetches from list handlers.\n  drivers/net: add prefetch header for prefetch users\n  ...\n\nFixed up prefetch parts: removed a few duplicate prefetch.h includes,\nfixed the location of the igb prefetch.h, took my version of the\nskbuff.h code without the extra parentheses etc.\n"
    },
    {
      "commit": "70c71606190e9115e5f8363bfcd164c582eb314a",
      "tree": "17c7f6b5df814b9ed319bc0d839969a0de741433",
      "parents": [
        "281dc5c5ec0fb299514567cbc358562649c1af95"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun May 22 16:47:17 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 21:41:57 2011 -0700"
      },
      "message": "Add appropriate \u003clinux/prefetch.h\u003e include for prefetch users\n\nAfter discovering that wide use of prefetch on modern CPUs\ncould be a net loss instead of a win, net drivers which were\nrelying on the implicit inclusion of prefetch.h via the list\nheaders showed up in the resulting cleanup fallout.  Give\nthem an explicit include via the following $0.02 script.\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #!/bin/bash\n MANUAL\u003d\"\"\n for i in `git grep -l \u0027prefetch(.*)\u0027 .` ; do\n \tgrep -q \u0027\u003clinux/prefetch.h\u003e\u0027 $i\n \tif [ $? \u003d 0 ] ; then\n \t\tcontinue\n \tfi\n\n \t(\techo \u0027?^#include \u003clinux/?a\u0027\n \t\techo \u0027#include \u003clinux/prefetch.h\u003e\u0027\n \t\techo .\n \t\techo w\n \t\techo q\n \t) | ed -s $i \u003e /dev/null 2\u003e\u00261\n \tif [ $? !\u003d 0 ]; then\n \t\techo $i needs manual fixup\n \t\tMANUAL\u003d\"$i $MANUAL\"\n \tfi\n done\n echo ------------------- 8\\\u003c----------------------\n echo vi $MANUAL\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Paul \u003cpaul.gortmaker@windriver.com\u003e\n[ Fixed up some incorrect #include placements, and added some\n  non-network drivers and the fib_trie.c case    - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c378a9c019cf5e017d1ed24954b54fae7bebd2bc",
      "tree": "4ac192542d8c5de29fc014f56b659a554f59017c",
      "parents": [
        "3137663dfb43bb3e3174e9da81db0c05f395fc1b"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sat May 21 07:16:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 21:01:20 2011 -0400"
      },
      "message": "ipv4: Give backtrace in ip_rt_bug().\n\nAdd a stack backtrace to the ip_rt_bug path for debugging\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "120a3d5c7c1f37752e7956d296a4f031f38cb217",
      "tree": "e89b30c792d36f6d771d7d97d369c7367f0ce2d7",
      "parents": [
        "474b4c4ff007c992ea7dc88ba2605aa124f8bafb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 20:53:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 20:53:43 2011 -0400"
      },
      "message": "ipv4: Include linux/prefetch.h in fib_trie.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "eb04f2f04ed1227c266b3219c0aaeda525639718",
      "tree": "7f224483a3cd0e439cd64a8666ec9dc5ed178a3d",
      "parents": [
        "5765040ebfc9a28d9dcfaaaaf3d25840d922de96",
        "80d02085d99039b3b7f3a73c8896226b0cb1ba07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)\n  Revert \"rcu: Decrease memory-barrier usage based on semi-formal proof\"\n  net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree\n  batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu\n  batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()\n  batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu\n  net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()\n  net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()\n  net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()\n  perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()\n  perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()\n  net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()\n  security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()\n  net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()\n  ...\n"
    },
    {
      "commit": "3fb72f1e6e6165c5f495e8dc11c5bbd14c73385c",
      "tree": "e47295482bb91c6f837de040cb4abe5b79be7019",
      "parents": [
        "c182f90bc1f22ce5039b8722e45621d5f96862c2"
      ],
      "author": {
        "name": "Micha Nelissen",
        "email": "micha@neli.hopto.org",
        "time": "Thu May 19 10:14:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 17:13:04 2011 -0400"
      },
      "message": "ipconfig wait for carrier\n\nv3 -\u003e v4: fix return boolean false instead of 0 for ic_is_init_dev\n\nCurrently the ip auto configuration has a hardcoded delay of 1 second.\nWhen (ethernet) link takes longer to come up (e.g. more than 3 seconds),\nnfs root may not be found.\n\nRemove the hardcoded delay, and wait for carrier on at least one network\ndevice.\n\nSigned-off-by: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75e308c894c4a5e47c005b8e821ae5f539ad2ef3",
      "tree": "2bd8e3e35f42854fc49a34282c7c83b280c63840",
      "parents": [
        "bb0cd2fb539c4e454ed32e32194acc03b75753f3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed May 18 21:16:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 16:17:51 2011 -0400"
      },
      "message": "net: ping: fix the coding style\n\nThe characters in a line should be no more than 80.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb0cd2fb539c4e454ed32e32194acc03b75753f3",
      "tree": "e47d019230025967f8f25bfabdfe6f51dce595c6",
      "parents": [
        "6b60d7b9df727726dfb7e59ca0a7caf14e81e0a2"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed May 18 21:16:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 16:17:51 2011 -0400"
      },
      "message": "net: ping: make local functions static\n\nAs these functions are only used in this file.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a48eff128865aa20520fa6e0e0c5fbd2ac50d712",
      "tree": "c60e376c3fca23bb215c977e42661187076dccbf",
      "parents": [
        "ed2361e66eec60645f8e4715fe39a42235ef43ae"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:42:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:42:43 2011 -0400"
      },
      "message": "ipv4: Pass explicit destination address to rt_bind_peer().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed2361e66eec60645f8e4715fe39a42235ef43ae",
      "tree": "96c6f4fa75456647d62c245b87b0d3ce97ce462b",
      "parents": [
        "6bd023f3dddfc7c5f660089598c10e1f4167083b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:38:54 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:38:54 2011 -0400"
      },
      "message": "ipv4: Pass explicit destination address to rt_get_peer().\n\nThis will next trickle down to rt_bind_peer().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6bd023f3dddfc7c5f660089598c10e1f4167083b",
      "tree": "925a7a31d3db434cfda8679cb46e466697ef8bdd",
      "parents": [
        "6882f933ccee5c3a86443ffc7621ce888b93ab6b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:32:03 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:32:03 2011 -0400"
      },
      "message": "ipv4: Make caller provide flowi4 key to inet_csk_route_req().\n\nThis way the caller can get at the fully resolved fl4-\u003e{daddr,saddr}\netc.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6882f933ccee5c3a86443ffc7621ce888b93ab6b",
      "tree": "07998f54bd459c5345491fbaeae03bd60540c6e8",
      "parents": [
        "12f4d0a8770ab26639091d0b2509b19681daad69"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:23:21 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:23:21 2011 -0400"
      },
      "message": "ipv4: Kill RT_CACHE_DEBUG\n\nIt\u0027s way past it\u0027s usefulness.  And this gets rid of a bunch\nof stray -\u003ert_{dst,src} references.\n\nEven the comment documenting the macro was inaccurate (stated\ndefault was 1 when it\u0027s 0).\n\nIf reintroduced, it should be done properly, with dynamic debug\nfacilities.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d1652cbdb9885e4d73972263e4cdbe1b0beebfe",
      "tree": "6ded7338cfec98f1adf0b5606dc9a09a0f701d9d",
      "parents": [
        "11e73de7ccc1c9c61c65f914a214cb6467966a51"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 17 17:28:02 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 17 17:28:02 2011 -0400"
      },
      "message": "ipv4: Don\u0027t use enums as bitmasks in ip_fragment.c\n\nNoticed by Joe Perches.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f56e03e8dc149bf0ac2888d6843584f48c8700fc",
      "tree": "071864cd821423ff1caf06d824823b533cbcab77",
      "parents": [
        "6dcae1eaee2b437536b2fe928a609f9589691ebf"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue May 17 00:16:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 17 14:16:58 2011 -0400"
      },
      "message": "net: ping: fix build failure\n\nIf CONFIG_PROC_SYSCTL\u003dn the building process fails:\n\n    ping.c:(.text+0x52af3): undefined reference to `inet_get_ping_group_range_net\u0027\n\nMoved inet_get_ping_group_range_net() to ping.c.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5173cc057787560c127c6e9737f308c833dc4ff3",
      "tree": "3ac8450239e5e9ee99e1a4bbef1626401dd76be9",
      "parents": [
        "485bf569ba798b4702bc2efbfd3a355fe2c8db04"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 16 08:37:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 16 14:49:14 2011 -0400"
      },
      "message": "ipv4: more compliant RFC 3168 support\n\nCommit 6623e3b24a5e (ipv4: IP defragmentation must be ECN aware) was an\nattempt to not lose \"Congestion Experienced\" (CE) indications when\nperforming datagram defragmentation.\n\nStefanos Harhalakis raised the point that RFC 3168 requirements were not\ncompletely met by this commit.\n\nIn particular, we MUST detect invalid combinations and eventually drop\nillegal frames.\n\nReported-by: Stefanos Harhalakis \u003cv13@v13.gr\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5be24ff62d238a3fdd5d15461b420cd72e78a14",
      "tree": "fcdeb6a8ee58e96547b41df593fd193894620709",
      "parents": [
        "1a8218e96271790a07dd7065a2ef173e0f67e328"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 18:01:21 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 16 13:49:05 2011 -0400"
      },
      "message": "ipv4: Trivial rt-\u003ert_src conversions in net/ipv4/route.c\n\nAt these points we have a fully filled in value via the IP\nheader the form of ip_hdr(skb)-\u003esaddr\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a8218e96271790a07dd7065a2ef173e0f67e328",
      "tree": "3bf2696f434e21c92809b4812fa34b57061ce783",
      "parents": [
        "534ea99b063de7c30262a8e22f0ab44dd7d11a71"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun May 15 21:26:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 16 11:49:39 2011 -0400"
      },
      "message": "net: ping: dont call udp_ioctl()\n\nudp_ioctl() really handles UDP and UDPLite protocols.\n\n1) It can increment UDP_MIB_INERRORS in case first_packet_length() finds\na frame with bad checksum.\n\n2) It has a dependency on sizeof(struct udphdr), not applicable to\nICMP/PING\n\nIf ping sockets need to handle SIOCINQ/SIOCOUTQ ioctl, this should be\ndone differently.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b1cb1f78a5e9d54c13e176020c3e8ded5d081ce",
      "tree": "bc29b3c20433a678af2868aa5a49a56b8b9468dc",
      "parents": [
        "89c64d755fbf04d7541d526931dc4b38301946d1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri May 13 22:59:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 15 01:22:21 2011 -0400"
      },
      "message": "net: ping: small changes\n\nping_table is not __read_mostly, since it contains one rwlock,\nand is static to ping.c\n\nping_port_rover \u0026 ping_v4_lookup are static\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7be799a70ba3dd90a59e8d2c72bbe06020005b3f",
      "tree": "08062fb33b9b09a935ef42eaaff6f2f67c67749e",
      "parents": [
        "8e36360ae876995e92d3a7538dda70548e64e685"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 17:31:02 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 17:31:02 2011 -0400"
      },
      "message": "ipv4: Remove rt-\u003ert_dst reference from ip_forward_options().\n\nAt this point iph-\u003edaddr equals what rt-\u003ert_dst would hold.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e36360ae876995e92d3a7538dda70548e64e685",
      "tree": "d477e086bb35d2de8a6f54b461abeb24be8a4f5b",
      "parents": [
        "22f728f8f311659b068e73ed92833c205651a47f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 17:29:41 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 17:29:41 2011 -0400"
      },
      "message": "ipv4: Remove route key identity dependencies in ip_rt_get_source().\n\nPass in the sk_buff so that we can fetch the necessary keys from\nthe packet header when working with input routes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22f728f8f311659b068e73ed92833c205651a47f",
      "tree": "cab06ba8b08c8c88a021d597c031c1ef24fae732",
      "parents": [
        "0374d9ceb02eb12fcd65be9dd5df9c911ef93424"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 17:21:27 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 17:21:27 2011 -0400"
      },
      "message": "ipv4: Always call ip_options_build() after rest of IP header is filled in.\n\nThis will allow ip_options_build() to reliably look at the values of\niph-\u003e{daddr,saddr}\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0374d9ceb02eb12fcd65be9dd5df9c911ef93424",
      "tree": "3731be10072252825feea225a082b2ee4029c293",
      "parents": [
        "48e20467227fe540e6bbf3d98df98c2c0fca10f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 17:15:50 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 17:15:50 2011 -0400"
      },
      "message": "ipv4: Kill spurious write to iph-\u003edaddr in ip_forward_options().\n\nThis code block executes when opt-\u003esrr_is_hit is set.  It will be\nset only by ip_options_rcv_srr().\n\nip_options_rcv_srr() walks until it hits a matching nexthop in the SRR\noption addresses, and when it matches one 1) looks up the route for\nthat nexthop and 2) on route lookup success it writes that nexthop\nvalue into iph-\u003edaddr.\n\nip_forward_options() runs later, and again walks the SRR option\naddresses looking for the option matching the destination of the route\nstored in skb_rtable().  This route will be the same exact one looked\nup for the nexthop by ip_options_rcv_srr().\n\nTherefore \"rt-\u003ert_dst \u003d\u003d iph-\u003edaddr\" must be true.\n\nAll it really needs to do is record the route\u0027s source address in the\nmatching SRR option adddress.  It need not write iph-\u003edaddr again,\nsince that has already been done by ip_options_rcv_srr() as detailed\nabove.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c319b4d76b9e583a5d88d6bf190e079c4e43213d",
      "tree": "22fcc6f1c671908d640145c1f82e5290cd40f715",
      "parents": [
        "f20190302e3e697a166cc28ebef43058749dedda"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Fri May 13 10:01:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 16:08:13 2011 -0400"
      },
      "message": "net: ipv4: add IPPROTO_ICMP socket kind\n\nThis patch adds IPPROTO_ICMP socket kind.  It makes it possible to send\nICMP_ECHO messages and receive the corresponding ICMP_ECHOREPLY messages\nwithout any special privileges.  In other words, the patch makes it\npossible to implement setuid-less and CAP_NET_RAW-less /bin/ping.  In\norder not to increase the kernel\u0027s attack surface, the new functionality\nis disabled by default, but is enabled at bootup by supporting Linux\ndistributions, optionally with restriction to a group or a group range\n(see below).\n\nSimilar functionality is implemented in Mac OS X:\nhttp://www.manpagez.com/man/4/icmp/\n\nA new ping socket is created with\n\n    socket(PF_INET, SOCK_DGRAM, PROT_ICMP)\n\nMessage identifiers (octets 4-5 of ICMP header) are interpreted as local\nports. Addresses are stored in struct sockaddr_in. No port numbers are\nreserved for privileged processes, port 0 is reserved for API (\"let the\nkernel pick a free number\"). There is no notion of remote ports, remote\nport numbers provided by the user (e.g. in connect()) are ignored.\n\nData sent and received include ICMP headers. This is deliberate to:\n1) Avoid the need to transport headers values like sequence numbers by\nother means.\n2) Make it easier to port existing programs using raw sockets.\n\nICMP headers given to send() are checked and sanitized. The type must be\nICMP_ECHO and the code must be zero (future extensions might relax this,\nsee below). The id is set to the number (local port) of the socket, the\nchecksum is always recomputed.\n\nICMP reply packets received from the network are demultiplexed according\nto their id\u0027s, and are returned by recv() without any modifications.\nIP header information and ICMP errors of those packets may be obtained\nvia ancillary data (IP_RECVTTL, IP_RETOPTS, and IP_RECVERR). ICMP source\nquenches and redirects are reported as fake errors via the error queue\n(IP_RECVERR); the next hop address for redirects is saved to ee_info (in\nnetwork order).\n\nsocket(2) is restricted to the group range specified in\n\"/proc/sys/net/ipv4/ping_group_range\".  It is \"1 0\" by default, meaning\nthat nobody (not even root) may create ping sockets.  Setting it to \"100\n100\" would grant permissions to the single group (to either make\n/sbin/ping g+s and owned by this group or to grant permissions to the\n\"netadmins\" group), \"0 4294967295\" would enable it for the world, \"100\n4294967295\" would enable it for the users, but not daemons.\n\nThe existing code might be (in the unlikely case anyone needs it)\nextended rather easily to handle other similar pairs of ICMP messages\n(Timestamp/Reply, Information Request/Reply, Address Mask Request/Reply\netc.).\n\nUserspace ping util \u0026 patch for it:\nhttp://openwall.info/wiki/people/segoon/ping\n\nFor Openwall GNU/*/Linux it was the last step on the road to the\nsetuid-less distro.  A revision of this patch (for RHEL5/OpenVZ kernels)\nis in use in Owl-current, such as in the 2011/03/12 LiveCD ISOs:\nhttp://mirrors.kernel.org/openwall/Owl/current/iso/\n\nInitially this functionality was written by Pavel Kankovsky for\nLinux 2.4.32, but unfortunately it was never made public.\n\nAll ping options (-b, -p, -Q, -R, -s, -t, -T, -M, -I), are tested with\nthe patch.\n\nPATCH v3:\n    - switched to flowi4.\n    - minor changes to be consistent with raw sockets code.\n\nPATCH v2:\n    - changed ping_debug() to pr_debug().\n    - removed CONFIG_IP_PING.\n    - removed ping_seq_fops.owner field (unused for procfs).\n    - switched to proc_net_fops_create().\n    - switched to %pK in seq_printf().\n\nPATCH v1:\n    - fixed checksumming bug.\n    - CAP_NET_RAW may not create icmp sockets anymore.\n\nRFC v2:\n    - minor cleanups.\n    - introduced sysctl\u0027able group range to restrict socket(2).\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72a8f97bf2dfe1b0f02ba8dbaed7d6b76657aae3",
      "tree": "9f736a6ab5b61bb0fc053c4284282c2b19318529",
      "parents": [
        "5c5095494fb545f53b80cbb7539679a10a3472a6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 23:03:46 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 23:03:46 2011 -0400"
      },
      "message": "ipv4: Fix \u0027iph\u0027 use before set.\n\nI swear none of my compilers warned about this, yet it is so\nobvious.\n\n\u003e net/ipv4/ip_forward.c: In function \u0027ip_forward\u0027:\n\u003e net/ipv4/ip_forward.c:87: warning: \u0027iph\u0027 may be used uninitialized in this function\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "def57687e9579b7a797681990dff763c411f5347",
      "tree": "24e1b96d286eda163cf98cf4d5eb5a1d24b34737",
      "parents": [
        "c30883bdff0b3544900a5c4aba18b8985436878f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 19:34:30 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 19:34:30 2011 -0400"
      },
      "message": "ipv4: Elide use of rt-\u003ert_dst in ip_forward()\n\nNo matter what kind of header mangling occurs due to IP options\nprocessing, rt-\u003ert_dst will always equal iph-\u003edaddr in the packet.\n\nSo we can safely use iph-\u003edaddr instead of rt-\u003ert_dst here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c30883bdff0b3544900a5c4aba18b8985436878f",
      "tree": "3446d93477df0997410dc770a2a7f08e233025c2",
      "parents": [
        "10949550bd1e50cc91c0f5085f7080a44b0871fe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 19:30:58 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 19:30:58 2011 -0400"
      },
      "message": "ipv4: Simplify iph-\u003edaddr overwrite in ip_options_rcv_srr().\n\nWe already copy the 4-byte nexthop from the options block into\nlocal variable \"nexthop\" for the route lookup.\n\nRe-use that variable instead of memcpy()\u0027ing again when assigning\nto iph-\u003edaddr after the route lookup succeeds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10949550bd1e50cc91c0f5085f7080a44b0871fe",
      "tree": "e5a1862145c488c6abf9d12cc52a1db90481823d",
      "parents": [
        "b2a103e6d0afa432dff66b36473c5a55b6b0376c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 19:26:57 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 19:26:57 2011 -0400"
      },
      "message": "ipv4: Kill spurious opt-\u003esrr check in ip_options_rcv_srr().\n\nAll call sites conditionalize the call to ip_options_rcv_srr()\nwith a check of opt-\u003esrr, so no need to check it again there.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c709f8fb43e07a0403bba4a8ca7ba00ab874994",
      "tree": "9efc1e2bf6930851f0224f525b6cde0f5297fa61",
      "parents": [
        "0074820978004cc484b132d7a9ce0df414660d9d",
        "9bbc052d5e63512b0ce4e201ea97e12fba9fda82"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 11 14:26:15 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 11 14:26:58 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-3.6\n\nConflicts:\n\tdrivers/net/benet/be_main.c\n"
    },
    {
      "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": "1fc19aff84edf97753c58cf4b858c6c4fdb246fa",
      "tree": "15d4eb3545a1edf20103bb1ef927d7e7ba7b6c2e",
      "parents": [
        "8f01cb0827c84bd9c4866b849415b3aa6f0428df"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 09 20:55:03 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 15:03:01 2011 -0700"
      },
      "message": "net: fix two lockdep splats\n\nCommit e67f88dd12f6 (net: dont hold rtnl mutex during netlink dump\ncallbacks) switched rtnl protection to RCU, but we forgot to adjust two\nrcu_dereference() lockdep annotations :\n\ninet_get_link_af_size() or inet_fill_link_af() might be called with\nrcu_read_lock or rtnl held, so use rcu_dereference_rtnl()\ninstead of rtnl_dereference()\n\nReported-by: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f01cb0827c84bd9c4866b849415b3aa6f0428df",
      "tree": "b98ccf5aeb28e93d564513f441a81dc062fb44c5",
      "parents": [
        "5fc3590c81bd233c25fbe127cdcf7a8e26e12378"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 15:13:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 13:32:48 2011 -0700"
      },
      "message": "ipv4: xfrm: Eliminate -\u003ert_src reference in policy code.\n\nRearrange xfrm4_dst_lookup() so that it works by calling a helper\nfunction __xfrm_dst_lookup() that takes an explicit flow key storage\narea as an argument.\n\nUse this new helper in xfrm4_get_saddr() so we can fetch the selected\nsource address from the flow instead of from rt-\u003ert_src\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79ab053145ae10edf8f0809d1c788b853c7f6ef1",
      "tree": "3817af51a5679168542395dbc69d3fa4cddf175a",
      "parents": [
        "9f6abb5f175bdb9ecfd390000a631bf0abf2fedb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 13:31:04 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 13:32:47 2011 -0700"
      },
      "message": "ipv4: udp: Eliminate remaining uses of rt-\u003ert_src\n\nWe already track and pass around the correct flow key,\nso simply use it in udp_send_skb().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6abb5f175bdb9ecfd390000a631bf0abf2fedb",
      "tree": "696cd97e0cdc67c9a0dcbf0ad1e2fd0626e221ee",
      "parents": [
        "0a5ebb8000c5362be368df9d197943deb06b6916"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 13:28:22 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 13:32:46 2011 -0700"
      },
      "message": "ipv4: icmp: Eliminate remaining uses of rt-\u003ert_src\n\nOn input packets, rt-\u003ert_src always equals ip_hdr(skb)-\u003esaddr\n\nAnything that mangles or otherwise changes the IP header must\nrelookup the route found at skb_rtable().  Therefore this\ninvariant must always hold true.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a5ebb8000c5362be368df9d197943deb06b6916",
      "tree": "63910ddcbd4672dd7705e524a3db8f1324233365",
      "parents": [
        "1c3319fb69c29376fe23c1aa0cd7cb6df91c7883"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 13:22:43 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 13:32:46 2011 -0700"
      },
      "message": "ipv4: Pass explicit daddr arg to ip_send_reply().\n\nThis eliminates an access to rt-\u003ert_src.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5fca6086511294653a9e821f8e22f041415ba7b",
      "tree": "1ab025012bf44402e7f816428461d8def54016c1",
      "parents": [
        "77968b78242ee25e2a4d759f0fca8dd52df6d479"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 17:24:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:24:07 2011 -0700"
      },
      "message": "ipv4: Pass flow key down into ip_append_*().\n\nThis way rt-\u003ert_dst accesses are unnecessary.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77968b78242ee25e2a4d759f0fca8dd52df6d479",
      "tree": "6de21f3a2efe49cb30ea8109fdfc79d30d6b27a3",
      "parents": [
        "e474995f290ff7bc236b549aa9a89ae445ee5b1b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 17:12:19 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:24:06 2011 -0700"
      },
      "message": "ipv4: Pass flow keys down into datagram packet building engine.\n\nThis way ip_output.c no longer needs rt-\u003ert_{src,dst}.\n\nWe already have these keys sitting, ready and waiting, on the stack or\nin a socket structure.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e474995f290ff7bc236b549aa9a89ae445ee5b1b",
      "tree": "50c16643d9b828d95f795863653a12739e111224",
      "parents": [
        "eed2a12f1ed9aabf0676f4d0db34aad51976c5c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 16:38:45 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:12:48 2011 -0700"
      },
      "message": "udp: Use flow key information instead of rt-\u003ert_{src,dst}\n\nWe have two cases.\n\nEither the socket is in TCP_ESTABLISHED state and connect() filled\nin the inet socket cork flow, or we looked up the route here and\nused an on-stack flow.\n\nTrack which one it was, and use it to obtain src/dst addrs.\n\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": "c5216cc70fa769e5a51837f2cf07c4a0aa734fcf",
      "tree": "5481322970570bb58f42b475a618ecd137921c4c",
      "parents": [
        "f1c0a276ea1786213bda2313cd9034f3a23f2e77"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:36:30 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:29 2011 -0700"
      },
      "message": "tcp: Use cork flow info instead of rt-\u003ert_dst in tcp_v4_get_peer()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea4fc0d6193ff56fcef39b0d2210d402a7acb5f0",
      "tree": "175b9bca17331112f7aa7c6340b69320426f750b",
      "parents": [
        "d9d8da805dcb503ef8ee49918a94d49085060f23"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:30:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:28 2011 -0700"
      },
      "message": "ipv4: Don\u0027t use rt-\u003ert_{src,dst} in ip_queue_xmit().\n\nNow we can pick it out of the provided flow key.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9d8da805dcb503ef8ee49918a94d49085060f23",
      "tree": "ede7d2af74c2982eb24430079aea63c05a3420e9",
      "parents": [
        "0e734419923bd8e599858f8fc196c7804bb85564"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:23:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:28 2011 -0700"
      },
      "message": "inet: Pass flowi to -\u003equeue_xmit().\n\nThis allows us to acquire the exact route keying information from the\nprotocol, however that might be managed.\n\nIt handles all of the possibilities, from the simplest case of storing\nthe key in inet-\u003ecork.fl to the more complex setup SCTP has where\nindividual transports determine the flow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e734419923bd8e599858f8fc196c7804bb85564",
      "tree": "5e8dfaeb84c610a1c4086ed88c26b73e4ba87197",
      "parents": [
        "77357a95522ba645bbfd65253b34317c824103f9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:03 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:03 2011 -0700"
      },
      "message": "ipv4: Use inet_csk_route_child_sock() in DCCP and TCP.\n\nOperation order is now transposed, we first create the child\nsocket then we try to hook up the route.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77357a95522ba645bbfd65253b34317c824103f9",
      "tree": "63eb29d2efad915add7693445a215eef890c4191",
      "parents": [
        "8663c938ceb72f47941c95ff0ea491ebbdd68f26"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 14:34:22 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 14:34:22 2011 -0700"
      },
      "message": "ipv4: Create inet_csk_route_child_sock().\n\nThis is just like inet_csk_route_req() except that it operates after\nwe\u0027ve created the new child socket.\n\nIn this way we can use the new socket\u0027s cork flow for proper route\nkey storage.\n\nThis will be used by DCCP and TCP child socket creation handling.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b57ae01a8a8446dbbed7365c9b05aef1fc6dea20",
      "tree": "14e18d9c67111e2fe44bad96b062794f3c14c98d",
      "parents": [
        "6e869138101bc607e4780187210b79d531f9b2ce"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 16:24:06 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 14:05:14 2011 -0700"
      },
      "message": "ipv4: Use cork flow in ip_queue_xmit()\n\nAll invokers of ip_queue_xmit() must make certain that the\nsocket is locked.  All of SCTP, TCP, DCCP, and L2TP now make\nsure this is the case.\n\nTherefore we can use the cork flow during output route lookup in\nip_queue_xmit() when the socket route check fails.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e869138101bc607e4780187210b79d531f9b2ce",
      "tree": "fe85b2fb73b2658684d27f7d90188f8d735ad9c1",
      "parents": [
        "3038eeac027d8ec62e4936143498f2b37baf4cb5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 16:18:04 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 14:05:13 2011 -0700"
      },
      "message": "ipv4: Use cork flow in inet_sk_{reselect_saddr,rebuild_header}()\n\nThese two functions must be invoked only when the socket is locked\n(because socket identity modifications are made non-atomically).\n\nTherefore we can use the cork flow for output route lookups.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3038eeac027d8ec62e4936143498f2b37baf4cb5",
      "tree": "6bbc1d63430437c9f0d3cd65c6d1b2254515834a",
      "parents": [
        "fdbb0f076b065a0c753ba26925f10357505f1d42"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:27:25 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:48:57 2011 -0700"
      },
      "message": "ipv4: Lock socket and use cork flow in ip4_datagram_connect().\n\nThis is to make sure that an l2tp socket\u0027s inet cork flow is\nfully filled in, when it\u0027s encapsulated in UDP.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da905bd1d5a6480d206f4b3dc61243f95adfae2c",
      "tree": "4446793e7431afc784f10776516da033d603a542",
      "parents": [
        "2c42758cf6683e9c1657d20dcf2a7edd323d98ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 16:11:19 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:18:54 2011 -0700"
      },
      "message": "tcp: Use cork flow in tcp_v4_connect()\n\nSince this is invoked from inet_stream_connect() the socket is locked\nand therefore this usage is safe.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10d50e748d983ff1003e0cf556ea17fa8f32c382",
      "tree": "4dc0df6ac2524b68e2b5d360ac5e24f3aa0051c4",
      "parents": [
        "7519cce48fb0a314dac473bdfba203b787435857"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 18 11:45:08 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:59 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(ip_mc_socklist_reclaim) to kfree_rcu()\n\nThe rcu callback ip_mc_socklist_reclaim() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(ip_mc_socklist_reclaim).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "7519cce48fb0a314dac473bdfba203b787435857",
      "tree": "ee21fd79073bf20714b352eb912eb59c117bf148",
      "parents": [
        "42ea299d3f1941f8c3dbc1fe031d682f8ad45005"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 18 11:44:46 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:58 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(ip_sf_socklist_reclaim) to kfree_rcu()\n\nThe rcu callback ip_sf_socklist_reclaim() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(ip_sf_socklist_reclaim).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "42ea299d3f1941f8c3dbc1fe031d682f8ad45005",
      "tree": "ae0317d700cf49ca48c33935140b65f72a9db229",
      "parents": [
        "dad178fcd5b295f5f350a46a5eaf2f28e847bb5a"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 18 11:44:08 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:57 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(ip_mc_list_reclaim) to kfree_rcu()\n\nThe rcu callback ip_mc_list_reclaim() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(ip_mc_list_reclaim).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "bceb0f4512d448763fe98c9f37504c98bbebbed6",
      "tree": "b16a2987904949d9e02630d21e31086c7b6d4914",
      "parents": [
        "4670994d150a86ebd53ab353a2af517c5465bfaf"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 18 11:42:34 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:56 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(__leaf_info_free_rcu) to kfree_rcu()\n\nThe rcu callback __leaf_info_free_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(__leaf_info_free_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "4670994d150a86ebd53ab353a2af517c5465bfaf",
      "tree": "a105dc8907233df44e86496a38761a957a8ef106",
      "parents": [
        "3acb458c32293405cf68985b7b3ac5dc0a5e7929"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 18 11:42:11 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:55 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(fc_rport_free_rcu) to kfree_rcu()\n\nThe rcu callback fc_rport_free_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(fc_rport_free_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "706527280ec38fcdcd0466f10b607105fd23801b",
      "tree": "96b1b0c20d214d87fd9d93b9b4c3d8645183705a",
      "parents": [
        "b80d72261aec5e763a76497eba5fddc84833a154"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 16:01:15 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 16:01:15 2011 -0700"
      },
      "message": "ipv4: Initialize cork-\u003eopt using NULL not 0.\n\nNoticed by Joe Perches.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b80d72261aec5e763a76497eba5fddc84833a154",
      "tree": "08480c09ea98195bbc48d5e52282b7129ccfd98b",
      "parents": [
        "bdc712b4c2baf9515887de3a52e7ecd89fafc0c7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 15:06:01 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 15:37:57 2011 -0700"
      },
      "message": "ipv4: Initialize on-stack cork more efficiently.\n\nip_setup_cork() explicitly initializes every member of\ninet_cork except flags, addr, and opt.  So we can simply\nset those three members to zero instead of using a\nmemset() via an empty struct assignment.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "bdc712b4c2baf9515887de3a52e7ecd89fafc0c7",
      "tree": "3ce09227fb75593256403eaa459d178a2668db25",
      "parents": [
        "ad638bd16d91012a512979327b5c17c867d260c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 15:02:07 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 15:37:57 2011 -0700"
      },
      "message": "inet: Decrease overhead of on-stack inet_cork.\n\nWhen we fast path datagram sends to avoid locking by putting\nthe inet_cork on the stack we use up lots of space that isn\u0027t\nnecessary.\n\nThis is because inet_cork contains a \"struct flowi\" which isn\u0027t\nused in these code paths.\n\nSplit inet_cork to two parts, \"inet_cork\" and \"inet_cork_full\".\nOnly the latter of which has the \"struct flowi\" and is what is\nstored in inet_sock.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "7143b7d41218d4fc2ea33e6056c73609527ae687",
      "tree": "9a842daee1deb57a2c8084bc5d300f6d8428fe34",
      "parents": [
        "90864fbc7639d7a2300c67a18c9fb9fbcf7d51d2",
        "87e9af6cc67d842cd92b52b81f3f14e665e7ab05"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 14:59:02 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 14:59:02 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/tg3.c\n"
    },
    {
      "commit": "1c5cae815d19ffe02bdfda1260949ef2b1806171",
      "tree": "d47a73c05afacd21985abb8df9862136385c58f0",
      "parents": [
        "e8920674979705392abc4db4ebbe78feb68a4da1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Apr 30 01:21:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 10:57:45 2011 -0700"
      },
      "message": "net: call dev_alloc_name from register_netdevice\n\nForce dev_alloc_name() to be called from register_netdevice() by\ndev_get_valid_name(). That allows to remove multiple explicit\ndev_alloc_name() calls.\n\nThe possibility to call dev_alloc_name in advance remains.\n\nThis also fixes veth creation regresion caused by\n84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.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": "cbb1e85f9cfd2bd9b7edfd21d167e89a4279faf0",
      "tree": "352ce07ff62b9fc38212d72f3d1b0d124dafea39",
      "parents": [
        "9a1b9496cd2b013f74885218947fa7120d53e74c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 12:33:34 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 12:55:07 2011 -0700"
      },
      "message": "ipv4: Kill rt-\u003ert_{src, dst} usage in IP GRE tunnels.\n\nFirst, make callers pass on-stack flowi4 to ip_route_output_gre()\nso they can get at the fully resolved flow key.\n\nNext, use that in ipgre_tunnel_xmit() to avoid the need to use\nrt-\u003ert_{dst,src}.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a1b9496cd2b013f74885218947fa7120d53e74c",
      "tree": "a48d2fdf14a7445a15a7553ef8b7a8732b5bcac1",
      "parents": [
        "dd927a2694ee412b440284dd72dd8e32caada3fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 12:18:54 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 12:18:54 2011 -0700"
      },
      "message": "ipv4: Pass explicit saddr/daddr args to ipmr_get_route().\n\nThis eliminates the need to use rt-\u003ert_{src,dst}.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd927a2694ee412b440284dd72dd8e32caada3fc",
      "tree": "4f3c2b208d3f61a268139561e9d94f9d106b3946",
      "parents": [
        "69458cb194e82972347a004054e0baed719ed008"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 12:03:30 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 12:03:30 2011 -0700"
      },
      "message": "ipv4: In ip_build_and_send_pkt() use \u0027saddr\u0027 and \u0027daddr\u0027 args passed in.\n\nInstead of rt-\u003ert_{dst,src}\n\nThe only tricky part is source route option handling.\n\nIf the source route option is enabled we can\u0027t just use plain \u0027daddr\u0027,\nwe have to use opt-\u003eopt.faddr.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69458cb194e82972347a004054e0baed719ed008",
      "tree": "29e9a97a953994a86075cdf06e55ac1fe02a9733",
      "parents": [
        "9cddf15f18865c4f7124d829be41799f59aaa5cf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 11:10:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 04 11:10:28 2011 -0700"
      },
      "message": "ipv4: Use flowi4-\u003e{daddr,saddr} in ipip_tunnel_xmit().\n\nInstead of rt-\u003ert_{dst,src}\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "492f64ce12e259abd85714d05b885e105bd8aeef",
      "tree": "cb4bae9774b7df1bb01aa266cc59fa557f1defd5",
      "parents": [
        "f4bfd99f8519e2d35541cc4fc383b1b3141a657a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:53:12 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:53:12 2011 -0700"
      },
      "message": "ipv4: Use flowi4\u0027s {saddr,daddr} in igmpv3_newpack() and igmp_send_report()\n\nInstead of rt-\u003ert_{src,dst}\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e4543db29fb85496a122b965d6482c8d1a2bfe",
      "tree": "3e49d61a1202e1b3c8c71e422f3fd8e4f2616d01",
      "parents": [
        "f1390160ddcd64a3cfd48b3280d0a616a31b9520"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:25:42 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:25:42 2011 -0700"
      },
      "message": "ipv4: Make caller provide on-stack flow key to ip_route_output_ports().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "475949d8e86bbde5ea3ffa4d95e022ca69233b14",
      "tree": "5e29156df321b617366921f64532fc353019b238",
      "parents": [
        "417da66fa9d2f14b1a90b04095413b87907d8183"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 19:45:15 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 19:45:15 2011 -0700"
      },
      "message": "ipv4: Renamt struct rtable\u0027s rt_tos to rt_key_tos.\n\nTo more accurately reflect that it is purely a routing\ncache lookup key and is used in no other context.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "417da66fa9d2f14b1a90b04095413b87907d8183",
      "tree": "a116f41ccc3d0d0341efdfc8c0c35eac7cddcf27",
      "parents": [
        "57a503c61db077b923e23f36050c02166a4a1db2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 19:42:43 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 19:42:43 2011 -0700"
      },
      "message": "ipv4: Rework ipmr_rt_fib_lookup() flow key initialization.\n\nUse information from the skb as much as possible, currently\nthis means daddr, saddr, and TOS.\n\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": "5615787257742aab42ecf17c11e3244d9536a48d",
      "tree": "f9c8a74398964690e3b9583cec99dfc7e7b45511",
      "parents": [
        "14ad2513ed5b709e566a853f4b515d91c5d83311"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 14:37:45 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 14:37:45 2011 -0700"
      },
      "message": "ipv4: Make sure flowi4-\u003e{saddr,daddr} are always set.\n\nSlow path output route resolution always makes sure that\n-\u003e{saddr,daddr} are set, and also if we trigger into IPSEC resolution\nwe initialize them as well, because xfrm_lookup() expects them to be\nfully resolved.\n\nBut if we hit the fast path and flowi4-\u003eflowi4_proto is zero, we won\u0027t\ndo this initialization.\n\nTherefore, move the IPSEC path initialization to the route cache\nlookup fast path to make sure these are always set.\n\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": "ad246c992bea6d33c6421ba1f03e2b405792adf9",
      "tree": "28afc1b370d856a63a3cd792fc292996c0315c13",
      "parents": [
        "7d36a991e8d36b8ae87e2aa1158d3735e656253b"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Tue Apr 26 15:25:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 12:44:11 2011 -0700"
      },
      "message": "ipv4, ipv6, bonding: Restore control over number of peer notifications\n\nFor backward compatibility, we should retain the module parameters and\nsysfs attributes to control the number of peer notifications\n(gratuitous ARPs and unsolicited NAs) sent after bonding failover.\nAlso, it is possible for failover to take place even though the new\nactive slave does not have link up, and in that case the peer\nnotification should be deferred until it does.\n\nChange ipv4 and ipv6 so they do not automatically send peer\nnotifications on bonding failover.\n\nChange the bonding driver to send separate NETDEV_NOTIFY_PEERS\nnotifications when the link is up, as many times as requested.  Since\nit does not directly control which protocols send notifications, make\nnum_grat_arp and num_unsol_na aliases for a single parameter.  Bump\nthe bonding version number and update its documentation.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nAcked-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4fb3d74d7a17833de2ba8cbd4f029b30feb4825",
      "tree": "bc1c183a1c611dbf99c53c9138ff5d208b73079e",
      "parents": [
        "072d8c94142a3a95151774975f6c1fd1dc1f1e1b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:50:32 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:50:32 2011 -0700"
      },
      "message": "ipv4: Get route daddr from flow key in tcp_v4_connect().\n\nNow that output route lookups update the flow with\ndestination address selection, we can fetch it from\nfl4-\u003edaddr instead of rt-\u003ert_dst\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "072d8c94142a3a95151774975f6c1fd1dc1f1e1b",
      "tree": "12b59dc795d4da572e56a80a364883c2eaa2a01f",
      "parents": [
        "87321c839fb4a65b5d78c16d79d1674cf223a452"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:50:09 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:50:09 2011 -0700"
      },
      "message": "ipv4: Get route daddr from flow key in inet_csk_route_req().\n\nNow that output route lookups update the flow with\ndestination address selection, we can fetch it from\nfl4-\u003edaddr instead of rt-\u003ert_dst\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87321c839fb4a65b5d78c16d79d1674cf223a452",
      "tree": "2cbaa499631a2a3e3dc74dcb0279a7fd98a9f9e1",
      "parents": [
        "91ab0b60a12833b4715b838474f23496af8de30c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:49:45 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:49:45 2011 -0700"
      },
      "message": "ipv4: Get route daddr from flow key in ip4_datagram_connect().\n\nNow that output route lookups update the flow with\ndestination address selection, we can fetch it from\nfl4-\u003edaddr instead of rt-\u003ert_dst\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4071cfff84c5b084762fe288781cd7faab14cb4b",
      "tree": "c3088ff582b9509931eb6118463b5bf252530e18",
      "parents": [
        "a406b611b5f26a18773e4237d79f6df3eaed1d32"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:17:31 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:17:31 2011 -0700"
      },
      "message": "ipv4: Fetch route saddr from flow key in tcp_v4_connect().\n\nNow that output route lookups update the flow with\nsource address selection, we can fetch it from\nfl4-\u003esaddr instead of rt-\u003ert_src\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a406b611b5f26a18773e4237d79f6df3eaed1d32",
      "tree": "77acaece1fcb20ba088e7a4b3bc9b5a666705a5f",
      "parents": [
        "b883187785004cacea053569f1655fada0dfc299"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:17:16 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:17:16 2011 -0700"
      },
      "message": "ipv4: Fetch route saddr from flow key in ip4_datagram_connect().\n\nNow that output route lookups update the flow with\nsource address selection, we can fetch it from\nfl4-\u003esaddr instead of rt-\u003ert_src\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b883187785004cacea053569f1655fada0dfc299",
      "tree": "8a3413e40ad0e22e82ca96f9f9f7087070a21467",
      "parents": [
        "6706b6ebab85dfca4e2886e35ec9c3c4ee13e27e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:16:53 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:16:53 2011 -0700"
      },
      "message": "ipv4: Fetch route saddr from flow key in inet_sk_reselect_saddr().\n\nNow that output route lookups update the flow with\nsource address selection, we can fetch it from\nfl4-\u003esaddr instead of rt-\u003ert_src\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "813b3b5db831ddbd92b5ce0fdeb74e3368f1323c",
      "tree": "636c404ea6f255c0b8793af4e83f9df19d61c94f",
      "parents": [
        "cf91166223772ef4a2ed98b9874958bf6a2470df"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 14:48:42 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 22:26:00 2011 -0700"
      },
      "message": "ipv4: Use caller\u0027s on-stack flowi as-is in output route lookups.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf91166223772ef4a2ed98b9874958bf6a2470df",
      "tree": "f8c86cc60798db9e4469031a8dceb5fcb512fb81",
      "parents": [
        "5c1e6aa300a7a669dc469d2dcb20172c6bd8fed9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 14:31:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 22:26:00 2011 -0700"
      },
      "message": "net: Use non-zero allocations in dst_alloc().\n\nMake dst_alloc() and it\u0027s users explicitly initialize the entire\nentry.\n\nThe zero\u0027ing done by kmem_cache_zalloc() was almost entirely\nredundant.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c1e6aa300a7a669dc469d2dcb20172c6bd8fed9",
      "tree": "61796a49f8b9236eee4730ff8142e79bd43f0f51",
      "parents": [
        "778865a550e7958c1211242cc481f48d46de0f04"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 14:13:38 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 22:25:59 2011 -0700"
      },
      "message": "net: Make dst_alloc() take more explicit initializations.\n\nNow the dst-\u003edev, dev-\u003eobsolete, and dst-\u003eflags values can\nbe specified as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6d8bd051c391c1c0458a30b2a7abcd939329259",
      "tree": "1dc4daecdeb0b42c2c6b59d7d6b41e091c11db5f",
      "parents": [
        "0a14842f5a3c0e88a1e59fac5c3025db39721f74"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 21 09:45:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:16:35 2011 -0700"
      },
      "message": "inet: add RCU protection to inet-\u003eopt\n\nWe lack proper synchronization to manipulate inet-\u003eopt ip_options\n\nProblem is ip_make_skb() calls ip_setup_cork() and\nip_setup_cork() possibly makes a copy of ipc-\u003eopt (struct ip_options),\nwithout any protection against another thread manipulating inet-\u003eopt.\n\nAnother thread can change inet-\u003eopt pointer and free old one under us.\n\nUse RCU to protect inet-\u003eopt (changed to inet-\u003einet_opt).\n\nInstead of handling atomic refcounts, just copy ip_options when\nnecessary, to avoid cache line dirtying.\n\nWe cant insert an rcu_head in struct ip_options since its included in\nskb-\u003ecb[], so this patch is large because I had to introduce a new\nip_options_rcu structure.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e97e980b5653c23d01c911af6a0ab2d3431d7f1",
      "tree": "03993cc582cc2ed1488aac7223205a11753d60df",
      "parents": [
        "2d7192d6cbab20e153c47fa1559ffd41ceef0e79"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 26 13:57:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:59:05 2011 -0700"
      },
      "message": "ipv4: Remove erroneous check in igmpv3_newpack() and igmp_send_report().\n\nOutput route resolution never returns a route with rt_src set to zero\n(which is INADDR_ANY).\n\nEven if the flow key for the output route lookup specifies INADDR_ANY\nfor the source address, the output route resolution chooses a real\nsource address to use in the final route.\n\nThis test has existed forever in igmp_send_report() and David Stevens\nsimply copied over the erroneous test when implementing support for\nIGMPv3.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "2d7192d6cbab20e153c47fa1559ffd41ceef0e79",
      "tree": "aac4c4132f5b4a173ad8f8d0bf24427e039bbc89",
      "parents": [
        "15ecd039b7182d725f4294e01f2fb12c3a88db17"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 26 13:28:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:59:04 2011 -0700"
      },
      "message": "ipv4: Sanitize and simplify ip_route_{connect,newports}()\n\nThese functions are used together as a unit for route resolution\nduring connect().  They address the chicken-and-egg problem that\nexists when ports need to be allocated during connect() processing,\nyet such port allocations require addressing information from the\nrouting code.\n\nIt\u0027s currently more heavy handed than it needs to be, and in\nparticular we allocate and initialize a flow object twice.\n\nLet the callers provide the on-stack flow object.  That way we only\nneed to initialize it once in the ip_route_connect() call.\n\nLater, if ip_route_newports() needs to do anything, it re-uses that\nflow object as-is except for the ports which it updates before the\nroute re-lookup.\n\nAlso, describe why this set of facilities are needed and how it works\nin a big comment.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "2bd93d7af1581d40e3c4b25242472661cb7c637a",
      "tree": "43c638422d20857339d8d908d6b65ebb8045edc0",
      "parents": [
        "64cad2ade1e6f890531a58318ca9ee013f92ef2f",
        "0972ddb2373d5e127aabdcabd8305eff0242cd0b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 26 12:16:46 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 26 12:16:46 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nResolved logic conflicts causing a build failure due to\ndrivers/net/r8169.c changes using a patch from Stephen Rothwell.\n\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": "b71d1d426d263b0b6cb5760322efebbfc89d4463",
      "tree": "226ca7390bd6187ec9139d2ccedd26fd94d8e57a",
      "parents": [
        "5f8629c526b4f7e529a6d27bbd802c0dc7fcc357"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Apr 22 04:53:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 22 11:04:14 2011 -0700"
      },
      "message": "inet: constify ip headers and in6_addr\n\nAdd const qualifiers to structs iphdr, ipv6hdr and in6_addr pointers\nwhere possible, to make code intention more obvious.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4805347c1eb12cfe79f42a12a5442ee01590a9c0",
      "tree": "cb9d8b3cfc78d8411f0cea7b06c6472cdd35bb9a",
      "parents": [
        "e1943424e43974f85b82bb31eaf832823bf49ce7",
        "91eb7c08c6cb3b8eeba1c61f5753c56dcb77f018"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 11:24:06 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 11:24:06 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "e1943424e43974f85b82bb31eaf832823bf49ce7",
      "tree": "00a2dda7454ba186c0be4bfb8d08b7f74c3cd98c",
      "parents": [
        "88230fd586b4ccc5ffe6d6c2df8cdc495e89ad83",
        "0553c891fabd287726b41076cfd03fe7e5ab596f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 00:21:33 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 00:21:33 2011 -0700"
      },
      "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_ethtool.c\n"
    },
    {
      "commit": "7c89943236750537d26421d9bbb6f6575e2d1e1b",
      "tree": "dfbc9b11ddcd20757388b03e9925363c1e1764f3",
      "parents": [
        "99606477a5888b0ead0284fecb13417b1da8e3af"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Apr 15 13:47:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 23:36:03 2011 -0700"
      },
      "message": "bonding, ipv4, ipv6, vlan: Handle NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS\n\nIt is undesirable for the bonding driver to be poking into higher\nlevel protocols, and notifiers provide a way to avoid that.  This does\nmean removing the ability to configure reptitition of gratuitous ARPs\nand unsolicited NAs.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.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": "21d8c49e01a0c1c6eb6c750cd04110db4a539284",
      "tree": "03e19c4f6f24fd67da407463508c0ee27f6f9785",
      "parents": [
        "8849b720e9632acef139a349f9ec62e63ce7e497"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 14 14:49:37 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 14 15:05:22 2011 -0700"
      },
      "message": "ipv4: Call fib_select_default() only when actually necessary.\n\nfib_select_default() is a complete NOP, and completely pointless\nto invoke, when we have no more than 1 default route installed.\n\nAnd this is far and away the common case.\n\nSo remember how many prefixlen\u003d\u003d0 routes we have in the routing\ntable, and elide the call when we have no more than one of those.\n\nThis cuts output route creation time by 157 cycles on Niagara2+.\n\nIn order to add the new int to fib_table, we have to correct the type\nof -\u003etb_data[] to unsigned long, otherwise the private area will be\nunaligned on 64-bit systems.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\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": "1c01a80cfec6f806246f31ff2680cd3639b30e67",
      "tree": "0b554aad2ec1da71ecf6339d4ba51617bfe1dc3c",
      "parents": [
        "c44d79950b2daa1025e62eede73e4e4a274d1ef3",
        "4a9f65f6304a00f6473e83b19c1e83caa1e42530"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:44:25 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:44:25 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/smsc911x.c\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": "990078afbf90e0175e71da2df04595b99153514c",
      "tree": "ff61e3ab53f46ceca2ef280788982883b50cc669",
      "parents": [
        "5c04c819a20af40adb7d282199f4e34e14fa05c5"
      ],
      "author": {
        "name": "Michael Smith",
        "email": "msmith@cbnco.com",
        "time": "Thu Apr 07 04:51:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 10 18:50:59 2011 -0700"
      },
      "message": "Disable rp_filter for IPsec packets\n\nThe reverse path filter interferes with IPsec subnet-to-subnet tunnels,\nespecially when the link to the IPsec peer is on an interface other than\nthe one hosting the default route.\n\nWith dynamic routing, where the peer might be reachable through eth0\ntoday and eth1 tomorrow, it\u0027s difficult to keep rp_filter enabled unless\nfake routes to the remote subnets are configured on the interface\ncurrently used to reach the peer.\n\nIPsec provides a much stronger anti-spoofing policy than rp_filter, so\nthis patch disables the rp_filter for packets with a security path.\n\nSigned-off-by: Michael Smith \u003cmsmith@cbnco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c04c819a20af40adb7d282199f4e34e14fa05c5",
      "tree": "c92925ffcf83d593f8cd52faed144cc43289d7f9",
      "parents": [
        "5325e92f33eef5fb54e2e63185d965b4be59a4b3"
      ],
      "author": {
        "name": "Michael Smith",
        "email": "msmith@cbnco.com",
        "time": "Thu Apr 07 04:51:50 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 10 18:50:59 2011 -0700"
      },
      "message": "fib_validate_source(): pass sk_buff instead of mark\n\nThis makes sk_buff available for other use in fib_validate_source().\n\nSigned-off-by: Michael Smith \u003cmsmith@cbnco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1e48efc701b79ee4367c9a1a4e8bbc7c3586e02",
      "tree": "91921f7c0884813c72993fcd2ecd37dc5e56d89d",
      "parents": [
        "912d398d28b4359c2fb1f3763f1ce4f86de8350e",
        "1b86a58f9d7ce4fe2377687f378fbfb53bdc9b6c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 07 14:05:23 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 07 14:05:23 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/benet/be_main.c\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"
    }
  ],
  "next": "42933bac11e811f02200c944d8562a15f8ec4ff0"
}
