)]}'
{
  "log": [
    {
      "commit": "e2666f84958adb3a034b98e99699b55705117e01",
      "tree": "f8fdca8163bf15d98468c63d4d98932ded0ec96f",
      "parents": [
        "c031235b395433350f25943b7580a5e343c7b7b2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 30 16:57:46 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 16:57:46 2011 -0700"
      },
      "message": "fib: add rtnl locking in ip_fib_net_exit\n\nDaniel J Blueman reported a lockdep splat in trie_firstleaf(), caused by\nRTNL being not locked before a call to fib_table_flush()\n\nReported-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93ca3bb5df9bc8b2c60485e1cc6507c3d7c8e1fa",
      "tree": "6ccf21f8d1e4431c6be79c265fb1f9a722308f63",
      "parents": [
        "1459a3cc51d90d78027c7b5c1790e5d22751c8eb"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Mon Mar 28 22:40:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 00:10:47 2011 -0700"
      },
      "message": "net: gre: provide multicast mappings for ipv4 and ipv6\n\nMy commit 6d55cb91a0020ac0 (gre: fix hard header destination\naddress checking) broke multicast.\n\nThe reason is that ip_gre used to get ipgre_header() calls with\nzero destination if we have NOARP or multicast destination. Instead\nthe actual target was decided at ipgre_tunnel_xmit() time based on\nper-protocol dissection.\n\nInstead of allowing the \"abuse\" of -\u003eheader() calls with invalid\ndestination, this creates multicast mappings for ip_gre. This also\nfixes \"ip neigh show nud noarp\" to display the proper multicast\nmappings used by the gre device.\n\nReported-by: Doug Kehn \u003crdkehn@yahoo.com\u003e\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nAcked-by: Doug Kehn \u003crdkehn@yahoo.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4910ac6c526d2868adcb5893e0c428473de862b5",
      "tree": "f5fcd4425ee8ae7bd88f3a1fc4e9bb58592aff1b",
      "parents": [
        "673e63c688f43104c73aad8ea4237f7ad41fa14d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 28 16:51:15 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 28 16:51:15 2011 -0700"
      },
      "message": "ipv4: Don\u0027t ip_rt_put() an error pointer in RAW sockets.\n\nReported-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8628bd8af7c4c14f40f5183f80f5744c4e682439",
      "tree": "d931f03c6ef14ad8df7c6c697e56081f816c2af7",
      "parents": [
        "dc760b375e50a47847d4942811bd9679beeb5535"
      ],
      "author": {
        "name": "Jan Luebbe",
        "email": "jluebbe@debian.org",
        "time": "Thu Mar 24 07:44:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 27 23:35:02 2011 -0700"
      },
      "message": "ipv4: Fix IP timestamp option (IPOPT_TS_PRESPEC) handling in ip_options_echo()\n\nThe current handling of echoed IP timestamp options with prespecified\naddresses is rather broken since the 2.2.x kernels. As far as i understand\nit, it should behave like when originating packets.\n\nCurrently it will only timestamp the next free slot if:\n - there is space for *two* timestamps\n - some random data from the echoed packet taken as an IP is *not* a local IP\n\nThis first is caused by an off-by-one error. \u0027soffset\u0027 points to the next\nfree slot and so we only need to have \u0027soffset + 7 \u003c\u003d optlen\u0027.\n\nThe second bug is using sptr as the start of the option, when it really is\nset to \u0027skb_network_header(skb)\u0027. I just use dptr instead which points to\nthe timestamp option.\n\nFinally it would only timestamp for non-local IPs, which we shouldn\u0027t do.\nSo instead we exclude all unicast destinations, similar to what we do in\nip_options_compile().\n\nSigned-off-by: Jan Luebbe \u003cjluebbe@debian.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fbc78439291627642517f15b9b91f3125588143",
      "tree": "bde47a81d7d45f9b7027b51b339c966ba87136a5",
      "parents": [
        "6df59a84eccd4cad7fcefda3e0c5e55239a3b2dd"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Mar 25 20:33:23 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 25 20:33:23 2011 -0700"
      },
      "message": "ipv4: do not ignore route errors\n\n\tThe \"ipv4: Inline fib_semantic_match into check_leaf\"\nchange forgets to return the route errors. check_leaf should\nreturn the same results as fib_table_lookup.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37e826c513883099c298317bad1b3b677b2905fb",
      "tree": "a032cfe69e0cde179d86eba157cf9dc85d67df86",
      "parents": [
        "436c3b66ec9824a633724ae42de1c416af4f2063"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 18:06:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 18:06:47 2011 -0700"
      },
      "message": "ipv4: Fix nexthop caching wrt. scoping.\n\nMove the scope value out of the fib alias entries and into fib_info,\nso that we always use the correct scope when recomputing the nexthop\ncached source address.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "436c3b66ec9824a633724ae42de1c416af4f2063",
      "tree": "8da6452386b6e900c4226c9b67694d1ea21e847e",
      "parents": [
        "f7594d42944c0dfca90318f50978a4bdf8504086"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 17:42:21 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 17:42:21 2011 -0700"
      },
      "message": "ipv4: Invalidate nexthop cache nh_saddr more correctly.\n\nAny operation that:\n\n1) Brings up an interface\n2) Adds an IP address to an interface\n3) Deletes an IP address from an interface\n\ncan potentially invalidate the nh_saddr value, requiring\nit to be recomputed.\n\nPerform the recomputation lazily using a generation ID.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fcd13f42c9d6ab7b1024b9b7125a2e8db3cc00b2",
      "tree": "2c088856e18636a77077cea244e227453782910c",
      "parents": [
        "6f71d7927c9a9efb7d7e9e6d227d5e246a9c5bd7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Mar 24 07:01:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 24 11:49:54 2011 -0700"
      },
      "message": "ipv4: fix fib metrics\n\nAlessandro Suardi reported that we could not change route metrics :\n\nip ro change default .... advmss 1400\n\nThis regression came with commit 9c150e82ac50 (Allocate fib metrics\ndynamically). fib_metrics is no longer an array, but a pointer to an\narray.\n\nReported-by: Alessandro Suardi \u003calessandro.suardi@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Alessandro Suardi \u003calessandro.suardi@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb49a97363f020c1d7eef8bcd93865726b1fa11d",
      "tree": "c6012d720a51e20fd2b27c45cbe68788652078d1",
      "parents": [
        "406b6f974dae76a5b795d5c251d11c979a4e509b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 23 12:18:15 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:18:15 2011 -0700"
      },
      "message": "ipv4: fix ip_rt_update_pmtu()\n\ncommit 2c8cec5c10bc (Cache learned PMTU information in inetpeer) added\nan extra inet_putpeer() call in ip_rt_update_pmtu().\n\nThis results in various problems, since we can free one inetpeer, while\nit is still in use.\n\nRef: http://www.spinics.net/lists/netdev/msg159121.html\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "406b6f974dae76a5b795d5c251d11c979a4e509b",
      "tree": "0e197be8a5239c8b0c414f7ef3cf91a844a4271c",
      "parents": [
        "f6152737a95bd6c22f0c664b20831aefd48085a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 21:56:23 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:16:15 2011 -0700"
      },
      "message": "ipv4: Fallback to FIB local table in __ip_dev_find().\n\nIn commit 9435eb1cf0b76b323019cebf8d16762a50a12a19\n(\"ipv4: Implement __ip_dev_find using new interface address hash.\")\nwe reimplemented __ip_dev_find() so that it doesn\u0027t have to\ndo a full FIB table lookup.\n\nInstead, it consults a hash table of addresses configured to\ninterfaces.\n\nThis works identically to the old code in all except one case,\nand that is for loopback subnets.\n\nThe old code would match the loopback device for any IP address\nthat falls within a subnet configured to the loopback device.\n\nHandle this corner case by doing the FIB lookup.\n\nWe could implement this via inet_addr_onlink() but:\n\n1) Someone could configure many addresses to loopback and\n   inet_addr_onlink() is a simple list traversal.\n\n2) We know the old code works.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6152737a95bd6c22f0c664b20831aefd48085a8",
      "tree": "97cecb7a1645b8e24f886ec6924543f70b95e661",
      "parents": [
        "67d4120a1793138bc9f4a6eb61d0fc5298ed97e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 19:37:11 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 19:37:11 2011 -0700"
      },
      "message": "tcp: Make undo_ssthresh arg to tcp_undo_cwr() a bool.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67d4120a1793138bc9f4a6eb61d0fc5298ed97e0",
      "tree": "24ffa212d26a6048675a2b7f2c1a4371e62c9f6d",
      "parents": [
        "a7bff75b087e7a355838a32efe61707cfa73c194"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Mon Mar 14 10:57:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 19:36:08 2011 -0700"
      },
      "message": "tcp: avoid cwnd moderation in undo\n\nIn the current undo logic, cwnd is moderated after it was restored\nto the value prior entering fast-recovery. It was moderated first\nin tcp_try_undo_recovery then again in tcp_complete_cwr.\n\nSince the undo indicates recovery was false, these moderations\nare not necessary. If the undo is triggered when most of the\noutstanding data have been acknowledged, the (restored) cwnd is\nfalsely pulled down to a small value.\n\nThis patch removes these cwnd moderations if cwnd is undone\n  a) during fast-recovery\n\tb) by receiving DSACKs past fast-recovery\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04024b937a6e9b7d4320b5853557cea3930d528c",
      "tree": "d14d770251f5b50d9647a662848c64bab034265a",
      "parents": [
        "2d230e2b2c3111cf4a11619f60dcd158ae84e3ab"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sat Mar 19 12:13:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 01:06:33 2011 -0700"
      },
      "message": "ipv4: optimize route adding on secondary promotion\n\nOptimize the calling of fib_add_ifaddr for all\nsecondary addresses after the promoted one to start from\ntheir place, not from the new place of the promoted\nsecondary. It will save some CPU cycles because we\nare sure the promoted secondary was first for the subnet\nand all next secondaries do not change their place.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d230e2b2c3111cf4a11619f60dcd158ae84e3ab",
      "tree": "4e665cc5ac43116212b44af1f409ef8a140069ef",
      "parents": [
        "e6abbaa2725a43cf5d26c4c2a5dc6c0f6029ea19"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sat Mar 19 12:13:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 01:06:33 2011 -0700"
      },
      "message": "ipv4: remove the routes on secondary promotion\n\nThe secondary address promotion relies on fib_sync_down_addr\nto remove all routes created for the secondary addresses when\nthe old primary address is deleted. It does not happen for cases\nwhen the primary address is also in another subnet. Fix that\nby deleting local and broadcast routes for all secondaries while\nthey are on device list and by faking that all addresses from\nthis subnet are to be deleted. It relies on fib_del_ifaddr being\nable to ignore the IPs from the concerned subnet while checking\nfor duplication.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6abbaa2725a43cf5d26c4c2a5dc6c0f6029ea19",
      "tree": "65d9d9deb7259322e83fc750b98f4ad9f7a51f56",
      "parents": [
        "74cb3c108bc0f599a4eb40980db8580cfba725c9"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sat Mar 19 12:13:49 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 01:06:32 2011 -0700"
      },
      "message": "ipv4: fix route deletion for IPs on many subnets\n\nAlex Sidorenko reported for problems with local\nroutes left after IP addresses are deleted. It happens\nwhen same IPs are used in more than one subnet for the\ndevice.\n\n\tFix fib_del_ifaddr to restrict the checks for duplicate\nlocal and broadcast addresses only to the IFAs that use\nour primary IFA or another primary IFA with same address.\nAnd we expect the prefsrc to be matched when the routes\nare deleted because it is possible they to differ only by\nprefsrc. This patch prevents local and broadcast routes\nto be leaked until their primary IP is deleted finally\nfrom the box.\n\n\tAs the secondary address promotion needs to delete\nthe routes for all secondaries that used the old primary IFA,\nadd option to ignore these secondaries from the checks and\nto assume they are already deleted, so that we can safely\ndelete the route while these IFAs are still on the device list.\n\nReported-by: Alex Sidorenko \u003calexandre.sidorenko@hp.com\u003e\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74cb3c108bc0f599a4eb40980db8580cfba725c9",
      "tree": "4e75f3e98912f917214674fafb09e7d787a029c1",
      "parents": [
        "3c0f3c605b2572c740f66ea39fe2d125399b20aa"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sat Mar 19 12:13:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 22 01:06:31 2011 -0700"
      },
      "message": "ipv4: match prefsrc when deleting routes\n\nfib_table_delete forgets to match the routes by prefsrc.\nCallers can specify known IP in fc_prefsrc and we should remove\nthe exact route. This is needed for cases when same local or\nbroadcast addresses are used in different subnets and the\nroutes differ only in prefsrc. All callers that do not provide\nfc_prefsrc will ignore the route prefsrc as before and will\ndelete the first occurence. That is how the ip route del default\nmagic works.\n\n\tCurrent callers are:\n\n- ip_rt_ioctl where rtentry_to_fib_config provides fc_prefsrc only\nwhen the provided device name matches IP label with colon.\n\n- inet_rtm_delroute where RTA_PREFSRC is optional too\n\n- fib_magic which deals with routes when deleting addresses\nand where the fc_prefsrc is always set with the primary IP\nfor the concerned IFA.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "961ed183a9fd080cf306c659b8736007e44065a5",
      "tree": "7bf0a65c184a2c4fc0571ff9af8ce633efc73bcf",
      "parents": [
        "db856674ac69e31946e56085239757cca3f7655f"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Sun Mar 20 15:42:52 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Mar 20 15:42:52 2011 +0100"
      },
      "message": "netfilter: ipt_CLUSTERIP: fix buffer overflow\n\n\u0027buffer\u0027 string is copied from userspace.  It is not checked whether it is\nzero terminated.  This may lead to overflow inside of simple_strtoul().\nChangli Gao suggested to copy not more than user supplied \u0027size\u0027 bytes.\n\nIt was introduced before the git epoch.  Files \"ipt_CLUSTERIP/*\" are\nroot writable only by default, however, on some setups permissions might be\nrelaxed to e.g. network admin user.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "db856674ac69e31946e56085239757cca3f7655f",
      "tree": "73fc82e92a119dcf1a0ce4e2ca45ef410165776f",
      "parents": [
        "5c1aba467828bf0574ec5754c84884d573f590af"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Mar 20 15:40:06 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Mar 20 15:40:06 2011 +0100"
      },
      "message": "netfilter: xtables: fix reentrancy\n\ncommit f3c5c1bfd4308 (make ip_tables reentrant) introduced a race in\nhandling the stackptr restore, at the end of ipt_do_table()\n\nWe should do it before the call to xt_info_rdunlock_bh(), or we allow\ncpu preemption and another cpu overwrites stackptr of original one.\n\nA second fix is to change the underflow test to check the origptr value\ninstead of 0 to detect underflow, or else we allow a jump from different\nhooks.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "4a2b9c3756077c05dd8666e458a751d2248b61b6",
      "tree": "9d074adc7c94a7fdb3be69e1e0572184f76056a3",
      "parents": [
        "7313714775a6411402f63261c05fbb4ee3d5b64a"
      ],
      "author": {
        "name": "Dan Siemon",
        "email": "dan@coverfire.com",
        "time": "Tue Mar 15 13:56:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 18:53:54 2011 -0700"
      },
      "message": "net_sched: fix ip_tos2prio\n\nECN support incorrectly maps ECN BESTEFFORT packets to TC_PRIO_FILLER\n(1) instead of TC_PRIO_BESTEFFORT (0)\n\nThis means ECN enabled flows are placed in pfifo_fast/prio low priority\nband, giving ECN enabled flows [ECT(0) and CE codepoints] higher drop\nprobabilities.\n\nThis is rather unfortunate, given we would like ECN being more widely\nused.\n\nRef : http://www.coverfire.com/archives/2011/03/13/pfifo_fast-and-ecn/\n\nSigned-off-by: Dan Siemon \u003cdan@coverfire.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Dave Täht \u003cd@taht.net\u003e\nCc: Jonathan Morton \u003cchromatix99@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c337ffb68e1e71bad069b14d2246fa1e0c31699c",
      "tree": "7861a59b196adfd63758cc0921e4fb56030fbaf3",
      "parents": [
        "30df754dedebf27ef90452944a723ba058d23396",
        "84c0c6933cb0303fa006992a6659c2b46de4eb17"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 15:15:17 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 15:15:17 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "31111c26d976ca0f298312f08e44cdb078005b03",
      "tree": "ca08ef55b2ea91f9e69f8a78bb8b4363a1759b54",
      "parents": [
        "0c0217b016ba8a970a6f6ab62ad0d858f39881ca",
        "2f5dc63123905a89d4260ab8ee08d19ec104db04"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 13:03:27 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 13:03:27 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "de81bbea17650769882bc625d6b5df11ee7c4b24",
      "tree": "2e1250b7309977fc48b4f5b88f83959795f04591",
      "parents": [
        "6a8ab060779779de8aea92ce3337ca348f973f54"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fwestphal@astaro.com",
        "time": "Tue Mar 15 20:16:20 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Mar 15 20:16:20 2011 +0100"
      },
      "message": "netfilter: ipt_addrtype: rename to xt_addrtype\n\nFollowup patch will add ipv6 support.\n\nipt_addrtype.h is retained for compatibility reasons, but no longer used\nby the kernel.\n\nSigned-off-by: Florian Westphal \u003cfwestphal@astaro.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "78b79876761b86653df89c48a7010b5cbd41a84a",
      "tree": "8b2d66a823640ab1a5c7e31d4b27b69bfbb86cde",
      "parents": [
        "42eab94fff18cb1091d3501cd284d6bd6cc9c143"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Mar 15 13:36:05 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Mar 15 13:36:05 2011 +0100"
      },
      "message": "netfilter: ip_tables: fix infoleak to userspace\n\nStructures ipt_replace, compat_ipt_replace, and xt_get_revision are\ncopied from userspace.  Fields of these structs that are\nzero-terminated strings are not checked.  When they are used as argument\nto a format string containing \"%s\" in request_module(), some sensitive\ninformation is leaked to userspace via argument of spawned modprobe\nprocess.\n\nThe first and the third bugs were introduced before the git epoch; the\nsecond was introduced in 2722971c (v2.6.17-rc1).  To trigger the bug\none should have CAP_NET_ADMIN.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "42eab94fff18cb1091d3501cd284d6bd6cc9c143",
      "tree": "b30e101f5503847706a7aa24455d47f5e45cf7e1",
      "parents": [
        "4656c4d61adb8dc3ee04c08f57a5cc7598814420"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Mar 15 13:35:21 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Mar 15 13:35:21 2011 +0100"
      },
      "message": "netfilter: arp_tables: fix infoleak to userspace\n\nStructures ipt_replace, compat_ipt_replace, and xt_get_revision are\ncopied from userspace.  Fields of these structs that are\nzero-terminated strings are not checked.  When they are used as argument\nto a format string containing \"%s\" in request_module(), some sensitive\ninformation is leaked to userspace via argument of spawned modprobe\nprocess.\n\nThe first bug was introduced before the git epoch;  the second is\nintroduced by 6b7d31fc (v2.6.15-rc1);  the third is introduced by\n6b7d31fc (v2.6.15-rc1).  To trigger the bug one should have\nCAP_NET_ADMIN.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b5ccd07337489fa9c9d32e0b628a2168b7953adf",
      "tree": "4c0bd60c5500440e6a5bb7086d54dedfb8eed815",
      "parents": [
        "2b4636a5f8ca547000f6aba24ec1c58f31f4a91d"
      ],
      "author": {
        "name": "Sangtae Ha",
        "email": "sangtae.ha@gmail.com",
        "time": "Mon Mar 14 07:52:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:42 2011 -0700"
      },
      "message": "tcp_cubic: fix low utilization of CUBIC with HyStart\n\nHyStart sets the initial exit point of slow start.\nSuppose that HyStart exits at 0.5BDP in a BDP network and no history exists.\nIf the BDP of a network is large, CUBIC\u0027s initial cwnd growth may be\ntoo conservative to utilize the link.\nCUBIC increases the cwnd 20% per RTT in this case.\n\nSigned-off-by: Sangtae Ha \u003csangtae.ha@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b4636a5f8ca547000f6aba24ec1c58f31f4a91d",
      "tree": "4b46132a943bab1edaf61ac49b96d45dfc8907e2",
      "parents": [
        "3b585b34493ec9db382d6c325d4ed77b9eb2d2a5"
      ],
      "author": {
        "name": "Sangtae Ha",
        "email": "sangtae.ha@gmail.com",
        "time": "Mon Mar 14 07:52:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:42 2011 -0700"
      },
      "message": "tcp_cubic: make the delay threshold of HyStart less sensitive\n\nMake HyStart less sensitive to abrupt delay variations due to buffer bloat.\n\nSigned-off-by: Sangtae Ha \u003csangtae.ha@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReported-by: Lucas Nussbaum \u003clucas.nussbaum@loria.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b585b34493ec9db382d6c325d4ed77b9eb2d2a5",
      "tree": "e3208425d46953bb587b2db6dfb521064f127aed",
      "parents": [
        "17a6e9f1aa9ba07ca13a1eaf1e631e743af50cca"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:40 2011 -0700"
      },
      "message": "tcp_cubic: enable high resolution ack time if needed\n\nThis is a refined version of an earlier patch by Lucas Nussbaum.\nCubic needs RTT values in milliseconds. If HZ \u003c 1000 then\nthe values will be too coarse.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReported-by: Lucas Nussbaum \u003clucas.nussbaum@loria.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17a6e9f1aa9ba07ca13a1eaf1e631e743af50cca",
      "tree": "131ea88cfe5d80c162de866ee4156178f70156b1",
      "parents": [
        "aac46324e12a2bf2e9e0855ad6a287945e34ad39"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:39 2011 -0700"
      },
      "message": "tcp_cubic: fix clock dependency\n\nThe hystart code was written with assumption that HZ\u003d1000.\nReplace the use of jiffies with bictcp_clock as a millisecond\nreal time clock.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReported-by: Lucas Nussbaum \u003clucas.nussbaum@loria.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aac46324e12a2bf2e9e0855ad6a287945e34ad39",
      "tree": "3f6fc25d6fb597cf051de4426f1c81e7f145c3a5",
      "parents": [
        "c54b4b7655447c1f24f6d50779c22eba9ee0fd24"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:39 2011 -0700"
      },
      "message": "tcp_cubic: make ack train delta value a parameter\n\nMake the spacing between ACK\u0027s that indicates a train a tuneable\nvalue like other hystart values.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c54b4b7655447c1f24f6d50779c22eba9ee0fd24",
      "tree": "42178e794fafe36de1a00607b28363e1fe8da3f2",
      "parents": [
        "febf081987ec445f071ed10b73e9707a88cc5cc4"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:38 2011 -0700"
      },
      "message": "tcp_cubic: fix comparison of jiffies\n\nJiffies wraps around therefore the correct way to compare is\nto use cast to signed value.\n\nNote: cubic is not using full jiffies value on 64 bit arch\nbecause using full unsigned long makes struct bictcp grow too\nlarge for the available ca_priv area.\n\nIncludes correction from Sangtae Ha to improve ack train detection.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "febf081987ec445f071ed10b73e9707a88cc5cc4",
      "tree": "2afd0d3fba79620b889935b678ac8c024e10c19d",
      "parents": [
        "a23c37f1110d8912d4d0a66e78197e9195bb36d4"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 14 07:52:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 15:54:38 2011 -0700"
      },
      "message": "tcp: fix RTT for quick packets in congestion control\n\nIn the congestion control interface, the callback for each ACK\nincludes an estimated round trip time in microseconds.\nSome algorithms need high resolution (Vegas style) but most only\nneed jiffie resolution.  If RTT is not accurate (like a retransmission)\n-1 is used as a flag value.\n\nWhen doing coarse resolution if RTT is less than a a jiffie\nthen 0 should be returned rather than no estimate. Otherwise algorithms\nthat expect good ack\u0027s to trigger slow start (like CUBIC Hystart)\nwill be confused.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e75db2e8ff2c97762e87f61f54d7cdeaab1a6b0",
      "tree": "d6c0c4fff29a1f69afe2e262b31e579d1c6f0baf",
      "parents": [
        "d8647b79c3b7e223ac051439d165bc8e7bbb832f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Mar 13 23:22:23 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 13 23:22:23 2011 -0700"
      },
      "message": "inetpeer: should use call_rcu() variant\n\nAfter commit 7b46ac4e77f3224a (inetpeer: Don\u0027t disable BH for initial\nfast RCU lookup.), we should use call_rcu() to wait proper RCU grace\nperiod.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dc49e9b28a7253ff05be2794d747f8ea5f1f423",
      "tree": "9cb4574b77949df1cf2f9cc0015e0751b59ad0aa",
      "parents": [
        "1ce3644ade9c865c755bf0f6a4e109b7bb6eb60f"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Mar 08 00:07:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 13 20:22:29 2011 -0700"
      },
      "message": "esp4: Add support for IPsec extended sequence numbers\n\nThis patch adds IPsec extended sequence numbers support to esp4.\nWe use the authencesn crypto algorithm to handle esp with separate\nencryption/authentication algorithms.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce3644ade9c865c755bf0f6a4e109b7bb6eb60f",
      "tree": "14ce0727337a43d1fa28432d01189d1a5f4269c7",
      "parents": [
        "9736acf395d3608583a7be70f62800b494fa103c"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Mar 08 00:06:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 13 20:22:28 2011 -0700"
      },
      "message": "xfrm: Use separate low and high order bits of the sequence numbers in xfrm_skb_cb\n\nTo support IPsec extended sequence numbers, we split the\noutput sequence numbers of xfrm_skb_cb in low and high order 32 bits\nand we add the high order 32 bits to the input sequence numbers.\nAll users are updated accordingly.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46af31800b6916c92fffa529dc3c357008da957d",
      "tree": "2c66ee7b78527da504a294f1bd8a2a899623fead",
      "parents": [
        "bef55aebd560c5a6f8883c421abccee39978c58c"
      ],
      "author": {
        "name": "Hiroaki SHIMODA",
        "email": "shimoda.hiroaki@gmail.com",
        "time": "Wed Mar 09 20:09:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 13 18:37:49 2011 -0700"
      },
      "message": "ipv4: Fix PMTU update.\n\nOn current net-next-2.6, when Linux receives ICMP Type: 3, Code: 4\n(Destination unreachable (Fragmentation needed)),\n\n  icmp_unreach\n    -\u003e ip_rt_frag_needed\n         (peer-\u003epmtu_expires is set here)\n    -\u003e tcp_v4_err\n         -\u003e do_pmtu_discovery\n              -\u003e ip_rt_update_pmtu\n                   (peer-\u003epmtu_expires is already set,\n                    so check_peer_pmtu is skipped.)\n                   -\u003e check_peer_pmtu\n\ncheck_peer_pmtu is skipped and MTU is not updated.\n\nTo fix this, let check_peer_pmtu execute unconditionally.\nAnd some minor fixes\n1) Avoid potential peer-\u003epmtu_expires set to be zero.\n2) In check_peer_pmtu, argument of time_before is reversed.\n3) check_peer_pmtu expects peer-\u003epmtu_orig is initialized as zero,\n   but not initialized.\n\nSigned-off-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cce96df5b76691712dba22e83ff5efe900361e1",
      "tree": "eecf99e64c6866af944e1e1644d87737392b2da2",
      "parents": [
        "f42454d632753d71ea1a2df09be7bbda32b6372d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 03:00:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "net: Put fl4_* macros to struct flowi4 and use them again.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f42454d632753d71ea1a2df09be7bbda32b6372d",
      "tree": "15bd0056a1e5a72897f84a0ae331163dfa8fd797",
      "parents": [
        "7e1dc7b6f709dfc1a9ab4b320dbe723f45992693"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:44:16 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:53 2011 -0800"
      },
      "message": "ipv4: Kill fib_semantic_match declaration from fib_lookup.h\n\nThis function no longer exists.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e1dc7b6f709dfc1a9ab4b320dbe723f45992693",
      "tree": "db3a0ae07fb469c7f809a448bc39563f98edfec5",
      "parents": [
        "2032656e76b5355151effdff14de4a1a58643915"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:42:11 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:52 2011 -0800"
      },
      "message": "net: Use flowi4 and flowi6 in xfrm layer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6f21b268026165a239edb5f4d7120eacf7bc593",
      "tree": "ee03e4fd4a48483bd4d0c21687509d93a3e91729",
      "parents": [
        "3073e5ab927487328d48cd74faac0f95a8336867"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:09:18 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:50 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in UDP\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3073e5ab927487328d48cd74faac0f95a8336867",
      "tree": "4e4a01225679b32bdb5391c82f812748fa6ef615",
      "parents": [
        "da91981bee8de20bcd06ee0dbddd53d62d23b1bd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:06:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:50 2011 -0800"
      },
      "message": "netfilter: Use flowi4 in nf_nat_standalone.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da91981bee8de20bcd06ee0dbddd53d62d23b1bd",
      "tree": "4c99ba1fa3a44614b434626b7ebfe1f4ce677e93",
      "parents": [
        "9ade22861f922344788321e374c542c92bc049b6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:04:50 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:49 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in ipmr code.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ade22861f922344788321e374c542c92bc049b6",
      "tree": "c0bc23180b3f51104745d263a106c62b4bec11a4",
      "parents": [
        "9d6ec938019c6b16cb9ec96598ebe8f20de435fe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:02:42 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:49 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in FIB layer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d6ec938019c6b16cb9ec96598ebe8f20de435fe",
      "tree": "9b850eb7fd48a6e5ffc15f47afd2e3edc93f5290",
      "parents": [
        "68a5e3dd0a0056d8b349f9eea3756adda53ec17a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 01:12:47 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in public route lookup interfaces.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68a5e3dd0a0056d8b349f9eea3756adda53ec17a",
      "tree": "cca890c41eb5b914d026bbfcc38645a1a402e10b",
      "parents": [
        "22bd5b9b13f2931ac80949f8bfbc40e8cab05be7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 11 20:07:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use struct flowi4 internally in routing lookups.\n\nWe will change the externally visible APIs next.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22bd5b9b13f2931ac80949f8bfbc40e8cab05be7",
      "tree": "d30639ce43efe3186461b0fff962f80eb2417c61",
      "parents": [
        "59b1a94c9a034e63a5e030a5154be1d4d84677d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 11 19:54:08 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:47 2011 -0800"
      },
      "message": "ipv4: Pass ipv4 flow objects into fib_lookup() paths.\n\nTo start doing these conversions, we need to add some temporary\nflow4_* macros which will eventually go away when all the protocol\ncode paths are changed to work on AF specific flowi objects.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56bb8059e1a8bf291054c26367564dc302f6fd8f",
      "tree": "56ec5ae2c1856208ccf97a0cd6b21ab0587f34cf",
      "parents": [
        "6281dcc94a96bd73017b2baa8fa83925405109ef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:44:35 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Break struct flowi out into AF specific instances.\n\nNow we have struct flowi4, flowi6, and flowidn for each address\nfamily.  And struct flowi is just a union of them all.\n\nIt might have been troublesome to convert flow_cache_uli_match() but\nas it turns out this function is completely unused and therefore can\nbe simply removed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6281dcc94a96bd73017b2baa8fa83925405109ef",
      "tree": "8deee4d66d256d10ea25f66520eb96b1fade1545",
      "parents": [
        "08704bcbf022786532b5f188935ab6619906049f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:43:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Make flowi ports AF dependent.\n\nCreate two sets of port member accessors, one set prefixed by fl4_*\nand the other prefixed by fl6_*\n\nThis will let us to create AF optimal flow instances.\n\nIt will work because every context in which we access the ports,\nwe have to be fully aware of which AF the flowi is anyways.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78fbfd8a653ca972afe479517a40661bfff6d8c3",
      "tree": "9dccc5c16bf269d53d8499064ec95a998e84c646",
      "parents": [
        "1561747ddf9d28185548687b11aae7074d6129c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:00:52 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:42 2011 -0800"
      },
      "message": "ipv4: Create and use route lookup helpers.\n\nThe idea here is this minimizes the number of places one has to edit\nin order to make changes to how flows are defined and used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b7fe59322bef9e7a2c05b64a07a66b875299736",
      "tree": "1e3a1ca9931e41a7bf6bdec0ddbabe1f6c466b02",
      "parents": [
        "ff3fccb3d05756ec9fb44350b059d31a5e8e0fdc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:01:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:03:45 2011 -0800"
      },
      "message": "ipv4: Kill flowi arg to fib_select_multipath()\n\nCompletely unused.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff3fccb3d05756ec9fb44350b059d31a5e8e0fdc",
      "tree": "a1b7f7d24e90ebc0f057843df9bd65bbd435a880",
      "parents": [
        "dbdd9a52e38a4a93adfa4d0278801cce4fad98eb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:23:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:01:01 2011 -0800"
      },
      "message": "ipv4: Remove unnecessary test from ip_mkroute_input()\n\nfl-\u003eoif will always be zero on the input path, so there is no reason\nto test for that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbdd9a52e38a4a93adfa4d0278801cce4fad98eb",
      "tree": "a223ba84f33976b0d2c17d3177cbe976a3c948fc",
      "parents": [
        "33175d84ee3fa29991adb80513683e010769e807"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:34:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:37:26 2011 -0800"
      },
      "message": "ipv4: Remove redundant RCU locking in ip_check_mc().\n\nAll callers are under rcu_read_lock() protection already.\n\nRename to ip_check_mc_rcu() to make it even more clear.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33175d84ee3fa29991adb80513683e010769e807",
      "tree": "3731f61cf82451b6892cf1368701e57e35d92908",
      "parents": [
        "c5908939b2738bafe1b309bc2465cb9f2e6184c5",
        "6dfbd87a20a737641ef228230c77f4262434fa24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x_cmn.c\n"
    },
    {
      "commit": "bef6e7e76868ab454d5e83635a4a7a1961c74fb5",
      "tree": "1a7417b9dde942cc71f87c02688c6ac6b0e57a72",
      "parents": [
        "dcbcdf22f500ac6e4ec06485341024739b9dc241",
        "9179746652faf0aba07b8b7f770dcf29892a24c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:00:44 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:00:44 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "a252bebe22155313ccdadc20b79f67a239dc9ecb",
      "tree": "d0563c42cfa57029e3020fdae5afb458c9673dae",
      "parents": [
        "cc7e17ea0427a5df319e43606a3d6c53b13a6e9c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Mar 10 00:40:17 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 00:40:17 2011 -0800"
      },
      "message": "tcp: mark tcp_congestion_ops read_mostly\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc7e17ea0427a5df319e43606a3d6c53b13a6e9c",
      "tree": "3a4030df19e212619ce4437c2100a23a35e759dd",
      "parents": [
        "67e28ffd864eebbaf48b404d0a8cb4edd2bdc924"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:57:50 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:57:50 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in fib_validate_source().\n\nLike in commit 44713b67db10c774f14280c129b0d5fd13c70cf2\n(\"ipv4: Optimize flow initialization in output route lookup.\"\nwe can optimize the on-stack flow setup to only initialize\nthe members which are actually used.\n\nOtherwise we bzero the entire structure, then initialize\nexplicitly the first half of it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67e28ffd864eebbaf48b404d0a8cb4edd2bdc924",
      "tree": "acd2328f3d45db16b45841e796c23815570748f6",
      "parents": [
        "2f4e1b3970973bbb57cc3a3b9d67e67c1c648c37"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:42:07 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:42:07 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in input route lookup.\n\nLike in commit 44713b67db10c774f14280c129b0d5fd13c70cf2\n(\"ipv4: Optimize flow initialization in output route lookup.\"\nwe can optimize the on-stack flow setup to only initialize\nthe members which are actually used.\n\nOtherwise we bzero the entire structure, then initialize\nexplicitly the first half of it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8909c9ad8ff03611c9c96c9a92656213e4bb495b",
      "tree": "10b023c05503a9f6a165a23b8e65d8f3e70fd42d",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Mar 02 00:33:13 2011 +0300"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Mar 10 10:25:19 2011 +1100"
      },
      "message": "net: don\u0027t allow CAP_NET_ADMIN to load non-netdev kernel modules\n\nSince a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with\nCAP_NET_ADMIN may load any module from /lib/modules/.  This doesn\u0027t mean\nthat CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are\nlimited to /lib/modules/**.  However, CAP_NET_ADMIN capability shouldn\u0027t\nallow anybody load any module not related to networking.\n\nThis patch restricts an ability of autoloading modules to netdev modules\nwith explicit aliases.  This fixes CVE-2011-1019.\n\nArnd Bergmann suggested to leave untouched the old pre-v2.6.32 behavior\nof loading netdev modules by name (without any prefix) for processes\nwith CAP_SYS_MODULE to maintain the compatibility with network scripts\nthat use autoloading netdev modules by aliases like \"eth0\", \"wlan0\".\n\nCurrently there are only three users of the feature in the upstream\nkernel: ipip, ip_gre and sit.\n\n    root@albatros:~# capsh --drop\u003d$(seq -s, 0 11),$(seq -s, 13 34) --\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tfffffff800001000\n    CapEff:\tfffffff800001000\n    CapBnd:\tfffffff800001000\n    root@albatros:~# modprobe xfs\n    FATAL: Error inserting xfs\n    (/lib/modules/2.6.38-rc6-00001-g2bf4ca3/kernel/fs/xfs/xfs.ko): Operation not permitted\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit\n    sit: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit0\n    sit0      Link encap:IPv6-in-IPv4\n\t      NOARP  MTU:1480  Metric:1\n\n    root@albatros:~# lsmod | grep sit\n    sit                    10457  0\n    tunnel4                 2957  1 sit\n\nFor CAP_SYS_MODULE module loading is still relaxed:\n\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tffffffffffffffff\n    CapEff:\tffffffffffffffff\n    CapBnd:\tffffffffffffffff\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    xfs                   745319  0\n\nReference: https://lkml.org/lkml/2011/2/24/203\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2f4e1b3970973bbb57cc3a3b9d67e67c1c648c37",
      "tree": "d7b4d7d64ed8a02c3cd10064eb9d8e177d2be5c3",
      "parents": [
        "ee3f1aaf930b7cfbf3d34eff1e5e076393227e90"
      ],
      "author": {
        "name": "Mario Schuknecht",
        "email": "m.schuknecht@dresearch.de",
        "time": "Wed Mar 09 14:08:09 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:08:09 2011 -0800"
      },
      "message": "tcp: ioctl type SIOCOUTQNSD returns amount of data not sent\n\nIn contrast to SIOCOUTQ which returns the amount of data sent\nbut not yet acknowledged plus data not yet sent this patch only\nreturns the data not sent.\n\nFor various methods of live streaming bitrate control it may\nbe helpful to know how much data are in the tcp outqueue are\nnot sent yet.\n\nSigned-off-by: Mario Schuknecht \u003cm.schuknecht@dresearch.de\u003e\nSigned-off-by: Steffen Sledz \u003csledz@dresearch.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee3f1aaf930b7cfbf3d34eff1e5e076393227e90",
      "tree": "814621b53a1a26f00acd05e83f4b7be297abd607",
      "parents": [
        "bd33acc3cc525972ac779067e98efb26516c5b94"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:06:20 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:06:20 2011 -0800"
      },
      "message": "ipv4: Lookup multicast routes by rtable using helper.\n\nCreate a common helper for this operation, since we do\nit identically in three spots.\n\nSuggested by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c91afe1a984d43f922a6a70c7c390b7fb8de45e",
      "tree": "0c04726d20503aaea4560d5c3fa9e10f41de1951",
      "parents": [
        "e380688217feba40db450253d16e9fb2c59a625a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 13:27:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 13:27:16 2011 -0800"
      },
      "message": "ipv4: Fix erroneous uses of ifa_address.\n\nIn usual cases ifa_address \u003d\u003d ifa_local, but in the case where\nSIOCSIFDSTADDR sets the destination address on a point-to-point\nlink, ifa_address gets set to that destination address.\n\nTherefore we should use ifa_local when we want the local interface\naddress.\n\nThere were two cases where the selection was done incorrectly:\n\n1) When devinet_ioctl() does matching, it checks ifa_address even\n   though gifconf correct reported ifa_local to the user\n\n2) IN_DEV_ARP_NOTIFY handling sends a gratuitous ARP using\n   ifa_address instead of ifa_local.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b46ac4e77f3224a1befe032c77f1df31d1b42c4",
      "tree": "e0bd89b476e0f07e23f949366c283f7d7d6f9d4e",
      "parents": [
        "5217e8794619ac0a29151f29be20c7d6188303ba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 14:59:28 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 14:59:28 2011 -0800"
      },
      "message": "inetpeer: Don\u0027t disable BH for initial fast RCU lookup.\n\nIf modifications on other cpus are ok, then modifications to\nthe tree during lookup done by the local cpu are ok too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7ac8fc1d8d26c975c460a69aa7b9d5b5d5d29b0",
      "tree": "d7487dfcbe87a8e57ce666d9febd1199e46c7b46",
      "parents": [
        "1fc050a13473348f5c439de2bb41c8e92dba5588"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:03:21 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:03:21 2011 -0800"
      },
      "message": "ipv4: Fix scope value used in route src-address caching.\n\nWe have to use cfg-\u003efc_scope not the final nh_scope value.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fc050a13473348f5c439de2bb41c8e92dba5588",
      "tree": "b2cecf15f5de87997fb44b4a1025b48d473cd038",
      "parents": [
        "6118e35a7126c1062b1a0f6737b84b4fe4d5c8d4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 20:54:48 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 20:54:48 2011 -0800"
      },
      "message": "ipv4: Cache source address in nexthop entries.\n\nWhen doing output route lookups, we have to select the source address\nif the user has not specified an explicit one.\n\nFirst, if the route has an explicit preferred source address\nspecified, then we use that.\n\nOtherwise we search the route\u0027s outgoing interface for a suitable\naddress.\n\nThis search can be precomputed and cached at route insertion time.\n\nThe only missing part is that we have to refresh this precomputed\nvalue any time addresses are added or removed from the interface, and\nthis is accomplished by fib_update_nh_saddrs().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3be0686b6e2f953afe83626e871b4a7b0ceae49b",
      "tree": "6591cba7d393d6b0bc7b2c647a5a5f1f5d8728e8",
      "parents": [
        "4c8237cd76a0510677dc2e3dd0f8866ec8e0b1e5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:01:10 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:19:39 2011 -0800"
      },
      "message": "ipv4: Inline fib_semantic_match into check_leaf\n\nThis elimiates a lot of pure overhead due to parameter\npassing.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c8237cd76a0510677dc2e3dd0f8866ec8e0b1e5",
      "tree": "09f2b802b5f493bfd5345ec808f3b58300cab168",
      "parents": [
        "256ee435b9a9ee9cca69602fe8046b27ca99fbee"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 14:27:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 14:27:38 2011 -0800"
      },
      "message": "ipv4: Validate route entry type at insert instead of every lookup.\n\nfib_semantic_match() requires that if the type doesn\u0027t signal an\nautomatic error, it must be of type RTN_UNICAST, RTN_LOCAL,\nRTN_BROADCAST, RTN_ANYCAST, or RTN_MULTICAST.\n\nChecking this every route lookup is pointless work.\n\nInstead validate it during route insertion, via fib_create_info().\n\nAlso, there was nothing making sure the type value was less than\nRTN_MAX, so add that missing check while we\u0027re here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e2b61f78411be25f0b84f97d5b5d312f184dfd1",
      "tree": "6a5faa5fb7a2242bebacba4cdb5722b988d3e909",
      "parents": [
        "1018b5c01636c7c6bda31a719bda34fc631db29a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:47:09 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:55:31 2011 -0800"
      },
      "message": "ipv4: Remove flowi from struct rtable.\n\nThe only necessary parts are the src/dst addresses, the\ninterface indexes, the TOS, and the mark.\n\nThe rest is unnecessary bloat, which amounts to nearly\n50 bytes on 64-bit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1018b5c01636c7c6bda31a719bda34fc631db29a",
      "tree": "7e00298c11f53cd386221b566483bffd31414714",
      "parents": [
        "4157434c23f8f5126a2ffd3cc7b2c3bd928be075"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:35:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:35:25 2011 -0800"
      },
      "message": "ipv4: Set rt-\u003ert_iif more sanely on output routes.\n\nrt-\u003ert_iif is only ever inspected on input routes, for example DCCP\nuses this to populate a route lookup flow key when generating replies\nto another packet.\n\nTherefore, setting it to anything other than zero on output routes\nmakes no sense.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c0afdca44af795dd315c20cc525927a459abe30",
      "tree": "264a6e889d080da61a754b54e2771282c9fe9248",
      "parents": [
        "44713b67db10c774f14280c129b0d5fd13c70cf2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:26:07 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:26:07 2011 -0800"
      },
      "message": "ipv4: Get peer more cheaply in rt_init_metrics().\n\nWe know this is a new route object, so doing atomics and\nstuff makes no sense at all.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44713b67db10c774f14280c129b0d5fd13c70cf2",
      "tree": "2a5fac5524dbac7b30be6409751983b597a71766",
      "parents": [
        "65e8354ec13a45414045084166cb340c0d7ffe8a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:24:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:24:47 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in output route lookup.\n\nWe burn a lot of useless cycles, cpu store buffer traffic, and\nmemory operations memset()\u0027ing the on-stack flow used to perform\noutput route lookups in __ip_route_output_key().\n\nOnly the first half of the flow object members even matter for\noutput route lookups in this context, specifically:\n\nFIB rules matching cares about:\n\n\tdst, src, tos, iif, oif, mark\n\nFIB trie lookup cares about:\n\n\tdst\n\nFIB semantic match cares about:\n\n\ttos, scope, oif\n\nTherefore only initialize these specific members and elide the\nmemset entirely.\n\nOn Niagara2 this kills about ~300 cycles from the output route\nlookup path.\n\nLikely, we can take things further, since all callers of output\nroute lookups essentially throw away the on-stack flow they use.\nSo they don\u0027t care if we use it as a scratch-pad to compute the\nfinal flow key.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "65e8354ec13a45414045084166cb340c0d7ffe8a",
      "tree": "3a7d8b63a3765343c07d6f878b4ef389041da6f0",
      "parents": [
        "d72751ede1b9bf993d7bd3377305c8e9e36a3cc4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Mar 04 14:33:59 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 14:33:59 2011 -0800"
      },
      "message": "inetpeer: seqlock optimization\n\nDavid noticed :\n\n------------------\nEric, I was profiling the non-routing-cache case and something that\nstuck out is the case of calling inet_getpeer() with create\u003d\u003d0.\n\nIf an entry is not found, we have to redo the lookup under a spinlock\nto make certain that a concurrent writer rebalancing the tree does\nnot \"hide\" an existing entry from us.\n\nThis makes the case of a create\u003d\u003d0 lookup for a not-present entry\nreally expensive.  It is on the order of 600 cpu cycles on my\nNiagara2.\n\nI added a hack to not do the relookup under the lock when create\u003d\u003d0\nand it now costs less than 300 cycles.\n\nThis is now a pretty common operation with the way we handle COW\u0027d\nmetrics, so I think it\u0027s definitely worth optimizing.\n-----------------\n\nOne solution is to use a seqlock instead of a spinlock to protect struct\ninet_peer_base.\n\nAfter a failed avl tree lookup, we can easily detect if a writer did\nsome changes during our lookup. Taking the lock and redo the lookup is\nonly necessary in this case.\n\nNote: Add one private rcu_deref_locked() macro to place in one spot the\naccess to spinlock included in seqlock.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "e066008b38ca9ace1b6de8dbbac8ed460640791d",
      "tree": "1e5ea0c2ef3afd79199deced95570fe34240290b",
      "parents": [
        "d276055c4e90a7278cd5167ba9755c9b214bcff7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 11:24:19 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 11:24:19 2011 -0800"
      },
      "message": "ipv4: Fix __ip_dev_find() to use ifa_local instead of ifa_address.\n\nReported-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06dc94b1ed05f91e246315afeb1c652d6d0dc9ab",
      "tree": "7219badb5e324077ad9d6f22981dc155a9fe8610",
      "parents": [
        "1558310d4942427f4fd19e8ae26ca0878ab10879"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 10:38:01 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 10:38:01 2011 -0800"
      },
      "message": "ipv4: Fix crash in dst_release when udp_sendmsg route lookup fails.\n\nAs reported by Eric:\n\n[11483.697233] IP: [\u003cc12b0638\u003e] dst_release+0x18/0x60\n ...\n[11483.697741] Call Trace:\n[11483.697764]  [\u003cc12fc9d2\u003e] udp_sendmsg+0x282/0x6e0\n[11483.697790]  [\u003cc12a1c01\u003e] ? memcpy_toiovec+0x51/0x70\n[11483.697818]  [\u003cc12dbd90\u003e] ? ip_generic_getfrag+0x0/0xb0\n\nThe pointer passed to dst_release() is -EINVAL, that\u0027s because\nwe leave an error pointer in the local variable \"rt\" by accident.\n\nNULL it out to fix the bug.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5bfa787fb2c29cce0722500f90df29e049ff07fc",
      "tree": "21e90db4a0d480e9f9e9b931ee71657f2843a629",
      "parents": [
        "b23dd4fe42b455af5c6e20966b7d6959fa8352ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:56:30 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:56:30 2011 -0800"
      },
      "message": "ipv4: ip_route_output_key() is better as an inline.\n\nThis avoid a stack frame at zero cost.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "452edd598f60522c11f7f88fdbab27eb36509d1a",
      "tree": "df1510e9848e591a412c8bfa724253470c48c4c2",
      "parents": [
        "3872b284087081ee5cb0e4630954c2f7a2153cf5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "message": "xfrm: Return dst directly from xfrm_lookup()\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07df5294a753dfac2cc9f75e6159fc25fdc22149",
      "tree": "f37907c7f82d82131a7167e99fb3d2322c43b74f",
      "parents": [
        "7f6daa635c28ed686835a4080269e3fdc5a01012"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 01 23:00:58 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 23:00:58 2011 -0800"
      },
      "message": "inet: Replace left-over references to inet-\u003ecork\n\nThe patch to replace inet-\u003ecork with cork left out two spots in\n__ip_append_data that can result in bogus packet construction.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6d460cf0ed16d35aec48f823685e7a0e0283d84",
      "tree": "56c311e236e3856220660afe7eaadf76106e58c6",
      "parents": [
        "2774c131b1d19920b4587db1cfbd6f0750ad1f15"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 15:49:55 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 15:49:55 2011 -0800"
      },
      "message": "ipv4: Make icmp route lookup code a bit clearer.\n\nThe route lookup code in icmp_send() is slightly tricky as a result of\nhaving to handle all of the requirements of RFC 4301 host relookups.\n\nPull the route resolution into a seperate function, so that the error\nhandling and route reference counting is hopefully easier to see and\ncontained wholly within this new routine.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c131b1d19920b4587db1cfbd6f0750ad1f15",
      "tree": "3a0482c727cf4dcc046a211214f12459dcba8271",
      "parents": [
        "69ead7afdf6028184f713a77376ee26f8aaafdcd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:59:04 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:59:04 2011 -0800"
      },
      "message": "xfrm: Handle blackhole route creation via afinfo.\n\nThat way we don\u0027t have to potentially do this in every xfrm_lookup()\ncaller.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80c0bc9e37adfc892af82cb6aa8cace79f8a96cb",
      "tree": "0f4abc233d9661e85c7c7ecb064a75a8f0984f1f",
      "parents": [
        "a1414715f0ac905fb4b3a158ff6548d37bbe6165"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:36:37 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:36:37 2011 -0800"
      },
      "message": "xfrm: Kill XFRM_LOOKUP_WAIT flag.\n\nThis can be determined from the flow flags instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "273447b352e69c327efdecfd6e1d6fe3edbdcd14",
      "tree": "dae1e0778ca973c25b74fd3dc9728616d6e65b73",
      "parents": [
        "5df65e5567a497a28067019b8ff08f98fb026629"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:27:04 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:27:04 2011 -0800"
      },
      "message": "ipv4: Kill can_sleep arg to ip_route_output_flow()\n\nThis boolean state is now available in the flow flags.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5df65e5567a497a28067019b8ff08f98fb026629",
      "tree": "776a8a2cfa2cf5962ea0d53dea8c6c8360a0c58d",
      "parents": [
        "420d44daa7aa1cc847e9e527f0a27a9ce61768ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:22:19 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:22:19 2011 -0800"
      },
      "message": "net: Add FLOWI_FLAG_CAN_SLEEP.\n\nAnd set is in contexts where the route resolution can sleep.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "420d44daa7aa1cc847e9e527f0a27a9ce61768ca",
      "tree": "a5aab8c6b925ba3da1079b7262f7d6c504406eb8",
      "parents": [
        "abdf7e7239da270e68262728f125ea94b9b7d42d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:19:23 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:19:23 2011 -0800"
      },
      "message": "ipv4: Make final arg to ip_route_output_flow to be boolean \"can_sleep\"\n\nSince that is what the current vague \"flags\" argument means.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abdf7e7239da270e68262728f125ea94b9b7d42d",
      "tree": "30c1246fac76ad7a4d2b1f8dcf3698b4d302b4de",
      "parents": [
        "68d0c6d34d586a893292d4fb633a3bf8c547b222"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:15:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:15:24 2011 -0800"
      },
      "message": "ipv4: Can final ip_route_connect() arg to boolean \"can_sleep\".\n\nSince that\u0027s what the current vague \"flags\" thing means.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "903ab86d195cca295379699299c5fc10beba31c7",
      "tree": "2b73fe727bf843bf0a0629dce044da61dc9cb166",
      "parents": [
        "f6b9664f8b711cf4fd53e70aa0d21f72d5bf806c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 01 02:36:48 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 12:35:42 2011 -0800"
      },
      "message": "udp: Add lockless transmit path\n\nThe UDP transmit path has been running under the socket lock\nfor a long time because of the corking feature.  This means that\ntransmitting to the same socket in multiple threads does not\nscale at all.\n\nHowever, as most users don\u0027t actually use corking, the locking\ncan be removed in the common case.\n\nThis patch creates a lockless fast path where corking is not used.\n\nPlease note that this does create a slight inaccuracy in the\nenforcement of socket send buffer limits.  In particular, we\nmay exceed the socket limit by up to (number of CPUs) * (packet\nsize) because of the way the limit is computed.\n\nAs the primary purpose of socket buffers is to indicate congestion,\nthis should not be a great problem for now.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6b9664f8b711cf4fd53e70aa0d21f72d5bf806c",
      "tree": "878a8438b00e58b9b898a74f3cc4a32c1d5d8477",
      "parents": [
        "1c32c5ad6fac8cee1a77449f5abf211e911ff830"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 01 02:36:48 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 12:35:03 2011 -0800"
      },
      "message": "udp: Switch to ip_finish_skb\n\nThis patch converts UDP to use the new ip_finish_skb API.  This\nwould then allows us to more easily use ip_make_skb which allows\nUDP to run without a socket lock.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c32c5ad6fac8cee1a77449f5abf211e911ff830",
      "tree": "6a7384abb34068adb298beb1967b11201d52ed48",
      "parents": [
        "1470ddf7f8cecf776921e5ccee72e3d2b3d60cbc"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 01 02:36:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 12:35:03 2011 -0800"
      },
      "message": "inet: Add ip_make_skb and ip_finish_skb\n\nThis patch adds the helper ip_make_skb which is like ip_append_data\nand ip_push_pending_frames all rolled into one, except that it does\nnot send the skb produced.  The sending part is carried out by\nip_send_skb, which the transport protocol can call after it has\ntweaked the skb.\n\nIt is meant to be called in cases where corking is not used should\nhave a one-to-one correspondence to sendmsg.\n\nThis patch also adds the helper ip_finish_skb which is meant to\nbe replace ip_push_pending_frames when corking is required.\nPreviously the protocol stack would peek at the socket write\nqueue and add its header to the first packet.  With ip_finish_skb,\nthe protocol stack can directly operate on the final skb instead,\njust like the non-corking case with ip_make_skb.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1470ddf7f8cecf776921e5ccee72e3d2b3d60cbc",
      "tree": "723eb6971efd9603908354ef1642cb9c8ed04e23",
      "parents": [
        "5a2ef92023506d4e9cd13617b5a46b4d0f1b6747"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 01 02:36:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 12:35:02 2011 -0800"
      },
      "message": "inet: Remove explicit write references to sk/inet in ip_append_data\n\nIn order to allow simultaneous calls to ip_append_data on the same\nsocket, it must not modify any shared state in sk or inet (other\nthan those that are designed to allow that such as atomic counters).\n\nThis patch abstracts out write references to sk and inet_sk in\nip_append_data and its friends so that we may use the underlying\ncode in parallel.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a2ef92023506d4e9cd13617b5a46b4d0f1b6747",
      "tree": "995af8882f53c67ed79e10a1bd37d523ba7986a9",
      "parents": [
        "9836f4080fd5b680cc2d9656355c1a7c681b1ffd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 01 02:36:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 12:35:02 2011 -0800"
      },
      "message": "inet: Remove unused sk_sndmsg_* from UFO\n\nUFO doesn\u0027t really use the sk_sndmsg_* parameters so touching\nthem is pointless.  It can\u0027t use them anyway since the whole\npoint of UFO is to use the original pages without copying.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dca8b089c95d94afa1d715df257de0286350e99d",
      "tree": "f686fef8ef3d80f81bd9f91072ce8c5f347e3e7c",
      "parents": [
        "33765d06033cc4ba4d9ae6d3d606ef3f28773c1b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 24 13:38:12 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 24 13:38:12 2011 -0800"
      },
      "message": "ipv4: Rearrange how ip_route_newports() gets port keys.\n\nip_route_newports() is the only place in the entire kernel that\ncares about the port members in the routing cache entry\u0027s lookup\nflow key.\n\nTherefore the only reason we store an entire flow inside of the\nstruct rtentry is for this one special case.\n\nRewrite ip_route_newports() such that:\n\n1) The caller passes in the original port values, so we don\u0027t need\n   to use the rth-\u003efl.fl_ip_{s,d}port values to remember them.\n\n2) The lookup flow is constructed by hand instead of being copied\n   from the routing cache entry\u0027s flow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e6b930f21b0a442f9d5db97c8314b4d91be1c27",
      "tree": "035572d5908abe8092bae44befcc99720ab50a1b",
      "parents": [
        "200ce96e5601391a6d97c87067edf21fa94fb74e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 24 00:14:45 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 23 23:07:38 2011 -0800"
      },
      "message": "xfrm: Const\u0027ify address arguments to -\u003edst_lookup()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19bd62441c36279ab33e311faebd357ef04ba344",
      "tree": "d9666f25d4212876d7feb0d75303ac246c8846ef",
      "parents": [
        "214e005bc32c7045b8554f9f0fb07b3fcce2cd42"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 24 00:07:20 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 23 23:07:37 2011 -0800"
      },
      "message": "xfrm: Const\u0027ify tmpl and address arguments to -\u003einit_temprop()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73e5ebb20f2809e2eb0b904448481e010c2599d7",
      "tree": "b41c044d23f9b488ac45d743cf1a0c9e9e90ca79",
      "parents": [
        "0c7b3eefb4ab8df245e94feb0d83c1c3450a3d87"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 17:51:44 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 17:51:44 2011 -0800"
      },
      "message": "xfrm: Mark flowi arg to -\u003einit_tempsel() const.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c7b3eefb4ab8df245e94feb0d83c1c3450a3d87",
      "tree": "895c8242220a1bbbdf0704bba009fb3a424af316",
      "parents": [
        "05d8402576c9c1b85bfc9e4f9d6a21c27ccbd5b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 17:48:57 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 17:48:57 2011 -0800"
      },
      "message": "xfrm: Mark flowi arg to -\u003efill_dst() const.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05d8402576c9c1b85bfc9e4f9d6a21c27ccbd5b1",
      "tree": "d3406de85a12ae45b75ef109bd8e991b119f55b9",
      "parents": [
        "e8a4e37716dbc964e1cd18bca1a62fbd11805c1d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 17:47:10 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 17:47:10 2011 -0800"
      },
      "message": "xfrm: Mark flowi arg to -\u003eget_tos() const.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c24f691b56107feeba076616982093ee2d3c8fb5",
      "tree": "90317e187a511635fdb8682384fc8eb99f1de21f",
      "parents": [
        "5f04d5068a90602b93a7953e9a47c496705c6976"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Mon Feb 07 12:57:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 21 11:31:18 2011 -0800"
      },
      "message": "tcp: undo_retrans counter fixes\n\nFix a bug that undo_retrans is incorrectly decremented when undo_marker is\nnot set or undo_retrans is already 0. This happens when sender receives\nmore DSACK ACKs than packets retransmitted during the current\nundo phase. This may also happen when sender receives DSACK after\nthe undo operation is completed or cancelled.\n\nFix another bug that undo_retrans is incorrectly incremented when\nsender retransmits an skb and tcp_skb_pcount(skb) \u003e 1 (TSO). This case\nis rare but not impossible.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "089c34827e52346f0303d1e6a7b744c1f4da3095",
      "tree": "79f42bd0c4782aca57f3fe9d0f941f5c04b566a4",
      "parents": [
        "81146ec1b85067e70b71e81b5ecd9998ce054c0e"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Sat Feb 19 21:55:45 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 20 11:10:14 2011 -0800"
      },
      "message": "tcp: Remove debug macro of TCP_CHECK_TIMER\n\nNow, TCP_CHECK_TIMER is not used for debuging, it does nothing.\nAnd, it has been there for several years, maybe 6 years.\n\nRemove it to keep code clearer.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da935c66bacb3ed9ada984b053297f87c2dff63a",
      "tree": "46278da2b312c73f1375b830d7e5912bf23abd78",
      "parents": [
        "9435eb1cf0b76b323019cebf8d16762a50a12a19",
        "2205a6ea93fea76f88b43727fea53f3ce3790d6f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 19:17:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 19:17:35 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/e1000e/netdev.c\n\tnet/xfrm/xfrm_policy.c\n"
    },
    {
      "commit": "91035f0b7d89291af728b6f3e370c3be58fcbe1b",
      "tree": "e15aeadf32b4e4c2874c72be0100dbe0f222f84a",
      "parents": [
        "ece639caa33c85c8805fa4a0a5955b8de9c95346"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Feb 18 22:35:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 18:59:04 2011 -0800"
      },
      "message": "tcp: fix inet_twsk_deschedule()\n\nEric W. Biederman reported a lockdep splat in inet_twsk_deschedule()\n\nThis is caused by inet_twsk_purge(), run from process context,\nand commit 575f4cd5a5b6394577 (net: Use rcu lookups in inet_twsk_purge.)\nremoved the BH disabling that was necessary.\n\nAdd the BH disabling but fine grained, right before calling\ninet_twsk_deschedule(), instead of whole function.\n\nWith help from Linus Torvalds and Eric W. Biederman\n\nReported-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCC: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: stable \u003cstable@kernel.org\u003e (# 2.6.33+)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "9435eb1cf0b76b323019cebf8d16762a50a12a19"
}
