)]}'
{
  "log": [
    {
      "commit": "9f593653742d1dd816c4e94c6e5154a57ccba6d1",
      "tree": "1e71181cc80da8dc3d6e1da202943482b9eb5500",
      "parents": [
        "fab00c5d15091546be681426c60b2ed2c10513bf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 18 21:32:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:32:32 2008 -0700"
      },
      "message": "nf_nat: use secure_ipv4_port_ephemeral() for NAT port randomization\n\nUse incoming network tuple as seed for NAT port randomization.\nThis avoids concerns of leaking net_random() bits, and also gives better\nport distribution. Don\u0027t have NAT server, compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n\n[ added missing EXPORT_SYMBOL_GPL ]\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46faec9858e8943226464dac50e205bf210d9174",
      "tree": "548640a9a13c8c9d5c06289d2ea249e0195eb994",
      "parents": [
        "8e0f36ec371ef4804da46d962d5272b3efb04481"
      ],
      "author": {
        "name": "Anders Grafström",
        "email": "grfstrm@users.sourceforge.net",
        "time": "Mon Aug 18 21:29:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:29:57 2008 -0700"
      },
      "message": "netfilter: ipt_addrtype: Fix matching of inverted destination address type\n\nThis patch fixes matching of inverted destination address type.\n\nSigned-off-by: Anders Grafström \u003cgrfstrm@users.sourceforge.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6153b5b77650879d78dec76414213c76dd8d574",
      "tree": "05f4d13104c1dd6dd7c0f04d3815aededec323b8",
      "parents": [
        "323c048836f73a11ded6f9743feda21c00465cb0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Aug 15 13:44:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 13:44:31 2008 -0700"
      },
      "message": "ipv4: Disable route secret interval on zero interval\n\nLet me first state that disabling the route cache hash rebuild\nshould not be done without extensive analysis on the risk profile\nand careful deliberation.\n\nHowever, there are times when this can be done safely or for\ntesting.  For example, when you have mechanisms for ensuring\nthat offending parties do not exist in your network.\n\nThis patch lets the user disable the rebuild if the interval is\nset to zero.  This also incidentally fixes a divide-by-zero error\nwith name-spaces.\n\nIn addition, this patch makes the effect of an interval change\nimmediate rather than it taking effect at the next rebuild as\nis currently the case.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "877acedc0d3ea07f7b36573ed2f1f479c2c1eefd",
      "tree": "572dfad981cfd3f32e4661cb89cfc88def25bdf8",
      "parents": [
        "1bb5bd2c713cdf19794996fafd7b48da4c4b0113"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Aug 13 16:15:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 16:15:57 2008 -0700"
      },
      "message": "netns: Fix crash by making igmp per namespace\n\nThis patch makes the multicast socket to be per namespace.\n\nWhen a network namespace is created, other than the init_net and a\nmulticast packet is received, the kernel goes to a hang or a kernel panic.\n\nHow to reproduce ?\n\n * create a child network namespace\n * create a pair virtual device veth\n    * ip link add type veth\n * move one side to the pair network device to the child namespace\n    * ip link set netns \u003cchildpid\u003e dev veth1\n * ping -I veth0 224.0.0.1\n\nThe bug appears because the function ip_mc_init_dev does not initialize\nthe different multicast fields as it exits because it is not the init_net.\n\nBUG: soft lockup - CPU#0 stuck for 61s! [avahi-daemon:2695]\nModules linked in:\nirq event stamp: 50350\nhardirqs last  enabled at (50349): [\u003cc03ee949\u003e] _spin_unlock_irqrestore+0x34/0x39\nhardirqs last disabled at (50350): [\u003cc03ec639\u003e] schedule+0x9f/0x5ff\nsoftirqs last  enabled at (45712): [\u003cc0374d4b\u003e] ip_setsockopt+0x8e7/0x909\nsoftirqs last disabled at (45710): [\u003cc03ee682\u003e] _spin_lock_bh+0x8/0x27\n\nPid: 2695, comm: avahi-daemon Not tainted (2.6.27-rc2-00029-g0872073 #3)\nEIP: 0060:[\u003cc03ee47c\u003e] EFLAGS: 00000297 CPU: 0\nEIP is at __read_lock_failed+0x8/0x10\nEAX: c4f38810 EBX: c4f38810 ECX: 00000000 EDX: c04cc22e\nESI: fb0000e0 EDI: 00000011 EBP: 0f02000a ESP: c4e3faa0\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nCR0: 8005003b CR2: 44618a40 CR3: 04e37000 CR4: 000006d0\nDR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\nDR6: ffff0ff0 DR7: 00000400\n [\u003cc02311f8\u003e] ? _raw_read_lock+0x23/0x25\n [\u003cc0390666\u003e] ? ip_check_mc+0x1c/0x83\n [\u003cc036d478\u003e] ? ip_route_input+0x229/0xe92\n [\u003cc022e2e4\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc0104c9c\u003e] ? do_IRQ+0x69/0x7d\n [\u003cc0102e64\u003e] ? restore_nocheck_notrace+0x0/0xe\n [\u003cc036fdba\u003e] ? ip_rcv+0x227/0x505\n [\u003cc0358764\u003e] ? netif_receive_skb+0xfe/0x2b3\n [\u003cc03588d2\u003e] ? netif_receive_skb+0x26c/0x2b3\n [\u003cc035af31\u003e] ? process_backlog+0x73/0xbd\n [\u003cc035a8cd\u003e] ? net_rx_action+0xc1/0x1ae\n [\u003cc01218a8\u003e] ? __do_softirq+0x7b/0xef\n [\u003cc0121953\u003e] ? do_softirq+0x37/0x4d\n [\u003cc035b50d\u003e] ? dev_queue_xmit+0x3d4/0x40b\n [\u003cc0122037\u003e] ? local_bh_enable+0x96/0xab\n [\u003cc035b50d\u003e] ? dev_queue_xmit+0x3d4/0x40b\n [\u003cc012181e\u003e] ? _local_bh_enable+0x79/0x88\n [\u003cc035fcb8\u003e] ? neigh_resolve_output+0x20f/0x239\n [\u003cc0373118\u003e] ? ip_finish_output+0x1df/0x209\n [\u003cc0373364\u003e] ? ip_dev_loopback_xmit+0x62/0x66\n [\u003cc0371db5\u003e] ? ip_local_out+0x15/0x17\n [\u003cc0372013\u003e] ? ip_push_pending_frames+0x25c/0x2bb\n [\u003cc03891b8\u003e] ? udp_push_pending_frames+0x2bb/0x30e\n [\u003cc038a189\u003e] ? udp_sendmsg+0x413/0x51d\n [\u003cc038a1a9\u003e] ? udp_sendmsg+0x433/0x51d\n [\u003cc038f927\u003e] ? inet_sendmsg+0x35/0x3f\n [\u003cc034f092\u003e] ? sock_sendmsg+0xb8/0xd1\n [\u003cc012d554\u003e] ? autoremove_wake_function+0x0/0x2b\n [\u003cc022e6de\u003e] ? copy_from_user+0x32/0x5e\n [\u003cc022e6de\u003e] ? copy_from_user+0x32/0x5e\n [\u003cc034f238\u003e] ? sys_sendmsg+0x18d/0x1f0\n [\u003cc0175e90\u003e] ? pipe_write+0x3cb/0x3d7\n [\u003cc0170347\u003e] ? do_sync_write+0xbe/0x105\n [\u003cc012d554\u003e] ? autoremove_wake_function+0x0/0x2b\n [\u003cc03503b2\u003e] ? sys_socketcall+0x176/0x1b0\n [\u003cc01085ea\u003e] ? syscall_trace_enter+0x6c/0x7b\n [\u003cc0102e1a\u003e] ? syscall_call+0x7/0xb\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a37c10ed460872d41259659f7f589edebdc42b7",
      "tree": "526d5bc97d37b0836cadf5564547903a3bde8b21",
      "parents": [
        "37cc6780170f6f4fc3f9746d6a9bb2da1d999d7b",
        "e93615d0866a974afc7148172f8382e2af48c985"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 11 18:04:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 11 18:04:35 2008 -0700"
      },
      "message": "Merge branch \u0027stealer/ipvs/for-davem\u0027 of git://git.stealer.net/linux-2.6\n"
    },
    {
      "commit": "e93615d0866a974afc7148172f8382e2af48c985",
      "tree": "f07e57c99390cc3b535c4bf4ae3c3f5a94da1579",
      "parents": [
        "519e49e888458649dde453d36c08b7f3432525dc"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Aug 11 17:19:14 2008 +1000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 14:00:55 2008 +0200"
      },
      "message": "ipvs: Explictly clear ip_vs_stats members\n\nIn order to align the coding styles of ip_vs_zero_stats() and\nits child-function ip_vs_zero_estimator(), clear ip_vs_stats\nmembers explicitlty rather than doing a limited memset().\n\nThis was chosen over modifying ip_vs_zero_estimator() to use\nmemset() as it is more robust against changes in members\nin the relevant structures. memset() would be prefered if\nall members of the structure were to be cleared.\n\nCc: Sven Wegener \u003csven.wegener@stealer.net\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\n"
    },
    {
      "commit": "519e49e888458649dde453d36c08b7f3432525dc",
      "tree": "10f71cce8b9fe0a7ec0a764a24cdadc4f7446a2c",
      "parents": [
        "3a14a313f9b406c37ab7e3f855b060eb8587b8c7"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 18:24:41 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 14:00:46 2008 +0200"
      },
      "message": "ipvs: No need to zero out ip_vs_stats during initialization\n\nIt\u0027s a global variable and automatically initialized to zero. And now we can\nalso initialize the lock at compile time.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "3a14a313f9b406c37ab7e3f855b060eb8587b8c7",
      "tree": "86dbebf182b9f8dc66cfce4e3defb79fb9e279cb",
      "parents": [
        "5587da55fbf332ab8d1b37637536f94bc373867f"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 18:24:41 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 14:00:43 2008 +0200"
      },
      "message": "ipvs: Embed estimator object into stats object\n\nThere\u0027s no reason for dynamically allocating an estimator object for every\nstats object. Directly embed an estimator object into every stats object and\nswitch to using the kernel-provided list implementation. This makes the code\nmuch simpler and faster, as we do not need to traverse the list of all\nestimators to find the one belonging to a stats object. There\u0027s no need to use\nan rwlock, as we only have one reader. Also reorder the members of the\nestimator structure slightly to avoid padding overhead. This can\u0027t be done\nwith the stats object as the members are currently copied to our user space\nobject via memcpy() and changing it would break ABI.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "5587da55fbf332ab8d1b37637536f94bc373867f",
      "tree": "438cb4cd638a0c8f8f70100567407deafabb1388",
      "parents": [
        "048cf48b897bcae9e6fa8b46b6976dab5e710e3c"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 18:24:40 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:46:27 2008 +0200"
      },
      "message": "ipvs: Mark net_vs_ctl_path const\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "048cf48b897bcae9e6fa8b46b6976dab5e710e3c",
      "tree": "444c1c2164892286d1d3005f0ec1d0c44dd9d58f",
      "parents": [
        "d149ccc9cf85cdf089c1b2189ade111305712b0c"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 18:24:35 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:46:18 2008 +0200"
      },
      "message": "ipvs: Annotate init functions with __init\n\nBeing able to discard these functions saves a couple of bytes at runtime. The\ncleanup functions can\u0027t be annotated with __exit as they are also called from\ninit functions.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d149ccc9cf85cdf089c1b2189ade111305712b0c",
      "tree": "b6ed306fa7433aac1672c64ff317d92a885eaa81",
      "parents": [
        "66a0be47200fff30f8c482ea584052c6affb08cb"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 09:18:02 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:46:06 2008 +0200"
      },
      "message": "ipvs: Initialize schedulers\u0027 struct list_head at compile time\n\nNo need to do it at runtime and this saves a couple of bytes in the text\nsection.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "66a0be47200fff30f8c482ea584052c6affb08cb",
      "tree": "66785f09491c3e9b744ba886b978efba6baf65c2",
      "parents": [
        "afdd614071aef652f5a3e2a06965de049dd8339b"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 09:18:02 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:45:57 2008 +0200"
      },
      "message": "ipvs: Use list_empty() instead of open-coding the same functionality\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "8ab19ea36c5c5340ff598e4d15fc084eb65671dc",
      "tree": "031f48201a1e3a07a22a8f6734d0bb1c806b2c28",
      "parents": [
        "bc0fde2fad007a81ecffceb25a893a6c3f1ed767"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 09:17:59 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:45:40 2008 +0200"
      },
      "message": "ipvs: Fix possible deadlock in estimator code\n\nThere is a slight chance for a deadlock in the estimator code. We can\u0027t call\ndel_timer_sync() while holding our lock, as the timer might be active and\nspinning for the lock on another cpu. Work around this issue by using\ntry_to_del_timer_sync() and releasing the lock. We could actually delete the\ntimer outside of our lock, as the add and kill functions are only every called\nfrom userspace via [gs]etsockopt() and are serialized by a mutex, but better\nmake this explicit.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nCc: stable \u003cstable@kernel.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "bc0fde2fad007a81ecffceb25a893a6c3f1ed767",
      "tree": "961823abcc7cabcfde900fdc58d8a19178c0c5a7",
      "parents": [
        "8123b421e8ed944671d7241323ed3198cccb4041"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 09:14:05 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:44:38 2008 +0200"
      },
      "message": "ipvs: Fix possible deadlock in sync code\n\nCommit 998e7a76804b7a273a0460c2cdd5a51fa9856717 (\"ipvs: Use kthread_run()\ninstead of doing a double-fork via kernel_thread()\") introduced a possible\ndeadlock in the sync code. We need to use the _bh versions for the lock, as the\nlock is also accessed from a bottom half.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d97106ea52aa57e63ff40d04479016836bbb5a4e",
      "tree": "5969603d7af02a5672f61c84c2017a6e064472f5",
      "parents": [
        "8123b421e8ed944671d7241323ed3198cccb4041"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Aug 09 00:35:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 09 00:35:05 2008 -0700"
      },
      "message": "udp: Drop socket lock for encapsulated packets\n\nThe socket lock is there to protect the normal UDP receive path.\nEncapsulation UDP sockets don\u0027t need that protection.  In fact\nthe locking is deadly for them as they may contain another UDP\npacket within, possibly with the same addresses.\n\nAlso the nested bit was copied from TCP.  TCP needs it because\nof accept(2) spawning sockets.  This simply doesn\u0027t apply to UDP\nso I\u0027ve removed it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2aaab9a0ccfd2ccf1c957cc2120da8d5593955c5",
      "tree": "7ac56f0461d1ed84b7210aae1670373786e80ea6",
      "parents": [
        "827ebd6410005b05b3c930ef6a116666c6986886"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Thu Aug 07 20:27:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 07 20:27:45 2008 -0700"
      },
      "message": "tcp: (whitespace only) fix confusing indentation\n\nThe indentation in part of tcp_minisocks makes it look like one of the if\nstatements is much more important than it actually is.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6edafaaf6f5e70ef1e620ff01bd6bacebe1e0718",
      "tree": "a470cdfd59d88ccf4acf4726db6b5d8d4df88da7",
      "parents": [
        "ee7af8264dafa0c8c76a8dc596803966c2e29ebc"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Wed Aug 06 23:50:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 23:50:04 2008 -0700"
      },
      "message": "tcp: Fix kernel panic when calling tcp_v(4/6)_md5_do_lookup\n\nIf the following packet flow happen, kernel will panic.\nMathineA\t\t\tMathineB\n\t\tSYN\n\t----------------------\u003e    \n        \tSYN+ACK\n\t\u003c----------------------\n\t\tACK(bad seq)\n\t----------------------\u003e\nWhen a bad seq ACK is received, tcp_v4_md5_do_lookup(skb-\u003esk, ip_hdr(skb)-\u003edaddr))\nis finally called by tcp_v4_reqsk_send_ack(), but the first parameter(skb-\u003esk) is \nNULL at that moment, so kernel panic happens.\nThis patch fixes this bug.\n\nOOPS output is as following:\n[  302.812793] IP: [\u003cc05cfaa6\u003e] tcp_v4_md5_do_lookup+0x12/0x42\n[  302.817075] Oops: 0000 [#1] SMP \n[  302.819815] Modules linked in: ipv6 loop dm_multipath rtc_cmos rtc_core rtc_lib pcspkr pcnet32 mii i2c_piix4 parport_pc i2c_core parport ac button ata_piix libata dm_mod mptspi mptscsih mptbase scsi_transport_spi sd_mod scsi_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded: scsi_wait_scan]\n[  302.849946] \n[  302.851198] Pid: 0, comm: swapper Not tainted (2.6.27-rc1-guijf #5)\n[  302.855184] EIP: 0060:[\u003cc05cfaa6\u003e] EFLAGS: 00010296 CPU: 0\n[  302.858296] EIP is at tcp_v4_md5_do_lookup+0x12/0x42\n[  302.861027] EAX: 0000001e EBX: 00000000 ECX: 00000046 EDX: 00000046\n[  302.864867] ESI: ceb69e00 EDI: 1467a8c0 EBP: cf75f180 ESP: c0792e54\n[  302.868333]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n[  302.871287] Process swapper (pid: 0, ti\u003dc0792000 task\u003dc0712340 task.ti\u003dc0746000)\n[  302.875592] Stack: c06f413a 00000000 cf75f180 ceb69e00 00000000 c05d0d86 000016d0 ceac5400 \n[  302.883275]        c05d28f8 000016d0 ceb69e00 ceb69e20 681bf6e3 00001000 00000000 0a67a8c0 \n[  302.890971]        ceac5400 c04250a3 c06f413a c0792eb0 c0792edc cf59a620 cf59a620 cf59a634 \n[  302.900140] Call Trace:\n[  302.902392]  [\u003cc05d0d86\u003e] tcp_v4_reqsk_send_ack+0x17/0x35\n[  302.907060]  [\u003cc05d28f8\u003e] tcp_check_req+0x156/0x372\n[  302.910082]  [\u003cc04250a3\u003e] printk+0x14/0x18\n[  302.912868]  [\u003cc05d0aa1\u003e] tcp_v4_do_rcv+0x1d3/0x2bf\n[  302.917423]  [\u003cc05d26be\u003e] tcp_v4_rcv+0x563/0x5b9\n[  302.920453]  [\u003cc05bb20f\u003e] ip_local_deliver_finish+0xe8/0x183\n[  302.923865]  [\u003cc05bb10a\u003e] ip_rcv_finish+0x286/0x2a3\n[  302.928569]  [\u003cc059e438\u003e] dev_alloc_skb+0x11/0x25\n[  302.931563]  [\u003cc05a211f\u003e] netif_receive_skb+0x2d6/0x33a\n[  302.934914]  [\u003cd0917941\u003e] pcnet32_poll+0x333/0x680 [pcnet32]\n[  302.938735]  [\u003cc05a3b48\u003e] net_rx_action+0x5c/0xfe\n[  302.941792]  [\u003cc042856b\u003e] __do_softirq+0x5d/0xc1\n[  302.944788]  [\u003cc042850e\u003e] __do_softirq+0x0/0xc1\n[  302.948999]  [\u003cc040564b\u003e] do_softirq+0x55/0x88\n[  302.951870]  [\u003cc04501b1\u003e] handle_fasteoi_irq+0x0/0xa4\n[  302.954986]  [\u003cc04284da\u003e] irq_exit+0x35/0x69\n[  302.959081]  [\u003cc0405717\u003e] do_IRQ+0x99/0xae\n[  302.961896]  [\u003cc040422b\u003e] common_interrupt+0x23/0x28\n[  302.966279]  [\u003cc040819d\u003e] default_idle+0x2a/0x3d\n[  302.969212]  [\u003cc0402552\u003e] cpu_idle+0xb2/0xd2\n[  302.972169]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  302.974274] Code: fc ff 84 d2 0f 84 df fd ff ff e9 34 fe ff ff 83 c4 0c 5b 5e 5f 5d c3 90 90 57 89 d7 56 53 89 c3 50 68 3a 41 6f c0 e8 e9 55 e5 ff \u003c8b\u003e 93 9c 04 00 00 58 85 d2 59 74 1e 8b 72 10 31 db 31 c9 85 f6 \n[  303.011610] EIP: [\u003cc05cfaa6\u003e] tcp_v4_md5_do_lookup+0x12/0x42 SS:ESP 0068:c0792e54\n[  303.018360] Kernel panic - not syncing: Fatal exception in interrupt\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11d46123bfea068a48483f00518d301f452647fb",
      "tree": "d4c1e82e26e1f8dd3ac79e51826af246432fd74a",
      "parents": [
        "abf5cdb89d09ca981db10e1a85fd8531440165f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 18:30:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 18:30:43 2008 -0700"
      },
      "message": "ipv4: Fix over-ifdeffing of ip_static_sysctl_init.\n\nNoticed by Paulius Zaleckas.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb49e63093498cd17382018495b8cfb5b4a679bd",
      "tree": "a824e1d17f942d24d4c1853cdefb771cb6ff226e",
      "parents": [
        "9714be7da8b32f36d2468fe08ff603b6402df8cf"
      ],
      "author": {
        "name": "Joakim Koskela",
        "email": "jookos@gmail.com",
        "time": "Wed Aug 06 02:39:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 02:39:30 2008 -0700"
      },
      "message": "ipsec: Interfamily IPSec BEET\n\nHere\u0027s a revised version, based on Herbert\u0027s comments, of a fix for\nthe ipv6-inner, ipv4-outer interfamily ipsec beet mode. It fixes the\nnetwork header adjustment in interfamily, and doesn\u0027t reserve space\nfor the pseudo header anymore when we have ipv6 as the inner family.\n\nSigned-off-by: Joakim Koskela \u003cjookos@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d273f8d011c351c9603c1dbfeae2c7458edd30d",
      "tree": "1f57a87061f07f69a5c580540133e601ced33f96",
      "parents": [
        "0967d61ea0d8e8a7826bd8949cd93dd1e829ac55"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed Aug 06 02:33:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 02:33:49 2008 -0700"
      },
      "message": "ipv4: replace dst_metric() with dst_mtu() in net/ipv4/route.c.\n\nThis patch replaces dst_metric() with dst_mtu() in net/ipv4/route.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf044c8778de98dae29c5ce9973b7e43964674f",
      "tree": "aca4e834cf1a9d15d348f9c23905dcf9f443ca85",
      "parents": [
        "e5a4a72d4f88f4389e9340d383ca67031d1b8536"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 03 14:06:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 14:06:44 2008 -0700"
      },
      "message": "net: Add missing extra2 parameter for ip_default_ttl sysctl\n\nCommit 76e6ebfb40a2455c18234dcb0f9df37533215461 (\"netns: add namespace\nparameter to rt_cache_flush\") acceses the extra2 parameter of the\nip_default_ttl ctl_table, but it is never set to a meaningful\nvalue. When e84f84f276473dcc673f360e8ff3203148bdf0e2 (\"netns: place\nrt_genid into struct net\") is applied, we\u0027ll oops in\nrt_cache_invalidate(). Set extra2 to init_net, to avoid that.\n\nReported-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nTested-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a5467fd600669cda488771dac3e951034fe2b08",
      "tree": "20c3c73ff3571e525193aca20d3602161b4e90be",
      "parents": [
        "676056132425ac425d7215cdaa8bd25582e07966",
        "00b1304c4ca81dd893973cc620b87a5c3ff3f660"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:35:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:35:16 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  tcp: MD5: Fix IPv6 signatures\n  skbuff: add missing kernel-doc for do_not_encrypt\n  net/ipv4/route.c: fix build error\n  tcp: MD5: Fix MD5 signatures on certain ACK packets\n  ipv6: Fix ip6_xmit to send fragments if ipfragok is true\n  ipvs: Move userspace definitions to include/linux/ip_vs.h\n  netdev: Fix lockdep warnings in multiqueue configurations.\n  netfilter: xt_hashlimit: fix race between htable_destroy and htable_gc\n  netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations\n  netfilter: nf_conntrack_tcp: decrease timeouts while data in unacknowledged\n  irda: replace __FUNCTION__ with __func__\n  nsc-ircc: default to dongle type 9 on IBM hardware\n  bluetooth: add quirks for a few hci_usb devices\n  hysdn: remove the packed attribute from PofTimStamp_tag\n  isdn: use the common ascii hex helpers\n  tg3: adapt tg3 to use reworked PCI PM code\n  atm: fix direct casts of pointers to u32 in the InterPhase driver\n  atm: fix const assignment/discard warnings in the ATM networking driver\n  net: use the common ascii hex helpers\n  random32: seeding improvement\n  ...\n"
    },
    {
      "commit": "a1bc6eb4b499ae67ada9a01660010580b6569403",
      "tree": "95bcb20bd9ca30a82343e49d59e1e7c470bb057e",
      "parents": [
        "f418b006079ce537daf9436215f1d2a47e451602"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 30 06:32:52 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:22 2008 -0400"
      },
      "message": "[PATCH] ipv4_static_sysctl_init() should be under CONFIG_SYSCTL\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8a9204db665365354b349ed5b0bc054f0433a2a4",
      "tree": "e5ecc6efda8fc3f0d6b0c38319bdfd86edf4c62f",
      "parents": [
        "90b7e1120bb43ffaabb88d28f80a0c2e13167b15"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 20:51:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 20:51:22 2008 -0700"
      },
      "message": "net/ipv4/route.c: fix build error\n\nfix:\n\nnet/ipv4/route.c: In function \u0027ip_static_sysctl_init\u0027:\nnet/ipv4/route.c:3225: error: \u0027ipv4_route_path\u0027 undeclared (first use in this function)\nnet/ipv4/route.c:3225: error: (Each undeclared identifier is reported only once\nnet/ipv4/route.c:3225: error: for each function it appears in.)\nnet/ipv4/route.c:3225: error: \u0027ipv4_route_table\u0027 undeclared (first use in this function)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90b7e1120bb43ffaabb88d28f80a0c2e13167b15",
      "tree": "5264787eb3c303186cff15bfd6b7ebef2a3ecb7b",
      "parents": [
        "77e2f14f71d68d05945f1d30ca55b5194d6ab1ce"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Thu Jul 31 20:49:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 20:49:48 2008 -0700"
      },
      "message": "tcp: MD5: Fix MD5 signatures on certain ACK packets\n\nI noticed, looking at tcpdumps, that timewait ACKs were getting sent\nwith an incorrect MD5 signature when signatures were enabled.\n\nI broke this in 49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d (\"tcp: Fix\nMD5 signatures for non-linear skbs\"). I didn\u0027t take into account that\nthe skb passed to tcp_*_send_ack was the inbound packet, thus the\nsource and dest addresses need to be swapped when calculating the MD5\npseudoheader.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8ddc9163c6a16cd62531dba1ec5020484e33b02",
      "tree": "316873162ae914edd6a4f250693017486dede52a",
      "parents": [
        "ae375044d31075a31de5a839e07ded7f67b660aa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jul 31 00:38:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 00:38:31 2008 -0700"
      },
      "message": "netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations\n\nThe thing is that recent_mt_destroy first flushes the entries\nfrom table with the recent_table_flush and only *after* this\nremoves the proc file, corresponding to that table.\n\nThus, if we manage to write to this file the \u0027+XXX\u0027 command we\nwill leak some entries. If we manage to write there a \u0027clean\u0027\ncommand we\u0027ll race in two recent_table_flush flows, since the\nrecent_mt_destroy calls this outside the recent_lock.\n\nThe proper solution as I see it is to remove the proc file first\nand then go on with flushing the table. This flushing becomes\nsafe w/o the lock, since the table is already inaccessible from\nthe outside.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a8341b68b5269de71c32c6df91f4b0298da031d",
      "tree": "e56055f2d31c4082a0a91b613c301e24c8ee2a14",
      "parents": [
        "697f8d0348a652593d195a13dd1067d9df911a82"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jul 30 16:30:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 16:30:15 2008 -0700"
      },
      "message": "net: use the common ascii hex helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "785957d3e8c6fb37b18bf671923a76dbd8240025",
      "tree": "59f089e4bd109ad9d896c6e6a0f1699f42a34136",
      "parents": [
        "8d50b53d66a8a6ae41bafbdcabe401467803f33a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:03:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:27:25 2008 -0700"
      },
      "message": "tcp: MD5: Use MIB counter instead of warning for MD5 mismatch.\n\nFrom a report by Matti Aarnio, and preliminary patch by Adam Langley.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f9f489a4eeaa3c8a8618e078a5270d2c4872b67",
      "tree": "be3348d282a5ac20275710afaaedc2a45adbb8d6",
      "parents": [
        "15d3b4a26291c170563e2b25ded5de1324f93959"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 27 04:40:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:51 2008 -0700"
      },
      "message": "net: missing bits of net-namespace / sysctl\n\nPiss-poor sysctl registration API strikes again, film at 11...\nWhat we really need is _pathname_ required to be present in\nalready registered table, so that kernel could warn about bad\norder.  That\u0027s the next target for sysctl stuff (and generally\nsaner and more explicit order of initialization of ipv[46]\ninternals wouldn\u0027t hurt either).\n\nFor the time being, here are full fixups required by ..._rotable()\nstuff; we make per-net sysctl sets descendents of \"ro\" one and\nmake sure that sufficient skeleton is there before we start registering\nper-net sysctls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15d3b4a26291c170563e2b25ded5de1324f93959",
      "tree": "9bea548a7de5215c58a091d58f4eefdb92349f2c",
      "parents": [
        "2c3abab7c95295f319dc8899b74cbd60140fcdfb",
        "8be1a6d6c77ab4532e4476fdb8177030ef48b52c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:08 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "2c3abab7c95295f319dc8899b74cbd60140fcdfb",
      "tree": "b6fbad678b3967208b045e3a9aa3962d20c0dccf",
      "parents": [
        "6c3b8fc618905d7599dcc514c99ce4293d476f39"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 03:59:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 03:59:24 2008 -0700"
      },
      "message": "ipcomp: Fix warnings after ipcomp consolidation.\n\nnet/ipv4/ipcomp.c: In function ‘ipcomp4_init_state’:\nnet/ipv4/ipcomp.c:109: warning: unused variable ‘calg_desc’\nnet/ipv4/ipcomp.c:108: warning: unused variable ‘ipcd’\nnet/ipv4/ipcomp.c:107: warning: ‘err’ may be used uninitialized in this function\nnet/ipv6/ipcomp6.c: In function ‘ipcomp6_init_state’:\nnet/ipv6/ipcomp6.c:139: warning: unused variable ‘calg_desc’\nnet/ipv6/ipcomp6.c:138: warning: unused variable ‘ipcd’\nnet/ipv6/ipcomp6.c:137: warning: ‘err’ may be used uninitialized in this function\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4836e3007882984279ca63d3c42bf0b14616eb78",
      "tree": "28bf22726964e068b825491d71a141eefedbe5f8",
      "parents": [
        "5c7c204aeca51ccfad63caab4fcdc5d8026c0fd8",
        "4e1e018ecc6f7bfd10fc75b3ff9715cc8164e0a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (39 commits)\n  [PATCH] fix RLIM_NOFILE handling\n  [PATCH] get rid of corner case in dup3() entirely\n  [PATCH] remove remaining namei_{32,64}.h crap\n  [PATCH] get rid of indirect users of namei.h\n  [PATCH] get rid of __user_path_lookup_open\n  [PATCH] f_count may wrap around\n  [PATCH] dup3 fix\n  [PATCH] don\u0027t pass nameidata to __ncp_lookup_validate()\n  [PATCH] don\u0027t pass nameidata to gfs2_lookupi()\n  [PATCH] new (local) helper: user_path_parent()\n  [PATCH] sanitize __user_walk_fd() et.al.\n  [PATCH] preparation to __user_walk_fd cleanup\n  [PATCH] kill nameidata passing to permission(), rename to inode_permission()\n  [PATCH] take noexec checks to very few callers that care\n  Re: [PATCH 3/6] vfs: open_exec cleanup\n  [patch 4/4] vfs: immutable inode checking cleanup\n  [patch 3/4] fat: dont call notify_change\n  [patch 2/4] vfs: utimes cleanup\n  [patch 1/4] vfs: utimes: move owner check into inode_change_ok()\n  [PATCH] vfs: use kstrdup() and check failing allocation\n  ...\n"
    },
    {
      "commit": "228428428138e231a155464239880201e5cc8b44",
      "tree": "89b437f5501d03ca36b717e232337426d0de77ca",
      "parents": [
        "78681ac08a611313595d13cafabae1183b71ef48",
        "6c3b8fc618905d7599dcc514c99ce4293d476f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:17:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:17:56 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  netns: fix ip_rt_frag_needed rt_is_expired\n  netfilter: nf_conntrack_extend: avoid unnecessary \"ct-\u003eext\" dereferences\n  netfilter: fix double-free and use-after free\n  netfilter: arptables in netns for real\n  netfilter: ip{,6}tables_security: fix future section mismatch\n  selinux: use nf_register_hooks()\n  netfilter: ebtables: use nf_register_hooks()\n  Revert \"pkt_sched: sch_sfq: dump a real number of flows\"\n  qeth: use dev-\u003eml_priv instead of dev-\u003epriv\n  syncookies: Make sure ECN is disabled\n  net: drop unused BUG_TRAP()\n  net: convert BUG_TRAP to generic WARN_ON\n  drivers/net: convert BUG_TRAP to generic WARN_ON\n"
    },
    {
      "commit": "bd7b1533cd6a68c734062aa69394bec7e2b1718e",
      "tree": "f968f6c68672502db08912bf69d8e3d1ba25169b",
      "parents": [
        "f7e6ced4061da509f737541ca4dbd44d83a6e82f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 16:00:59 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:10 2008 -0400"
      },
      "message": "[PATCH] sysctl: make sure that /proc/sys/net/ipv4 appears before per-ns ones\n\nMassage ipv4 initialization - make sure that net.ipv4 appears as\nnon-per-net-namespace before it shows up in per-net-namespace sysctls.\nThat\u0027s the only change outside of sysctl.c needed to get sane ordering\nrules and data structures for sysctls (esp. for procfs side of that\nmess).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6c3b8fc618905d7599dcc514c99ce4293d476f39",
      "tree": "f04de514889f8c7783a5f64645a0dad3b0140305",
      "parents": [
        "6c64825bf40ecc1b01610762ca736b18c8a9db92"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "message": "netns: fix ip_rt_frag_needed rt_is_expired\n\nRunning recent kernels, and using a particular vpn gateway, I\u0027ve been\nhaving to edit my mails down to get them accepted by the smtp server.\n\nGit bisect led to commit e84f84f276473dcc673f360e8ff3203148bdf0e2 -\nnetns: place rt_genid into struct net.  The conversion from a !\u003d test\nto rt_is_expired() put one negative too many: and now my mail works.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3918fed5f31213067c1c345bd904e1ea369e6819",
      "tree": "81148af4b7f53f32e4cfcee8f731eb3ec1382597",
      "parents": [
        "f858b4869a9136dd28cc2ab37f8b89268cc99462"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 17:48:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:48:59 2008 -0700"
      },
      "message": "netfilter: arptables in netns for real\n\nIN, FORWARD -- grab netns from in device, OUT -- from out device.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f858b4869a9136dd28cc2ab37f8b89268cc99462",
      "tree": "32bf6b63d25d5a807575cde15284abaee0307873",
      "parents": [
        "6c5a9d2e1599a099b0e47235a1c1502162b14310"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 17:48:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:48:38 2008 -0700"
      },
      "message": "netfilter: ip{,6}tables_security: fix future section mismatch\n\nCurrently not visible, because NET_NS is mutually exclusive with SYSFS\nwhich is required by SECURITY.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16df845f4566bc252f3e09db12f5c2f22cb44226",
      "tree": "c83f5b664b669ff26bbf5c9a44b9ccecfa53c506",
      "parents": [
        "ec34c702ca8b7d6f0aa54379c3b0d0ec10b8ff23"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Jul 26 02:21:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:21:54 2008 -0700"
      },
      "message": "syncookies: Make sure ECN is disabled\n\necn_ok is not initialized when a connection is established by cookies.\nThe cookie syn-ack never sets ECN, so ecn_ok must be set to 0.\n\nSpotted using ns-3/network simulation cradle simulator and valgrind.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ff8419871ea757ae0298aa296bcff9b2ca48561",
      "tree": "ff2194bc75f06107e16220ce303ef546f9a4c769",
      "parents": [
        "8d25b36b77fe32c296ece83e94ca6ae4d17f3e25",
        "7d7e5a60c62e88cb8782760bb6c4d3bd1577a6c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 17:40:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 17:40:16 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  ipsec: ipcomp - Decompress into frags if necessary\n  ipsec: ipcomp - Merge IPComp implementations\n  pkt_sched: Fix locking in shutdown_scheduler_queue()\n"
    },
    {
      "commit": "696adfe84c11c571a1e0863460ff0ec142b4e5a9",
      "tree": "f00042d0c69211955ec6ef3a5d4a5c49ec7f8890",
      "parents": [
        "2fc9c4e18f94431e7eb77d97edb2a995b46fba55"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jul 25 01:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "list_for_each_rcu must die: networking\n\nAll uses of list_for_each_rcu() can be profitably replaced by the\neasier-to-use list_for_each_entry_rcu().  This patch makes this change for\nnetworking, in preparation for removing the list_for_each_rcu() API\nentirely.\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fccab671f2f0a24b799f29a4ec878f62d34656c",
      "tree": "e90a1ac0770f8fe59bd7c8768663052a7756b950",
      "parents": [
        "cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jul 25 02:54:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 02:54:40 2008 -0700"
      },
      "message": "ipsec: ipcomp - Merge IPComp implementations\n\nThis patch merges the IPv4/IPv6 IPComp implementations since most\nof the code is identical.  As a result future enhancements will no\nlonger need to be duplicated.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70eed75d76635ba7350651b9bd96529a306ec67a",
      "tree": "3fe67ecd24dfdffee1145b5d3983ac7113d9783c",
      "parents": [
        "4b53fb67e385b856a991d402096379dab462170a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 23 16:42:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:42:42 2008 -0700"
      },
      "message": "netfilter: make security table depend on NETFILTER_ADVANCED\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b53fb67e385b856a991d402096379dab462170a",
      "tree": "333dada17059f4c67c48123974059206c2e676d9",
      "parents": [
        "e8ebe3b893792887317bc24cc4608753f81b81d3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:38:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:38:45 2008 -0700"
      },
      "message": "tcp: Clear probes_out more aggressively in tcp_ack().\n\nThis is based upon an excellent bug report from Eric Dumazet.\n\ntcp_ack() should clear -\u003eicsk_probes_out even if there are packets\noutstanding.  Otherwise if we get a sequence of ACKs while we do have\npackets outstanding over and over again, we\u0027ll never clear the\nprobes_out value and eventually think the connection is too sick and\nwe\u0027ll reset it.\n\nThis appears to be some \"optimization\" added to tcp_ack() in the 2.4.x\ntimeframe.  In 2.2.x, probes_out is pretty much always cleared by\ntcp_ack().\n\nHere is Eric\u0027s original report:\n\n----------------------------------------\nApparently, we can in some situations reset TCP connections in a couple of seconds when some frames are lost.\n\nIn order to reproduce the problem, please try the following program on linux-2.6.25.*\n\nSetup some iptables rules to allow two frames per second sent on loopback interface to tcp destination port 12000\n\niptables -N SLOWLO\niptables -A SLOWLO -m hashlimit --hashlimit 2 --hashlimit-burst 1 --hashlimit-mode dstip --hashlimit-name slow2 -j ACCEPT\niptables -A SLOWLO -j DROP\n\niptables -A OUTPUT -o lo -p tcp --dport 12000 -j SLOWLO\n\nThen run the attached program and see the output :\n\n# ./loop\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,1)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,3)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,5)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,7)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,9)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,11)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,201ms,13)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,188ms,15)\nwrite(): Connection timed out\nwrote 890 bytes but was interrupted after 9 seconds\nESTAB      0      0                 127.0.0.1:12000            127.0.0.1:54455\nExiting read() because no data available (4000 ms timeout).\nread 860 bytes\n\nWhile this tcp session makes progress (sending frames with 50 bytes of payload, every 500ms), linux tcp stack decides to reset it, when tcp_retries 2 is reached (default value : 15)\n\ntcpdump :\n\n15:30:28.856695 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: S 33788768:33788768(0) win 32792 \u003cmss 16396,nop,nop,sackOK,nop,wscale 7\u003e\n15:30:28.856711 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: S 33899253:33899253(0) ack 33788769 win 32792 \u003cmss 16396,nop,nop,sackOK,nop,wscale 7\u003e\n15:30:29.356947 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 1:61(60) ack 1 win 257\n15:30:29.356966 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 61 win 257\n15:30:29.866415 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 61:111(50) ack 1 win 257\n15:30:29.866427 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 111 win 257\n15:30:30.366516 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 111:161(50) ack 1 win 257\n15:30:30.366527 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 161 win 257\n15:30:30.876196 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 161:211(50) ack 1 win 257\n15:30:30.876207 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 211 win 257\n15:30:31.376282 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 211:261(50) ack 1 win 257\n15:30:31.376290 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 261 win 257\n15:30:31.885619 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 261:311(50) ack 1 win 257\n15:30:31.885631 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 311 win 257\n15:30:32.385705 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 311:361(50) ack 1 win 257\n15:30:32.385715 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 361 win 257\n15:30:32.895249 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 361:411(50) ack 1 win 257\n15:30:32.895266 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 411 win 257\n15:30:33.395341 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 411:461(50) ack 1 win 257\n15:30:33.395351 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 461 win 257\n15:30:33.918085 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 461:511(50) ack 1 win 257\n15:30:33.918096 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 511 win 257\n15:30:34.418163 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 511:561(50) ack 1 win 257\n15:30:34.418172 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 561 win 257\n15:30:34.927685 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 561:611(50) ack 1 win 257\n15:30:34.927698 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 611 win 257\n15:30:35.427757 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 611:661(50) ack 1 win 257\n15:30:35.427766 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 661 win 257\n15:30:35.937359 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 661:711(50) ack 1 win 257\n15:30:35.937376 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 711 win 257\n15:30:36.437451 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 711:761(50) ack 1 win 257\n15:30:36.437464 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 761 win 257\n15:30:36.947022 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 761:811(50) ack 1 win 257\n15:30:36.947039 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 811 win 257\n15:30:37.447135 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 811:861(50) ack 1 win 257\n15:30:37.447203 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 861 win 257\n15:30:41.448171 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: F 1:1(0) ack 861 win 257\n15:30:41.448189 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: R 33789629:33789629(0) win 0\n\nSource of program :\n\n/*\n * small producer/consumer program.\n * setup a listener on 127.0.0.1:12000\n * Forks a child\n *   child connect to 127.0.0.1, and sends 10 bytes on this tcp socket every 100 ms\n * Father accepts connection, and read all data\n */\n#include \u003csys/types.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003csys/poll.h\u003e\n\nint port \u003d 12000;\nchar buffer[4096];\nint main(int argc, char *argv[])\n{\n        int lfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n        struct sockaddr_in socket_address;\n        time_t t0, t1;\n        int on \u003d 1, sfd, res;\n        unsigned long total \u003d 0;\n        socklen_t alen \u003d sizeof(socket_address);\n        pid_t pid;\n\n        time(\u0026t0);\n        socket_address.sin_family \u003d AF_INET;\n        socket_address.sin_port \u003d htons(port);\n        socket_address.sin_addr.s_addr \u003d htonl(INADDR_LOOPBACK);\n\n        if (lfd \u003d\u003d -1) {\n                perror(\"socket()\");\n                return 1;\n        }\n        setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, \u0026on, sizeof(int));\n        if (bind(lfd, (struct sockaddr *)\u0026socket_address, sizeof(socket_address)) \u003d\u003d -1) {\n                perror(\"bind\");\n                close(lfd);\n                return 1;\n        }\n        if (listen(lfd, 1) \u003d\u003d -1) {\n                perror(\"listen()\");\n                close(lfd);\n                return 1;\n        }\n        pid \u003d fork();\n        if (pid \u003d\u003d 0) {\n                int i, cfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n                close(lfd);\n                if (connect(cfd, (struct sockaddr *)\u0026socket_address, sizeof(socket_address)) \u003d\u003d -1) {\n                        perror(\"connect()\");\n                        return 1;\n                        }\n                for (i \u003d 0 ; ;) {\n                        res \u003d write(cfd, \"blablabla\\n\", 10);\n                        if (res \u003e 0) total +\u003d res;\n                        else if (res \u003d\u003d -1) {\n                                perror(\"write()\");\n                                break;\n                        } else break;\n                        usleep(100000);\n                        if (++i \u003d\u003d 10) {\n                                system(\"ss -on dst 127.0.0.1:12000\");\n                                i \u003d 0;\n                        }\n                }\n                time(\u0026t1);\n                fprintf(stderr, \"wrote %lu bytes but was interrupted after %g seconds\\n\", total, difftime(t1, t0));\n                system(\"ss -on | grep 127.0.0.1:12000\");\n                close(cfd);\n                return 0;\n        }\n        sfd \u003d accept(lfd, (struct sockaddr *)\u0026socket_address, \u0026alen);\n        if (sfd \u003d\u003d -1) {\n                perror(\"accept\");\n                return 1;\n        }\n        close(lfd);\n        while (1) {\n                struct pollfd pfd[1];\n                pfd[0].fd \u003d sfd;\n                pfd[0].events \u003d POLLIN;\n                if (poll(pfd, 1, 4000) \u003d\u003d 0) {\n                        fprintf(stderr, \"Exiting read() because no data available (4000 ms timeout).\\n\");\n                        break;\n                }\n                res \u003d read(sfd, buffer, sizeof(buffer));\n                if (res \u003e 0) total +\u003d res;\n                else if (res \u003d\u003d 0) break;\n                else perror(\"read()\");\n        }\n        fprintf(stderr, \"read %lu bytes\\n\", total);\n        close(sfd);\n        return 0;\n}\n----------------------------------------\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b32d13102d39ed411d152a7ffcc5f66d5b3b1b49",
      "tree": "5db024bc2defe8440ea67c16dce65c4082ff4b98",
      "parents": [
        "ebb36a978131810c98e7198b1187090c697cf99f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 18:45:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 18:45:34 2008 -0700"
      },
      "message": "tcp: Fix bitmask test in tcp_syn_options()\n\nAs reported by Alexey Dobriyan:\n\n\t  CHECK   net/ipv4/tcp_output.c\n\tnet/ipv4/tcp_output.c:475:7: warning: dubious: !x \u0026 y\n\nAnd sparse is damn right!\n\n\tif (unlikely(!OPTION_TS \u0026 opts-\u003eoptions))\n\t\t    ^^^\n\t\tsize +\u003d TCPOLEN_SACKPERM_ALIGNED;\n\nOPTION_TS is (1 \u003c\u003c 1), so condition will never trigger.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47112e25da41d9059626033986dc3353e101f815",
      "tree": "72857968c318960ba50a4cc7232041228e8361dc",
      "parents": [
        "6579e57b31d79d31d9b806e41ba48774e73257dc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Jul 21 13:35:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:35:08 2008 -0700"
      },
      "message": "udplite: Protection against coverage value wrap-around\n\nThis patch clamps the cscov setsockopt values to a maximum of 0xFFFF.\n\nSetsockopt values greater than 0xffff can cause an unwanted\nwrap-around.  Further, IPv6 jumbograms are not supported (RFC 3838,\n3.5), so that values greater than 0xffff are not even useful.\n\nFurther changes: fixed a typo in the documentation.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c71529e42ce39c167dc53430cb8f3d5634af77df",
      "tree": "4d7d97e2f35b72ee5da618ffdf60eb53e58350d8",
      "parents": [
        "db1a75bdcc1766dc7e1fae9201ae287dcbcb6c66"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 21 10:03:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:02 2008 -0700"
      },
      "message": "netfilter: nf_nat_sip: c\u003d is optional for session\n\nAccording to RFC2327, the connection information is optional\nin the session description since it can be specified in the\nmedia description instead.\n\nMy provider does exactly that and does not provide any connection\ninformation in the session description.  As a result the new\nkernel drops all invite responses.\n\nThis patch makes it optional as documented.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "584015727a3b88b46602b20077b46cd04f8b4ab3",
      "tree": "a9b4ec18e2181e03ee24b59b30f7408bcbcf140c",
      "parents": [
        "07a7c1070ed382ad4562e3a0d453fd2001d92f7b"
      ],
      "author": {
        "name": "Krzysztof Piotr Oledzki",
        "email": "ole@ans.pl",
        "time": "Mon Jul 21 10:01:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:58 2008 -0700"
      },
      "message": "netfilter: accounting rework: ct_extend + 64bit counters (v4)\n\nInitially netfilter has had 64bit counters for conntrack-based accounting, but\nit was changed in 2.6.14 to save memory. Unfortunately in-kernel 64bit counters are\nstill required, for example for \"connbytes\" extension. However, 64bit counters\nwaste a lot of memory and it was not possible to enable/disable it runtime.\n\nThis patch:\n - reimplements accounting with respect to the extension infrastructure,\n - makes one global version of seq_print_acct() instead of two seq_print_counters(),\n - makes it possible to enable it at boot time (for CONFIG_SYSCTL/CONFIG_SYSFS\u003dn),\n - makes it possible to enable/disable it at runtime by sysctl or sysfs,\n - extends counters from 32bit to 64bit,\n - renames ip_conntrack_counter -\u003e nf_conn_counter,\n - enables accounting code unconditionally (no longer depends on CONFIG_NF_CT_ACCT),\n - set initial accounting enable state based on CONFIG_NF_CT_ACCT\n - removes buggy IPCT_COUNTER_FILLING event handling.\n\nIf accounting is enabled newly created connections get additional acct extend.\nOld connections are not changed as it is not possible to add a ct_extend area\nto confirmed conntrack. Accounting is performed for all connections with\nacct extend regardless of a current state of \"net.netfilter.nf_conntrack_acct\".\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dbff689c2f299e8f63911247925f2728d087688",
      "tree": "77a0b4db11d438315e2ef97ce117bbe532774600",
      "parents": [
        "ae6134bdf3197206fba95563d755d2fa50d90ddd"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Jul 21 10:00:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:57 2008 -0700"
      },
      "message": "netfilter: nf_nat_core: eliminate useless find_appropriate_src for IP_NAT_RANGE_PROTO_RANDOM\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "721499e8931c5732202481ae24f2dfbf9910f129",
      "tree": "c94d8d681966109bb41f712f21f3a9825ae2172d",
      "parents": [
        "407d819cf0fd54c6fc1138a509225696aecafd15"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "message": "netns: Use net_eq() to compare net-namespaces for optimization.\n\nWithout CONFIG_NET_NS, namespace is always \u0026init_net.\nCompiler will be able to omit namespace comparisons with this patch.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdccc4ca13a639d759206c5b21ed73f8a813eaba",
      "tree": "fb7bcba6f33746566ae8204a08e068b7310a05d1",
      "parents": [
        "4389dded7767d24290463f2a8302ba3253ebdd56"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Sat Jul 19 00:15:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:15:13 2008 -0700"
      },
      "message": "tcp: fix kernel panic with listening_get_next\n\n# BUG: unable to handle kernel NULL pointer dereference at\n0000000000000038\nIP: [\u003cffffffff821ed01e\u003e] listening_get_next+0x50/0x1b3\nPGD 11e4b9067 PUD 11d16c067 PMD 0\nOops: 0000 [1] SMP\nlast sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map\nCPU 3\nModules linked in: bridge ipv6 button battery ac loop dm_mod tg3 ext3\njbd edd fan thermal processor thermal_sys hwmon sg sata_svw libata dock\nserverworks sd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table]\nPid: 3368, comm: slpd Not tainted 2.6.26-rc2-mm1-lxc4 #1\nRIP: 0010:[\u003cffffffff821ed01e\u003e] [\u003cffffffff821ed01e\u003e]\nlistening_get_next+0x50/0x1b3\nRSP: 0018:ffff81011e1fbe18 EFLAGS: 00010246\nRAX: 0000000000000000 RBX: ffff8100be0ad3c0 RCX: ffff8100619f50c0\nRDX: ffffffff82475be0 RSI: ffff81011d9ae6c0 RDI: ffff8100be0ad508\nRBP: ffff81011f4f1240 R08: 00000000ffffffff R09: ffff8101185b6780\nR10: 000000000000002d R11: ffffffff820fdbfa R12: ffff8100be0ad3c8\nR13: ffff8100be0ad6a0 R14: ffff8100be0ad3c0 R15: ffffffff825b8ce0\nFS: 00007f6a0ebd16d0(0000) GS:ffff81011f424540(0000)\nknlGS:0000000000000000\nCS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000000038 CR3: 000000011dc20000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess slpd (pid: 3368, threadinfo ffff81011e1fa000, task\nffff81011f4b8660)\nStack: 00000000000002ee ffff81011f5a57c0 ffff81011f4f1240\nffff81011e1fbe90\n0000000000001000 0000000000000000 00007fff16bf2590 ffffffff821ed9c8\nffff81011f5a57c0 ffff81011d9ae6c0 000000000000041a ffffffff820b0abd\nCall Trace:\n[\u003cffffffff821ed9c8\u003e] ? tcp_seq_next+0x34/0x7e\n[\u003cffffffff820b0abd\u003e] ? seq_read+0x1aa/0x29d\n[\u003cffffffff820d21b4\u003e] ? proc_reg_read+0x73/0x8e\n[\u003cffffffff8209769c\u003e] ? vfs_read+0xaa/0x152\n[\u003cffffffff82097a7d\u003e] ? sys_read+0x45/0x6e\n[\u003cffffffff8200bd2b\u003e] ? system_call_after_swapgs+0x7b/0x80\n\n\nCode: 31 a9 25 00 e9 b5 00 00 00 ff 45 20 83 7d 0c 01 75 79 4c 8b 75 10\n48 8b 0e eb 1d 48 8b 51 20 0f b7 45 08 39 02 75 0e 48 8b 41 28 \u003c4c\u003e 39\n78 38 0f 84 93 00 00 00 48 8b 09 48 85 c9 75 de 8b 55 1c\nRIP [\u003cffffffff821ed01e\u003e] listening_get_next+0x50/0x1b3\nRSP \u003cffff81011e1fbe18\u003e\nCR2: 0000000000000038\n\nThis kernel panic appears with CONFIG_NET_NS\u003dy.\n\nHow to reproduce ?\n\n    On the buggy host (host A)\n       * ip addr add 1.2.3.4/24 dev eth0\n\n    On a remote host (host B)\n       * ip addr add 1.2.3.5/24 dev eth0\n       * iptables -A INPUT -p tcp -s 1.2.3.4 -j DROP\n       * ssh 1.2.3.4\n\n    On host A:\n       * netstat -ta or cat /proc/net/tcp\n\nThis bug happens when reading /proc/net/tcp[6] when there is a req_sock\nat the SYN_RECV state.\n\nWhen a SYN is received the minisock is created and the sk field is set to\nNULL. In the listening_get_next function, we try to look at the field \nreq-\u003esk-\u003esk_net.\n\nWhen looking at how to fix this bug, I noticed that is useless to do\nthe check for the minisock belonging to the namespace. A minisock belongs\nto a listen point and this one is per namespace, so when browsing the\nminisock they are always per namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4389dded7767d24290463f2a8302ba3253ebdd56",
      "tree": "ed34a2084c47c6c707e0ce6b4eab8d442f20c4c3",
      "parents": [
        "33ad798c924b4a1afad3593f2796d465040aadd5"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Sat Jul 19 00:07:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:07:02 2008 -0700"
      },
      "message": "tcp: Remove redundant checks when setting eff_sacks\n\nRemove redundant checks when setting eff_sacks and make the number of SACKs a\ncompile time constant. Now that the options code knows how many SACK blocks can\nfit in the header, we don\u0027t need to have the SACK code guessing at it.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33ad798c924b4a1afad3593f2796d465040aadd5",
      "tree": "2a0a868849d6e84591b9d4d917722aee2544b77b",
      "parents": [
        "49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Sat Jul 19 00:04:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:04:31 2008 -0700"
      },
      "message": "tcp: options clean up\n\nThis should fix the following bugs:\n  * Connections with MD5 signatures produce invalid packets whenever SACK\n    options are included\n  * MD5 signatures are counted twice in the MSS calculations\n\nBehaviour changes:\n  * A SYN with MD5 + SACK + TS elicits a SYNACK with MD5 + SACK\n\n    This is because we can\u0027t fit any SACK blocks in a packet with MD5 + TS\n    options. There was discussion about disabling SACK rather than TS in\n    order to fit in better with old, buggy kernels, but that was deemed to\n    be unnecessary.\n\n  * SYNs with MD5 don\u0027t include a TS option\n\n    See above.\n\nAdditionally, it removes a bunch of duplicated logic for calculating options,\nwhich should help avoid these sort of issues in the future.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d",
      "tree": "38804d609f21503573bbdd8bb9af38df99275ff5",
      "parents": [
        "845525a642c1c9e1335c33a274d4273906ee58eb"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Sat Jul 19 00:01:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:01:42 2008 -0700"
      },
      "message": "tcp: Fix MD5 signatures for non-linear skbs\n\nCurrently, the MD5 code assumes that the SKBs are linear and, in the case\nthat they aren\u0027t, happily goes off and hashes off the end of the SKB and\ninto random memory.\n\nReported by Stephen Hemminger in [1]. Advice thanks to Stephen and Evgeniy\nPolyakov. Also includes a couple of missed route_caps from Stephen\u0027s patch\nin [2].\n\n[1] http://marc.info/?l\u003dlinux-netdev\u0026m\u003d121445989106145\u0026w\u003d2\n[2] http://marc.info/?l\u003dlinux-netdev\u0026m\u003d121459157816964\u0026w\u003d2\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "336d3262df71fcd2661180bb35d5ea41b4cbca58",
      "tree": "54078334c9c3706a003d4b54a8e9e9b23aa01cef",
      "parents": [
        "4e54064e0a13b7a7d4a481123c1783f770538e30"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Jul 18 23:07:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:07:09 2008 -0700"
      },
      "message": "sctp: remove unnecessary byteshifting, calculate directly in big-endian\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1e20f7c8b9ccbafc9ea78f2b406738728ce6b81",
      "tree": "807dacbfdc6ebfde27ba4d4f46dd1572c4a07cde",
      "parents": [
        "30ee42be00b7a50929a73cb617f70b1d3219eb69"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Jul 18 23:02:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:02:15 2008 -0700"
      },
      "message": "tcp: RTT metrics scaling\n\nSome of the metrics (RTT, RTTVAR and RTAX_RTO_MIN) are stored in\nkernel units (jiffies) and this leaks out through the netlink API to\nuser space where the units for jiffies are unknown.\n\nThis patches changes the kernel to convert to/from milliseconds. This\nchanges the ABI, but milliseconds seemed like the most natural unit\nfor these parameters.  Values available via syscall in\n/proc/net/rt_cache and netlink will be in milliseconds.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6fcbdb4f283f7ba67cec3cda6be23da8e959031",
      "tree": "45d72a4a5d0cce9ab2c98321f4d7d122bf982a55",
      "parents": [
        "de05c557b24c7dffc6d392e3db120cf11c9f6ae7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:07:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:07:44 2008 -0700"
      },
      "message": "proc: consolidate per-net single-release callers\n\nThey are symmetrical to single_open ones :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de05c557b24c7dffc6d392e3db120cf11c9f6ae7",
      "tree": "d1d6fe1323657afd7d416c6af8a62d6a9e1e1e66",
      "parents": [
        "60bdde95807e982a824be9cfdd35055cc721a88a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:07:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:07:21 2008 -0700"
      },
      "message": "proc: consolidate per-net single_open callers\n\nThere are already 7 of them - time to kill some duplicate code.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60bdde95807e982a824be9cfdd35055cc721a88a",
      "tree": "286bd367b687f9a1daddcc6b0fde2f2e8ef4c0ef",
      "parents": [
        "8e3461d01bdbc3dbf993448ed9ad4acaaeb6495d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:06:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:06:50 2008 -0700"
      },
      "message": "proc: clean the ip_misc_proc_init and ip_proc_init_net error paths\n\nAfter all this stuff is moved outside, this function can look better.\n\nBesides, I tuned the error path in ip_proc_init_net to make it have\nonly 2 exit points, not 3.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e3461d01bdbc3dbf993448ed9ad4acaaeb6495d",
      "tree": "eac7757ba4bc96ce1ce1ba629b5ea6d4b81f6b20",
      "parents": [
        "229bf0cbaa054f1502ab4ee219f05985d2c838d1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:06:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:06:26 2008 -0700"
      },
      "message": "proc: show per-net ip_devconf.forwarding in /proc/net/snmp\n\nThis one has become per-net long ago, but the appropriate file\nis per-net only now.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "229bf0cbaa054f1502ab4ee219f05985d2c838d1",
      "tree": "7f542b1f5f3c249a66b7decd2ae22ae5067e97df",
      "parents": [
        "7b7a9dfdf6ccda647f54ea5fa3bd0ac17a189eeb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:06:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:06:04 2008 -0700"
      },
      "message": "proc: create /proc/net/snmp file in each net\n\nAll the statistics shown in this file have been made per-net already.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b7a9dfdf6ccda647f54ea5fa3bd0ac17a189eeb",
      "tree": "92ab52ffab8bfdc1f3697ff8d02c12a06a43d76c",
      "parents": [
        "d89cbbb1e69a3bfea38038fb058bd51013902ef3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:05:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:05:17 2008 -0700"
      },
      "message": "proc: create /proc/net/netstat file in each net\n\nNow all the shown in it statistics is netnsizated, time to\nshow it in appropriate net.\n\nThe appropriate net init/exit ops already exist - they make\nthe sockstat file per net - so just extend them.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d89cbbb1e69a3bfea38038fb058bd51013902ef3",
      "tree": "fc6d3c47a7cd8f22dc6f6fd48daebbd07482e29d",
      "parents": [
        "923c6586b0dc0a00df07a1608185437145a0c68b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:51 2008 -0700"
      },
      "message": "ipv4: clean the init_ipv4_mibs error paths\n\nAfter moving all the stuff outside this function it looks\na bit ugly - make it look better.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "923c6586b0dc0a00df07a1608185437145a0c68b",
      "tree": "bbe3324b4ae8920a3a50e81e596c75db11cc9433",
      "parents": [
        "b60538a0d737609213e4b758881913498d3ff0b4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:22 2008 -0700"
      },
      "message": "mib: put icmpmsg statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b60538a0d737609213e4b758881913498d3ff0b4",
      "tree": "380b75c744b9eb13b56fe386b58ddc2106686372",
      "parents": [
        "386019d3514b3ed9de8d0b05b67e638a7048375b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:02 2008 -0700"
      },
      "message": "mib: put icmp statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "386019d3514b3ed9de8d0b05b67e638a7048375b",
      "tree": "6447cb5bfe73788abab98f4835b95af258bfeeff",
      "parents": [
        "2f275f91a438abd8eec5321798d66a4ffe6869fa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:45 2008 -0700"
      },
      "message": "mib: put udplite statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f275f91a438abd8eec5321798d66a4ffe6869fa",
      "tree": "a14cc8f7112d2ba0dfe08e43577cab779b858ba6",
      "parents": [
        "61a7e26028b94805fd686a6dc9dbd9941f8f19b0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:27 2008 -0700"
      },
      "message": "mib: put udp statistics on struct net\n\nSimilar to... ouch, I repeat myself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61a7e26028b94805fd686a6dc9dbd9941f8f19b0",
      "tree": "2253a6f827a68ea5a7041456c5bfcac0d8e24138",
      "parents": [
        "a20f5799ca7ceb24d63c74b6fdad4b0c0ee91f4f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:08 2008 -0700"
      },
      "message": "mib: put net statistics on struct net\n\nSimilar to ip and tcp ones :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a20f5799ca7ceb24d63c74b6fdad4b0c0ee91f4f",
      "tree": "0262e4a674c611044d78c9f62f378473df0ce0f1",
      "parents": [
        "57ef42d59d1c1d79be59fc3c6380ae14234e38c3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:02:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:02:42 2008 -0700"
      },
      "message": "mib: put ip statistics on struct net\n\nSimilar to tcp one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57ef42d59d1c1d79be59fc3c6380ae14234e38c3",
      "tree": "4ccc2166f6967ac1fb582715f7d7d5bb5c9205fc",
      "parents": [
        "9b4661bd6e5437508e0920608f3213c23212cd1b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:02:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:02:08 2008 -0700"
      },
      "message": "mib: put tcp statistics on struct net\n\nProc temporary uses stats from init_net.\n\nBTW, TCP_XXX_STATS are beautiful (w/o do { } while (0) facing) again :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b4661bd6e5437508e0920608f3213c23212cd1b",
      "tree": "d8d13cd58c7ce32d63dd4175c67c42e61456dcda",
      "parents": [
        "852566f53ccdc9d1c149ffa28daa9778e13fa3da"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:01:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:01:44 2008 -0700"
      },
      "message": "ipv4: add pernet mib operations\n\nThese ones are currently empty, but stuff from init_ipv4_mibs will\nsequentially migrate there.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed88098e25d77bef3b2ad8c9d8e2ebf454d9ccbf",
      "tree": "1923cf073c299e1265cbe8a82de10cf95c91c791",
      "parents": [
        "f2bf415cfed703de5ba94d25cdb160920c01fb00"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:32:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:32:45 2008 -0700"
      },
      "message": "mib: add net to NET_ADD_STATS_USER\n\nDone with NET_XXX_STATS macros :)\n\nTo be continued...\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2bf415cfed703de5ba94d25cdb160920c01fb00",
      "tree": "58c2ea153c45d14ecf348b6a891bcf3b258c6547",
      "parents": [
        "6f67c817fcfd94f5ca0f14b114b7fa25c0210c8b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:32:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:32:25 2008 -0700"
      },
      "message": "mib: add net to NET_ADD_STATS_BH\n\nThis one is tricky. \n\nThe thing is that this macro is only used when killing tw buckets, \nbut since this killer is promiscuous wrt to which net each particular\ntw belongs to, I have to use it only when NET_NS is off. When the net\nnamespaces are on, I use the INET_INC_STATS_BH for each bucket.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f67c817fcfd94f5ca0f14b114b7fa25c0210c8b",
      "tree": "3472fe69877d53aff3e3b78b8d7ec34e684db39b",
      "parents": [
        "de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:31:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:31:39 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS_USER\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c",
      "tree": "68d02820b1aa13e8fa9743c0ece5930a13d5a205",
      "parents": [
        "4e6734447dbc7a0a85e09616821c0782d9fb1141"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e6734447dbc7a0a85e09616821c0782d9fb1141",
      "tree": "4fa4e7f6a479a172d690fba7f50c0659cb977e2d",
      "parents": [
        "1ed834655a0d42ecd80ff051e681e2ea44747b6c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:30:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:30:14 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ed834655a0d42ecd80ff051e681e2ea44747b6c",
      "tree": "065943419a374616442027fc60c499565e1f16d5",
      "parents": [
        "ca12a1a443a51298afcca627ad0bcbd8ad1dcddc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:29:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:29:51 2008 -0700"
      },
      "message": "tcp: replace tcp_sock argument with sock in some places\n\nThese places have a tcp_sock, but we\u0027d prefer the sock itself to\nget net from it. Fortunately, tcp_sk macro is just a type cast, so\nthis replace is really cheap.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca12a1a443a51298afcca627ad0bcbd8ad1dcddc",
      "tree": "9eebfe3f3b5812ea524d0b32223fb622a8d12bc8",
      "parents": [
        "5c52ba170f8167511bdb65b981f4582100c40675"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:28:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:28:42 2008 -0700"
      },
      "message": "inet: prepare net on the stack for NET accounting macros\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c52ba170f8167511bdb65b981f4582100c40675",
      "tree": "1dab120003eb696dfb4ca18c40861274a317739d",
      "parents": [
        "cf1100a7a4f2573f50f9a923b53373977328e3c8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:28:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:28:10 2008 -0700"
      },
      "message": "sock: add net to prot-\u003eenter_memory_pressure callback\n\nThe tcp_enter_memory_pressure calls NET_INC_STATS, but doesn\u0027t\nhave where to get the net from.\n\nI decided to add a sk argument, not the net itself, only to factor\nall the required sock_net(sk) calls inside the enter_memory_pressure \ncallback itself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74688e487a407a33d42879957b478601aca616b8",
      "tree": "38c3be832e3ac9379b9b4f5a836caf9540d1b14c",
      "parents": [
        "63231bddf6514778792d3784f63822473d250fc0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:22:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:22:46 2008 -0700"
      },
      "message": "mib: add net to TCP_DEC_STATS\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63231bddf6514778792d3784f63822473d250fc0",
      "tree": "d380f9ca00fa0ca2cd74142c5b51b97717ef1e9a",
      "parents": [
        "81cc8a75d944fa39fc333c2c329c8e8b3c62cada"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:22:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:22:25 2008 -0700"
      },
      "message": "mib: add net to TCP_INC_STATS_BH\n\nSame as before - the sock is always there to get the net from,\nbut there are also some places with the net already saved on \nthe stack.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81cc8a75d944fa39fc333c2c329c8e8b3c62cada",
      "tree": "40d93df3f13d96e8cf66d154d2b865c35df18ec7",
      "parents": [
        "a9c19329eccdb145a08a4a2e969d7b40c54c9bcc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:22:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:22:04 2008 -0700"
      },
      "message": "mib: add net to TCP_INC_STATS\n\nFortunately (almost) all the TCP code has a sock to get the net from :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9c19329eccdb145a08a4a2e969d7b40c54c9bcc",
      "tree": "3cee2cdcdb0270fcd5e7765cdb4e8b5882afecb0",
      "parents": [
        "f10f84314d5adc0ba6ca2a0877442de63e226130"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:21:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:21:42 2008 -0700"
      },
      "message": "tcp: add net to tcp_mib_init\n\nThis one sets TCP MIBs after zeroing them, and thus requires\nthe net.\n\nThe existing single caller can use init_net (temporarily).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a86b1e3019455283a677c2485cfeda2dc36df3eb",
      "tree": "452f1ec6cba2a131d189be91a6f4ec1d50092827",
      "parents": [
        "c5346fe396f5e22bbfb3ec037c43891c3c57d3e6"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:20:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:20:58 2008 -0700"
      },
      "message": "inet: prepare struct net for TCP MIB accounting\n\nThis is the same as the first patch in the set, but preparing\nthe net for TCP_XXX_STATS - save the struct net on the stack\nwhere required and possible.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5346fe396f5e22bbfb3ec037c43891c3c57d3e6",
      "tree": "9252111b8b89e86e980a5af0055c696796cdfc12",
      "parents": [
        "7c73a6faffae0bfae70639113aecf06af666e714"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:20:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:20:33 2008 -0700"
      },
      "message": "mib: add net to IP_ADD_STATS_BH\n\nVery simple - only ip_evictor (fragments) requires such.\nThis patch ends up the IP_XXX_STATS patching.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c73a6faffae0bfae70639113aecf06af666e714",
      "tree": "3d7910c4674b673b061f3168b140454b1950c346",
      "parents": [
        "5e38e270444f2629de7a706b5a9ca1b333d14517"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "message": "mib: add net to IP_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e38e270444f2629de7a706b5a9ca1b333d14517",
      "tree": "774a15eb5ace315c0c5e06630e4ba3d24406b12f",
      "parents": [
        "c6f8f7e3bb4b2c1886ef3743e8f24521f7a60abc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:19:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:19:49 2008 -0700"
      },
      "message": "mib: add net to IP_INC_STATS\n\nAll the callers already have either the net itself, or the place\nwhere to get it from.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84a3aa000eacbaf841d745b07ef3a3280899056b",
      "tree": "013d13bb51e1046f6864ae634edaf0dad30da2e7",
      "parents": [
        "78ed11a56bd8679aa6d51eb36b448342c59a7824"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:19:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:19:08 2008 -0700"
      },
      "message": "ipv4: prepare net initialization for IP accounting\n\nSome places, that deal with IP statistics already have where to\nget a struct net from, but use it directly, without declaring\na separate variable on the stack.\n\nSo, save this net on the stack for future IP_XXX_STATS macros.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70efce27fc3d54271519244dc5e47da4ed711dd4",
      "tree": "c95c8cb7f7fe985d99bc01a0f35bc474681fb75b",
      "parents": [
        "7b1c65faa27f5ade3915e4bbc9186b6e64d2d6ec"
      ],
      "author": {
        "name": "Will Newton",
        "email": "will.newton@gmail.com",
        "time": "Wed Jul 16 20:13:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:13:43 2008 -0700"
      },
      "message": "net/ipv4/tcp.c: Fix use of PULLHUP instead of POLLHUP in comments.\n\nChange PULLHUP to POLLHUP in tcp_poll comments and clean up another\ncomment for grammar and coding style.\n\nSigned-off-by: Will Newton \u003cwill.newton@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "885a4c966bcc11a1470c2b85a90360f6518a507a",
      "tree": "43459d8b19cc036c46cc899880509c2ba2c4a760",
      "parents": [
        "9d3a0de7dc3c1c4456db5ceb92c445bef0a47681",
        "375c6bbabf210ded3151481ca1ac7f730903512b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:07:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:07:06 2008 -0700"
      },
      "message": "Merge branch \u0027stealer/ipvs/sync-daemon-cleanup-for-next\u0027 of git://git.stealer.net/linux-2.6\n"
    },
    {
      "commit": "9d3a0de7dc3c1c4456db5ceb92c445bef0a47681",
      "tree": "0534ecf89612ad5307b38309bf7b8f4920eb1f0f",
      "parents": [
        "d0236f8f8223ad841f461ea3a635d452d194806b"
      ],
      "author": {
        "name": "Rumen G. Bogdanovski",
        "email": "rumen@voicecho.com",
        "time": "Wed Jul 16 20:04:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:04:23 2008 -0700"
      },
      "message": "ipvs: More reliable synchronization on connection close\n\nThis patch enhances the synchronization of the closing connections\nbetween the master and the backup director. It prevents the closed\nconnections to expire with the 15 min timeout of the ESTABLISHED\nstate on the backup and makes them expire as they would do on the\nmaster with much shorter timeouts.\n\nSigned-off-by: Rumen G. Bogdanovski \u003crumen@voicecho.com\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "375c6bbabf210ded3151481ca1ac7f730903512b",
      "tree": "e5f092925e77fe7dec4b198eea6588944219c15f",
      "parents": [
        "ba6fd85021dec97d58373d9aea4bea8fc24258be"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 11:14:03 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 22:33:20 2008 +0000"
      },
      "message": "ipvs: Use schedule_timeout_interruptible() instead of msleep_interruptible()\n\nSo that kthread_stop() can wake up the thread and we don\u0027t have to wait one\nsecond in the worst case for the daemon to actually stop.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "ba6fd85021dec97d58373d9aea4bea8fc24258be",
      "tree": "4c79457a5cb6dbf634de1c0d3e95f6261199c704",
      "parents": [
        "998e7a76804b7a273a0460c2cdd5a51fa9856717"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 11:13:56 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 22:33:20 2008 +0000"
      },
      "message": "ipvs: Put backup thread on mcast socket wait queue\n\nInstead of doing an endless loop with sleeping for one second, we now put the\nbackup thread onto the mcast socket wait queue and it gets woken up as soon as\nwe have data to process.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "998e7a76804b7a273a0460c2cdd5a51fa9856717",
      "tree": "42c5617f9fc180457e7f6f98326edf489a671086",
      "parents": [
        "e6dd731c75cba986a485924f908e6e05b088ea9e"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 11:13:50 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 22:33:20 2008 +0000"
      },
      "message": "ipvs: Use kthread_run() instead of doing a double-fork via kernel_thread()\n\nThis also moves the setup code out of the daemons, so that we\u0027re able to\nreturn proper error codes to user space. The current code will return success\nto user space when the daemon is started with an invald mcast interface. With\nthese changes we get an appropriate \"No such device\" error.\n\nWe longer need our own completion to be sure the daemons are actually running,\nbecause they no longer contain code that can fail and kthread_run() takes care\nof the rest.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "e6dd731c75cba986a485924f908e6e05b088ea9e",
      "tree": "d9d88b0ec6ded9da8a4e85d129736720ffef8567",
      "parents": [
        "d56400504a40a4aa197af629300d76544169e821"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 11:13:43 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 22:33:19 2008 +0000"
      },
      "message": "ipvs: Use ERR_PTR for returning errors from make_receive_sock() and make_send_sock()\n\nThe additional information we now return to the caller is currently not used,\nbut will be used to return errors to user space.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d56400504a40a4aa197af629300d76544169e821",
      "tree": "9fe88019e3c5610971ff17264adb956a0c3bb373",
      "parents": [
        "0b57664cf2393bc1eff594ff7e5ff26533843fe6"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 11:13:35 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Jul 16 22:33:19 2008 +0000"
      },
      "message": "ipvs: Initialize mcast addr at compile time\n\nThere\u0027s no need to do it at runtime, the values are constant.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "f66ac03d497c162c70cd0ccc802ce1777073cdf3",
      "tree": "9e177b888f187b995736231cc4c971566181a561",
      "parents": [
        "903fc1964e746b8d8e2971ea20c89b7aeab8bd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:04:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:31 2008 -0700"
      },
      "message": "mib: add struct net to ICMPMSGIN_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "903fc1964e746b8d8e2971ea20c89b7aeab8bd9a",
      "tree": "5d6d6565331d6155a587d3164e92d660f712bcd4",
      "parents": [
        "dcfc23cac103b54dbc00a6f52f47656ad5c75844"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:03:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:30 2008 -0700"
      },
      "message": "mib: add struct net to ICMPMSGOUT_INC_STATS\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcfc23cac103b54dbc00a6f52f47656ad5c75844",
      "tree": "f9a61572791da6c37a50a2d17b73b5f89a6b5fc4",
      "parents": [
        "75c939bb4d6da790f758a2a3dcc7432f6d8778ee"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:03:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:29 2008 -0700"
      },
      "message": "mib: add struct net to ICMP_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c939bb4d6da790f758a2a3dcc7432f6d8778ee",
      "tree": "8b377a42bb556d36c7aaa09745221f91b5942054",
      "parents": [
        "43589aa93c9ce49f0e87a280014a4dd254b37fcf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:02:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:28 2008 -0700"
      },
      "message": "mib: add struct net to ICMP_INC_STATS\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "fd54d716b1f6a3551ec17a4bb34027727b2db09a"
}
