)]}'
{
  "log": [
    {
      "commit": "26cde9f7e2747b6d254b704594eed87ab959afa5",
      "tree": "ebb84a0ca60dd14801e9d398ee950c2527260c16",
      "parents": [
        "13fea6d4f73942e6961aec97ba4c593619d18f6f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jun 15 01:52:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 21 13:57:34 2010 -0700"
      },
      "message": "udp: Fix bogus UFO packet generation\n\nIt has been reported that the new UFO software fallback path\nfails under certain conditions with NFS.  I tracked the problem\ndown to the generation of UFO packets that are smaller than the\nMTU.  The software fallback path simply discards these packets.\n\nThis patch fixes the problem by not generating such packets on\nthe UFO path.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nReviewed-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "035320d54758e21227987e3aae0d46e7a04f4ddc",
      "tree": "9ad66a45ab0b0d903ebcbe435894d1fb9d5d78f5",
      "parents": [
        "3fd7fa4a89f0b85b9b33e922f15a2289c0fb8499"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Jun 06 23:48:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 07 02:57:14 2010 -0700"
      },
      "message": "ipmr: dont corrupt lists\n\nipmr_rules_exit() and ip6mr_rules_exit() free a list of items, but\nforget to properly remove these items from list. List head is not\nchanged and still points to freed memory.\n\nThis can trigger a fault later when icmpv6_sk_exit() is called.\n\nFix is to either reinit list, or use list_del() to properly remove items\nfrom list before freeing them.\n\nbugzilla report : https://bugzilla.kernel.org/show_bug.cgi?id\u003d16120\n\nIntroduced by commit d1db275dd3f6e4 (ipv6: ip6mr: support multiple\ntables) and commit f0ad0860d01e (ipv4: ipmr: support multiple tables)\n\nReported-by: Alex Zhavnerchik \u003calex.vizor@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c44649216522cd607a4027d2ebf4a8147d3fa94c",
      "tree": "e46e153f3f3166353d9818e6b719f1c06b60d4be",
      "parents": [
        "ca55158c6ecb7832a6ad80ac44a14d23bab8cdfc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jun 03 05:45:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 04 15:56:03 2010 -0700"
      },
      "message": "tcp: use correct net ns in cookie_v4_check()\n\nIts better to make a route lookup in appropriate namespace.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca55158c6ecb7832a6ad80ac44a14d23bab8cdfc",
      "tree": "e701c78b85016247fa5962de0e0793e5b985930e",
      "parents": [
        "536e00e570c87f258554e919c444b81a7002e46d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jun 03 09:03:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 04 15:56:02 2010 -0700"
      },
      "message": "rps: tcp: fix rps_sock_flow_table table updates\n\nI believe a moderate SYN flood attack can corrupt RFS flow table\n(rps_sock_flow_table), making RPS/RFS much less effective.\n\nEven in a normal situation, server handling short lived sessions suffer\nfrom bad steering for the first data packet of a session, if another SYN\npacket is received for another session.\n\nWe do following action in tcp_v4_rcv() :\n\n\tsock_rps_save_rxhash(sk, skb-\u003erxhash);\n\nWe should _not_ do this if sk is a LISTEN socket, as about each\npacket received on a LISTEN socket has a different rxhash than\nprevious one.\n -\u003e RPS_NO_CPU markers are spread all over rps_sock_flow_table.\n\nAlso, it makes sense to protect sk-\u003erxhash field changes with socket\nlock (We currently can change it even if user thread owns the lock\nand might use rxhash)\n\nThis patch moves sock_rps_save_rxhash() to a sock locked section,\nand only for non LISTEN sockets.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57f1553ee5d9f093660cc49098f494e17ed11668",
      "tree": "95387158da48c4dde7bb17477f87944c13e2456f",
      "parents": [
        "ca739481662137b8f717bc21f16719cda3c33d6b"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Thu Jun 03 00:42:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 04 15:56:01 2010 -0700"
      },
      "message": "syncookies: remove Kconfig text line about disabled-by-default\n\nsyncookies default to on since\ne994b7c901ded7200b525a707c6da71f2cf6d4bb\n(tcp: Don\u0027t make syn cookies initial setting depend on CONFIG_SYSCTL).\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edafe502404f3669d364b6e96d79b54067b634b4",
      "tree": "ef3c1a3921e20b2dc40938f2de23e893a6a53c4a",
      "parents": [
        "33c29dde7d04dc0ec0edb649d20ccf1351c13a06"
      ],
      "author": {
        "name": "Daniele Lacamera",
        "email": "root@danielinux.net",
        "time": "Wed Jun 02 02:02:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 07:15:48 2010 -0700"
      },
      "message": "TCP: tcp_hybla: Fix integer overflow in slow start increment\n\nFor large values of rtt, 2^rho operation may overflow u32. Clamp down the increment to 2^16.\n\nSigned-off-by: Daniele Lacamera \u003croot@danielinux.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "288fcee8b7aa98796d96cd5b1b2e8005639328bf",
      "tree": "25a9b70411711a86de005f188d6d591c6fc196ad",
      "parents": [
        "5953a303471951a4c2f2127f0b4c74df7ceb7ac2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 31 23:48:19 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 23:52:39 2010 -0700"
      },
      "message": "net/ipv4/tcp_input.c: fix compilation breakage when FASTRETRANS_DEBUG \u003e 1\n\nCommit: c720c7e8383aff1cb219bddf474ed89d850336e3 missed these.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5953a303471951a4c2f2127f0b4c74df7ceb7ac2",
      "tree": "13b51217a6f538fe5c72821b1ee65d9bfea72842",
      "parents": [
        "b1faf5666438090a4dc4fceac8502edc7788b7e3",
        "7489aec8eed4f2f1eb3b4d35763bd3ea30b32ef5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 23:44:57 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 23:44:57 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "b1faf5666438090a4dc4fceac8502edc7788b7e3",
      "tree": "f90808dea27cc38aff6feed1782e2a5666fa6ee9",
      "parents": [
        "bc284f94f84c3d76e49c6f3df9028c503f9589d9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 31 23:44:05 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 23:44:05 2010 -0700"
      },
      "message": "net: sock_queue_err_skb() dont mess with sk_forward_alloc\n\nCorrect sk_forward_alloc handling for error_queue would need to use a\nbacklog of frames that softirq handler could not deliver because socket\nis owned by user thread. Or extend backlog processing to be able to\nprocess normal and error packets.\n\nAnother possibility is to not use mem charge for error queue, this is\nwhat I implemented in this patch.\n\nNote: this reverts commit 29030374\n(net: fix sk_forward_alloc corruptions), since we dont need to lock\nsocket anymore.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7489aec8eed4f2f1eb3b4d35763bd3ea30b32ef5",
      "tree": "fe2450679dc217183421e606b3912641545596bd",
      "parents": [
        "c936e8bd1de2fa50c49e3df6fa5036bf07870b67"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 31 16:41:35 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 31 16:41:35 2010 +0200"
      },
      "message": "netfilter: xtables: stackptr should be percpu\n\ncommit f3c5c1bfd4 (netfilter: xtables: make ip_tables reentrant)\nintroduced a performance regression, because stackptr array is shared by\nall cpus, adding cache line ping pongs. (16 cpus share a 64 bytes cache\nline)\n\nFix this using alloc_percpu()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-By: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "64960848abd18d0bcde3f53ffa7ed0b631e6b25d",
      "tree": "8424a1c550a98ce09f127425fde9b7b5f2f5027a",
      "parents": [
        "2903037400a26e7c0cc93ab75a7d62abfacdf485",
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 05:46:45 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 05:46:45 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "2903037400a26e7c0cc93ab75a7d62abfacdf485",
      "tree": "c29d8b3199d8fa52856e5edcd374411f962d7c11",
      "parents": [
        "7dfde179c38056b91d51e60f3d50902387f27c84"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat May 29 00:20:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 29 00:20:48 2010 -0700"
      },
      "message": "net: fix sk_forward_alloc corruptions\n\nAs David found out, sock_queue_err_skb() should be called with socket\nlock hold, or we risk sk_forward_alloc corruption, since we use non\natomic operations to update this field.\n\nThis patch adds bh_lock_sock()/bh_unlock_sock() pair to three spots.\n(BH already disabled)\n\n1) skb_tstamp_tx() \n2) Before calling ip_icmp_error(), in __udp4_lib_err() \n3) Before calling ipv6_icmp_error(), in __udp6_lib_err()\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72da3bc0cb3e82bd95f278a0c5c988e506e56d13",
      "tree": "db4bf9f9265be3216dfb3d65b49e53d8448e13e2",
      "parents": [
        "8507bb0062bff1431bbcce921efe5cd1186fcff2",
        "045de01a174d9f0734f657eb4b3313d89b4fd5ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:18:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:18:40 2010 -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: (22 commits)\n  netlink: bug fix: wrong size was calculated for vfinfo list blob\n  netlink: bug fix: don\u0027t overrun skbs on vf_port dump\n  xt_tee: use skb_dst_drop()\n  netdev/fec: fix ifconfig eth0 down hang issue\n  cnic: Fix context memory init. on 5709.\n  drivers/net: Eliminate a NULL pointer dereference\n  drivers/net/hamradio: Eliminate a NULL pointer dereference\n  be2net: Patch removes redundant while statement in loop.\n  ipv6: Add GSO support on forwarding path\n  net: fix __neigh_event_send()\n  vhost: fix the memory leak which will happen when memory_access_ok fails\n  vhost-net: fix to check the return value of copy_to/from_user() correctly\n  vhost: fix to check the return value of copy_to/from_user() correctly\n  vhost: Fix host panic if ioctl called with wrong index\n  net: fix lock_sock_bh/unlock_sock_bh\n  net/iucv: Add missing spin_unlock\n  net: ll_temac: fix checksum offload logic\n  net: ll_temac: fix interrupt bug when interrupt 0 is used\n  sctp: dubious bitfields in sctp_transport\n  ipmr: off by one in __ipmr_fill_mroute()\n  ...\n"
    },
    {
      "commit": "8a74ad60a546b13bd1096b2a61a7a5c6fd9ae17c",
      "tree": "3110e7e59883597b5d0f617e8507e15b8f965f3f",
      "parents": [
        "a56635a56f2afb3d22d9ce07e8f8d69537416b2d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 26 19:20:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 27 00:30:53 2010 -0700"
      },
      "message": "net: fix lock_sock_bh/unlock_sock_bh\n\nThis new sock lock primitive was introduced to speedup some user context\nsocket manipulation. But it is unsafe to protect two threads, one using\nregular lock_sock/release_sock, one using lock_sock_bh/unlock_sock_bh\n\nThis patch changes lock_sock_bh to be careful against \u0027owned\u0027 state.\nIf owned is found to be set, we must take the slow path.\nlock_sock_bh() now returns a boolean to say if the slow path was taken,\nand this boolean is used at unlock_sock_bh time to call the appropriate\nunlock function.\n\nAfter this change, BH are either disabled or enabled during the\nlock_sock_bh/unlock_sock_bh protected section. This might be misleading,\nso we rename these functions to lock_sock_fast()/unlock_sock_fast().\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed0f160ad674407adb3aba499444f71c83289c63",
      "tree": "39cff780164f55d6cda23018431ab553c4477f9e",
      "parents": [
        "d938a702e5ce8909ea68be97566150507bfea4df"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed May 26 00:38:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 26 00:38:56 2010 -0700"
      },
      "message": "ipmr: off by one in __ipmr_fill_mroute()\n\nThis fixes a smatch warning:\n\tnet/ipv4/ipmr.c +1917 __ipmr_fill_mroute(12) error: buffer overflow\n\t\u0027(mrt)-\u003evif_table\u0027 32 \u003c\u003d 32\n\nThe ipv6 version had the same issue.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4be929be34f9bdeffa40d815d32d7d60d2c7f03b",
      "tree": "4d2c6e2b8ef766e565e2e050ee151de2e02081d3",
      "parents": [
        "940370fc86b920b51a34217a1facc3e9e97c2456"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 24 14:33:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN\n\n- C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not\n  USHORT_MAX/SHORT_MAX/SHORT_MIN.\n\n- Make SHRT_MIN of type s16, not int, for consistency.\n\n[akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]\n[akpm@linux-foundation.org: fix security/keys/keyring.c]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8965467f366fd18f01feafb5db10512d7b4422c",
      "tree": "3706a9cd779859271ca61b85c63a1bc3f82d626e",
      "parents": [
        "a26272e5200765691e67d6780e52b32498fdb659",
        "2ec8c6bb5d8f3a62a79f463525054bae1e3d4487"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:04:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:04:44 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1674 commits)\n  qlcnic: adding co maintainer\n  ixgbe: add support for active DA cables\n  ixgbe: dcb, do not tag tc_prio_control frames\n  ixgbe: fix ixgbe_tx_is_paused logic\n  ixgbe: always enable vlan strip/insert when DCB is enabled\n  ixgbe: remove some redundant code in setting FCoE FIP filter\n  ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp\n  ixgbe: fix header len when unsplit packet overflows to data buffer\n  ipv6: Never schedule DAD timer on dead address\n  ipv6: Use POSTDAD state\n  ipv6: Use state_lock to protect ifa state\n  ipv6: Replace inet6_ifaddr-\u003edead with state\n  cxgb4: notify upper drivers if the device is already up when they load\n  cxgb4: keep interrupts available when the ports are brought down\n  cxgb4: fix initial addition of MAC address\n  cnic: Return SPQ credit to bnx2x after ring setup and shutdown.\n  cnic: Convert cnic_local_flags to atomic ops.\n  can: Fix SJA1000 command register writes on SMP systems\n  bridge: fix build for CONFIG_SYSFS disabled\n  ARCNET: Limit com20020 PCI ID matches for SOHARD cards\n  ...\n\nFix up various conflicts with pcmcia tree drivers/net/\n{pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and\nwireless/orinoco/spectrum_cs.c} and feature removal\n(Documentation/feature-removal-schedule.txt).\n\nAlso fix a non-content conflict due to pm_qos_requirement getting\nrenamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c\n"
    },
    {
      "commit": "f39d01be4c59a61a08d0cb53f615e7016b85d339",
      "tree": "6777590e3ff2ddf4df1d38444ba7d692cd463b7b",
      "parents": [
        "54291263519ac2c9bdda68b23b02fef3808deed4",
        "7db82437cfcac4bdfe79a6323eb554fdfa271623"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:20:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:20:59 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (44 commits)\n  vlynq: make whole Kconfig-menu dependant on architecture\n  add descriptive comment for TIF_MEMDIE task flag declaration.\n  EEPROM: max6875: Header file cleanup\n  EEPROM: 93cx6: Header file cleanup\n  EEPROM: Header file cleanup\n  agp: use NULL instead of 0 when pointer is needed\n  rtc-v3020: make bitfield unsigned\n  PCI: make bitfield unsigned\n  jbd2: use NULL instead of 0 when pointer is needed\n  cciss: fix shadows sparse warning\n  doc: inode uses a mutex instead of a semaphore.\n  uml: i386: Avoid redefinition of NR_syscalls\n  fix \"seperate\" typos in comments\n  cocbalt_lcdfb: correct sections\n  doc: Change urls for sparse\n  Powerpc: wii: Fix typo in comment\n  i2o: cleanup some exit paths\n  Documentation/: it\u0027s -\u003e its where appropriate\n  UML: Fix compiler warning due to missing task_struct declaration\n  UML: add kernel.h include to signal.c\n  ...\n"
    },
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d19d56ddc88e7895429ef118db9c83c7bbe3ce6a",
      "tree": "c0db76f3527c88c95a8793c871f62d628fb3fd1d",
      "parents": [
        "de213e5eedecdfb1b1eea7e6be28bc64cac5c078"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 17 22:36:55 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:36:55 2010 -0700"
      },
      "message": "net: Introduce skb_tunnel_rx() helper\n\nskb rxhash should be cleared when a skb is handled by a tunnel before\nbeing delivered again, so that correct packet steering can take place.\n\nThere are other cleanups and accounting that we can factorize in a new\nhelper, skb_tunnel_rx()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de213e5eedecdfb1b1eea7e6be28bc64cac5c078",
      "tree": "dee5fa7e4874332b65c95dc2e9ee463a5652c519",
      "parents": [
        "eedf042a63ffef050ebc015de19b52dc065e830b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 17 22:35:36 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:35:36 2010 -0700"
      },
      "message": "tcp: tcp_synack_options() fix \n\nCommit 33ad798c924b4a (tcp: options clean up) introduced a problem\nif MD5+SACK+timestamps were used in initial SYN message.\n\nSome stacks (old linux for example) try to negotiate MD5+SACK+TSTAMP\nsessions, but since 40 bytes of tcp options space are not enough to\nstore all the bits needed, we chose to disable timestamps in this case.\n\nWe send a SYN-ACK _without_ timestamp option, but socket has timestamps\nenabled and all further outgoing messages contain a TS block, all with\nthe initial timestamp of the remote peer.\n\nFix is to really disable timestamps option for the whole session.\n\nReported-by: Bijay Singh \u003cBijay.Singh@guavus.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccbd6a5a4f76e821ed36f69fdaf59817c3a7f18e",
      "tree": "9fd681809e588913cc312f63ae0e701f18599afc",
      "parents": [
        "935e2a26b85003c0bd52b6c92712c2f77a5f9d33"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri May 14 10:58:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:44:35 2010 -0700"
      },
      "message": "net: Remove unnecessary semicolons after switch statements\n\nAlso added an explicit break; to avoid\na fallthrough in net/ipv4/tcp_input.c\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab6e3feba1f1bc3b9418b854da6f481408d243de",
      "tree": "18977292fa858067f7cc4d7a7df8a69dd5562a3d",
      "parents": [
        "4a94445c9a5cf5461fb41d80040033b9a8e2a85a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 10 11:31:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:52 2010 -0700"
      },
      "message": "net: No dst refcounting in ip_queue_xmit()\n\nTCP outgoing packets can avoid two atomic ops, and dirtying\nof previously higly contended cache line using new refdst\ninfrastructure.\n\nNote 1: loopback device excluded because of !IFF_XMIT_DST_RELEASE\nNote 2: UDP packets dsts are built before ip_queue_xmit().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a94445c9a5cf5461fb41d80040033b9a8e2a85a",
      "tree": "7891df11e4df4dd2c5149ef4fdc7d1301e7fca36",
      "parents": [
        "407eadd996dc62a827db85f1d0c286a98fd5d336"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 10 11:33:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:51 2010 -0700"
      },
      "message": "net: Use ip_route_input_noref() in input path\n\nUse ip_route_input_noref() in ip fast path, to avoid two atomic ops per\nincoming packet.\n\nNote: loopback is excluded from this optimization in ip_rcv_finish()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "407eadd996dc62a827db85f1d0c286a98fd5d336",
      "tree": "199b695cd045650b939aab61cbb55c31d9165b4e",
      "parents": [
        "7fee226ad2397b635e2fd565a59ca3ae08a164cd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 10 11:32:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:51 2010 -0700"
      },
      "message": "net: implements ip_route_input_noref()\n\nip_route_input() is the version returning a refcounted dst, while\nip_route_input_noref() returns a non refcounted one.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fee226ad2397b635e2fd565a59ca3ae08a164cd",
      "tree": "0bcd26150ad74ec1a237109de87a3d214a07fc22",
      "parents": [
        "ebda37c27d0c768947e9b058332d7ea798210cf8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue May 11 23:19:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:50 2010 -0700"
      },
      "message": "net: add a noref bit on skb dst\n\nUse low order bit of skb-\u003e_skb_dst to tell dst is not refcounted.\n\nChange _skb_dst to _skb_refdst to make sure all uses are catched.\n\nskb_dst() returns the dst, regardless of noref bit set or not, but\nwith a lockdep check to make sure a noref dst is not given if current\nuser is not rcu protected.\n\nNew skb_dst_set_noref() helper to set an notrefcounted dst on a skb.\n(with lockdep check)\n\nskb_dst_drop() drops a reference only if skb dst was refcounted.\n\nskb_dst_force() helper is used to force a refcount on dst, when skb\nis queued and not anymore RCU protected.\n\nUse skb_dst_force() in __sk_add_backlog(), __dev_xmit_skb() if\n!IFF_XMIT_DST_RELEASE or skb enqueued on qdisc queue, in\nsock_queue_rcv_skb(), in __nf_queue().\n\nUse skb_dst_force() in dev_requeue_skb().\n\nNote: dst_use_noref() still dirties dst, we might transform it\nlater to do one dirtying per jiffies.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6811d58fc148c393f80a9f5a9db49d7e75cdc546",
      "tree": "c25d5b0e49ec848943d35f819e748d157ccb492e",
      "parents": [
        "c4949f074332a64baeb2ead6ab9319ca37642f96",
        "c02db8c6290bb992442fec1407643c94cc414375"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/linux/if_link.h\n"
    },
    {
      "commit": "a465419b1febb603821f924805529cff89cafeed",
      "tree": "5131fa2dbf624ebeb6cf61bf4dc1bc9464fe0bbd",
      "parents": [
        "3b098e2d7c693796cc4dffb07caa249fc0f70771"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun May 16 00:36:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 00:36:33 2010 -0700"
      },
      "message": "net: Introduce sk_route_nocaps\n\nTCP-MD5 sessions have intermittent failures, when route cache is\ninvalidated. ip_queue_xmit() has to find a new route, calls\nsk_setup_caps(sk, \u0026rt-\u003eu.dst), destroying the \n\nsk-\u003esk_route_caps \u0026\u003d ~NETIF_F_GSO_MASK\n\nthat MD5 desperately try to make all over its way (from\ntcp_transmit_skb() for example)\n\nSo we send few bad packets, and everything is fine when\ntcp_transmit_skb() is called again for this socket.\n\nSince ip_queue_xmit() is at a lower level than TCP-MD5, I chose to use a\nsocket field, sk_route_nocaps, containing bits to mask on sk_route_caps.\n\nReported-by: Bhaskar Dutta \u003cbhaskie@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35790c0421121364883a167bab8a2e37e1f67f78",
      "tree": "a3e032a9ba6bb77337176bef407d7408d6a10a4d",
      "parents": [
        "d77f873fdd21912803836da78f627d2efd267082"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun May 16 00:34:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 00:34:04 2010 -0700"
      },
      "message": "tcp: fix MD5 (RFC2385) support\n\nTCP MD5 support uses percpu data for temporary storage. It currently\ndisables preemption so that same storage cannot be reclaimed by another\nthread on same cpu.\n\nWe also have to make sure a softirq handler wont try to use also same\ncontext. Various bug reports demonstrated corruptions.\n\nFix is to disable preemption and BH.\n\nReported-by: Bhaskar Dutta \u003cbhaskie@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3826f1e946e7d2354943232f1457be1455a29e2",
      "tree": "a34055c7de762410b6a10c21ab5e1999fb38803b",
      "parents": [
        "9f977fb7ae9ddf565b4800854212fb9a1ed6c2ea"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed May 05 00:27:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:28:40 2010 -0700"
      },
      "message": "net: reserve ports for applications using fixed port numbers\n\n(Dropped the infiniband part, because Tetsuo modified the related code,\nI will send a separate patch for it once this is accepted.)\n\nThis patch introduces /proc/sys/net/ipv4/ip_local_reserved_ports which\nallows users to reserve ports for third-party applications.\n\nThe reserved ports will not be used by automatic port assignments\n(e.g. when calling connect() or bind() with port number 0). Explicit\nport allocation behavior is unchanged.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7874c996b8591f59d78efa519031dab5b58723b",
      "tree": "14aa8dea0c33de9d22ef8177fb242c9d80d693de",
      "parents": [
        "4a6346d4ea63b5e1390babf22f1cc0f113d8082b",
        "736d58e3a2245ac2779fe0f278f8735bcf33ca8d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 13 14:14:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 13 14:14:10 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "736d58e3a2245ac2779fe0f278f8735bcf33ca8d",
      "tree": "7a0faa6b12ea56ae66dae40f8649649115247234",
      "parents": [
        "654d0fbdc8fe1041918741ed5b6abc8ad6b4c1d8"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 13 15:16:27 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 13 15:16:27 2010 +0200"
      },
      "message": "netfilter: remove unnecessary returns from void function()s\n\nThis patch removes from net/ netfilter files\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\n[Patrick: changed to keep return statements in otherwise empty function bodies]\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "654d0fbdc8fe1041918741ed5b6abc8ad6b4c1d8",
      "tree": "6888917854682b983b17aecd82b5d8d7039175a9",
      "parents": [
        "af5676039a9479e6ff42c6aab9fac1149ac9597f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu May 13 15:02:08 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 13 15:02:08 2010 +0200"
      },
      "message": "netfilter: cleanup printk messages\n\nMake sure all printk messages have a severity level.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "af5676039a9479e6ff42c6aab9fac1149ac9597f",
      "tree": "23286e7ee0f2fd28ba267e7488367ee84fd83322",
      "parents": [
        "e94c67436efa22af7d8b7d19c885863246042543"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu May 13 15:00:20 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 13 15:00:20 2010 +0200"
      },
      "message": "netfilter: change NF_ASSERT to WARN_ON\n\nChange netfilter asserts to standard WARN_ON. This has the\nbenefit of backtrace info and also causes netfilter errors\nto show up on kerneloops.org.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "278554bd6579206921f5d8a523649a7a57f8850d",
      "tree": "4e6c527daf0910e455b3aa72e2c96b0479e430be",
      "parents": [
        "5a147e8bf982f9dd414c1dd751fe02c1942506b2",
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ar9170/usb.c\n\tdrivers/scsi/iscsi_tcp.c\n\tnet/ipv4/ipmr.c\n"
    },
    {
      "commit": "cba7a98a474a4f2a9316473734ba76829191a78a",
      "tree": "28a0ab87dba93385353bedb76a26a1fc45b3a0c6",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482",
        "4538506be386f9736b83bf9892f829adbbb70fea"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 18:59:21 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 18:59:21 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://dev.medozas.de/linux\n"
    },
    {
      "commit": "4538506be386f9736b83bf9892f829adbbb70fea",
      "tree": "3e3be09f45b3af19edc1143f2eb44ad1751ecfa7",
      "parents": [
        "b4ba26119b06052888696491f614201817491a0d"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sat Jul 04 12:50:00 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:36:18 2010 +0200"
      },
      "message": "netfilter: xtables: combine built-in extension structs\n\nPrepare the arrays for use with the multiregister function. The\nfuture layer-3 xt matches can then be easily added to it without\nneeding more (un)register code.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "b4ba26119b06052888696491f614201817491a0d",
      "tree": "d6dc2a4e0f78641b5b64a1728322c81cbad09974",
      "parents": [
        "62fc8051083a334578c3f4b3488808f210b4565f"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jul 07 20:54:30 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:35:27 2010 +0200"
      },
      "message": "netfilter: xtables: change hotdrop pointer to direct modification\n\nSince xt_action_param is writable, let\u0027s use it. The pointer to\n\u0027bool hotdrop\u0027 always worried (8 bytes (64-bit) to write 1 byte!).\nSurprisingly results in a reduction in size:\n\n   text    data     bss filename\n5457066  692730  357892 vmlinux.o-prev\n5456554  692730  357892 vmlinux.o\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "62fc8051083a334578c3f4b3488808f210b4565f",
      "tree": "9f48eb26316b19b0b8c010d774f3c936315c1aa1",
      "parents": [
        "4b560b447df83368df44bd3712c0c39b1d79ba04"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jul 07 20:42:08 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:33:37 2010 +0200"
      },
      "message": "netfilter: xtables: deconstify struct xt_action_param for matches\n\nIn future, layer-3 matches will be an xt module of their own, and\nneed to set the fragoff and thoff fields. Adding more pointers would\nneedlessy increase memory requirements (esp. so for 64-bit, where\npointers are wider).\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "4b560b447df83368df44bd3712c0c39b1d79ba04",
      "tree": "b445a292e8caf1bcbfb950f461af5f86e7263c01",
      "parents": [
        "de74c16996287250f0d947663127f80c6beebd3c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Jul 05 19:43:26 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:31:17 2010 +0200"
      },
      "message": "netfilter: xtables: substitute temporary defines by final name\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "de74c16996287250f0d947663127f80c6beebd3c",
      "tree": "c7e77e254c5812c8561516dd668eaec732a89a0d",
      "parents": [
        "ef53d702c3614fb919e8a8291033e3dbccfd1aea"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Jul 05 18:26:37 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:23:43 2010 +0200"
      },
      "message": "netfilter: xtables: combine struct xt_match_param and xt_target_param\n\nThe structures carried - besides match/target - almost the same data.\nIt is possible to combine them, as extensions are evaluated serially,\nand so, the callers end up a little smaller.\n\n  text  data  bss  filename\n-15318   740  104  net/ipv4/netfilter/ip_tables.o\n+15286   740  104  net/ipv4/netfilter/ip_tables.o\n-15333   540  152  net/ipv6/netfilter/ip6_tables.o\n+15269   540  152  net/ipv6/netfilter/ip6_tables.o\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "1e4b1057121bc756b91758a434b504d2010f6088",
      "tree": "b016cf2c728289c7e36d9e4e488f30ab0bd0ae6e",
      "parents": [
        "3b254c54ec46eb022cb26ee6ab37fae23f5f7d6a",
        "3ee943728fff536edaf8f59faa58aaa1aa7366e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tnet/bridge/br_device.c\n\tnet/bridge/br_forward.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f0ecde1466f21edf577b809735f4f35f354777a0",
      "tree": "f901b890c53ec33f51e2eaa776f828fafede9759",
      "parents": [
        "bbd725435ddb1cac732f7a8c23c21ff67f24c60f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 04:59:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 04:59:07 2010 -0700"
      },
      "message": "net: Fix FDDI and TR config checks in ipv4 arp and LLC.\n\nNeed to check both CONFIG_FOO and CONFIG_FOO_MODULE\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbd725435ddb1cac732f7a8c23c21ff67f24c60f",
      "tree": "fcce588f4d79a384aa961e6c1f354d4eab8231a1",
      "parents": [
        "ccc2d97cb7c798e785c9f198de243e2b59f7073b"
      ],
      "author": {
        "name": "Andreas Meissner",
        "email": "andreas.meissner@sphairon.com",
        "time": "Mon May 10 04:47:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 04:47:49 2010 -0700"
      },
      "message": "IPv4: unresolved multicast route cleanup\n\nFixes the expiration timer for unresolved multicast route entries.\nIn case new multicast routing requests come in faster than the \nexpiration timeout occurs (e.g. zap through multicast TV streams), the \ntimer is prevented from being called at time for already existing entries.\n\nAs the single timer is resetted to default whenever a new entry is made, \nthe timeout for existing unresolved entires are missed and/or not \nupdated. As a consequence new requests are denied when the limit of \nunresolved entries has been reached because old entries live longer than \nthey are supposed to.\n\nThe solution is to reset the timer only for the first unresolved entry \nin the multicast routing cache. All other timers are already set and \nupdated correctly within the timer function itself by now.\n\nSigned-off by: Andreas Meissner \u003candreas.meissner@sphairon.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ee943728fff536edaf8f59faa58aaa1aa7366e3",
      "tree": "98ab529c1be1e4cb4b291c9d4c9fc9dba678967e",
      "parents": [
        "e0e33280fedcfa9dd70a54085c4d44d9d53b788f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Sat May 08 01:57:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 08 01:57:52 2010 -0700"
      },
      "message": "ipv4: remove ip_rt_secret timer (v4)\n\nA while back there was a discussion regarding the rt_secret_interval timer.\nGiven that we\u0027ve had the ability to do emergency route cache rebuilds for awhile\nnow, based on a statistical analysis of the various hash chain lengths in the\ncache, the use of the flush timer is somewhat redundant.  This patch removes the\nrt_secret_interval sysctl, allowing us to rely solely on the statistical\nanalysis mechanism to determine the need for route cache flushes.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccc2d97cb7c798e785c9f198de243e2b59f7073b",
      "tree": "c8752bd5a4fb051690ecaf9015fd0de2bb83560e",
      "parents": [
        "80ea76bb2575c426154b8d61d324197ee3592baa"
      ],
      "author": {
        "name": "Bjørn Mork",
        "email": "bjorn@mork.no",
        "time": "Thu May 06 03:44:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 21:49:59 2010 -0700"
      },
      "message": "ipv4: udp: fix short packet and bad checksum logging\n\ncommit 2783ef23 moved the initialisation of saddr and daddr after\npskb_may_pull() to avoid a potential data corruption.  Unfortunately\nalso placing it after the short packet and bad checksum error paths,\nwhere these variables are used for logging.  The result is bogus\noutput like\n\n[92238.389505] UDP: short packet: From 2.0.0.0:65535 23715/178 to 0.0.0.0:65535\n\nMoving the saddr and daddr initialisation above the error paths, while still\nkeeping it after the pskb_may_pull() to keep the fix from commit 2783ef23.\n\nSigned-off-by: Bjørn Mork \u003cbjorn@mork.no\u003e\nCc: stable@kernel.org\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ef527377b88ff05fb122a47619ea506c631c914",
      "tree": "2c2e774527d5f591b975834f43e8c6fd12fb38f2",
      "parents": [
        "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
        "1183f3838c588545592c042c0ce15015661ce7f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 21:43:40 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:02:06 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "ef53d702c3614fb919e8a8291033e3dbccfd1aea",
      "tree": "d237976bdef0ab6a863e3a3b82d13d6c302b6178",
      "parents": [
        "c29c949288d343be0d5c4f3091bc87ac047e1a09"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jul 09 19:14:18 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun May 02 14:13:03 2010 +0200"
      },
      "message": "netfilter: xtables: dissolve do_match function\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "b5cad0dfd3c80501330215b9a9ae31bcffbd7306",
      "tree": "6860bbfb403c5b813e271bc449f490fad7c03895",
      "parents": [
        "4b2cbd42bef5a22bb681acd607a7c3fbca1eeb3c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun May 02 13:55:21 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun May 02 13:55:34 2010 +0200"
      },
      "message": "netfilter: ip_tables: fix compilation when debug is enabled\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "f84af32cbca70a3c6d30463dc08c7984af11c277",
      "tree": "06ede4b3ed91be899f8f29b4c7eb1fb76f1ade97",
      "parents": [
        "4b0b72f7dd617b13abd1b04c947e15873e011a24"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 15:31:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 15:31:51 2010 -0700"
      },
      "message": "net: ip_queue_rcv_skb() helper\n\nWhen queueing a skb to socket, we can immediately release its dst if\ntarget socket do not use IP_CMSG_PKTINFO.\n\ntcp_data_queue() can drop dst too.\n\nThis to benefit from a hot cache line and avoid the receiver, possibly\non another cpu, to dirty this cache line himself.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b0b72f7dd617b13abd1b04c947e15873e011a24",
      "tree": "16fc7bc990fa47cccb62bdb34cb23bd3c26b7a50",
      "parents": [
        "cfc1fbb079b265bf69d4ceba590a2e2c1a1cde33"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 14:35:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 14:35:48 2010 -0700"
      },
      "message": "net: speedup udp receive path\n\nSince commit 95766fff ([UDP]: Add memory accounting.), \neach received packet needs one extra sock_lock()/sock_release() pair.\n\nThis added latency because of possible backlog handling. Then later,\nticket spinlocks added yet another latency source in case of DDOS.\n\nThis patch introduces lock_sock_bh() and unlock_sock_bh()\nsynchronization primitives, avoiding one atomic operation and backlog\nprocessing.\n\nskb_free_datagram_locked() uses them instead of full blown\nlock_sock()/release_sock(). skb is orphaned inside locked section for\nproper socket memory reclaim, and finally freed outside of it.\n\nUDP receive path now take the socket spinlock only once.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d238b25b1ec22a73b1c2206f111df2faaff8285",
      "tree": "bc0c6da1df80e826f47588744ebfded7f1949a95",
      "parents": [
        "eb4fd8cd355c8ec425a12ec6cbdac614e8a4819d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 11:25:59 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 11:25:59 2010 -0700"
      },
      "message": "Revert \"tcp: bind() fix when many ports are bound\"\n\nThis reverts two commits:\n\nfda48a0d7a8412cedacda46a9c0bf8ef9cd13559\ntcp: bind() fix when many ports are bound\n\nand a follow-on fix for it:\n\n6443bb1fc2050ca2b6585a3fa77f7833b55329ed\nipv6: Fix inet6_csk_bind_conflict()\n\nIt causes problems with binding listening sockets when time-wait\nsockets from a previous instance still are alive.\n\nIt\u0027s too late to keep fiddling with this so late in the -rc\nseries, and we\u0027ll deal with it in net-next-2.6 instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c377411f2494a931ff7facdbb3a6839b1266bcf6",
      "tree": "6846cdcec913f50839e3916856f78f7e059ff5fb",
      "parents": [
        "6e7676c1a76aed6e957611d8d7a9e5592e23aeba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 27 15:13:20 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:13:20 2010 -0700"
      },
      "message": "net: sk_add_backlog() take rmem_alloc into account\n\nCurrent socket backlog limit is not enough to really stop DDOS attacks,\nbecause user thread spend many time to process a full backlog each\nround, and user might crazy spin on socket lock.\n\nWe should add backlog size and receive_queue size (aka rmem_alloc) to\npace writers, and let user run without being slow down too much.\n\nIntroduce a sk_rcvqueues_full() helper, to avoid taking socket lock in\nstress situations.\n\nUnder huge stress from a multiqueue/RPS enabled NIC, a single flow udp\nreceiver can now process ~200.000 pps (instead of ~100 pps before the\npatch) on a 8 core machine.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c58dc01babfd58ec9e71a6ce080150dc27755d88",
      "tree": "065c58b5236ea23ff0868a6bbf3c5233b990f0be",
      "parents": [
        "c4ee6a5348102b9cea49fb9adf88307445407911"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:05:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:11:48 2010 -0700"
      },
      "message": "net: Make RFS socket operations not be inet specific.\n\nIdea from Eric Dumazet.\n\nAs for placement inside of struct sock, I tried to choose a place\nthat otherwise has a 32-bit hole on 64-bit systems.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "bb611874650cff942a7466b456a791e8bfa641e7",
      "tree": "32e048e3240dd808e7787ff2b7eb50ed9f0a6182",
      "parents": [
        "d328bc839eac685cdd91f5d9d8ad95c070252038",
        "cb6a4e461fb427689920472bd7335f926d521747"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:57:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:57:39 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/ipmr-2.6\n"
    },
    {
      "commit": "6c37e5de456987f5bc80879afde05aa120784095",
      "tree": "1459ee69ef3c7172a82d07a7b8aea00836eedda5",
      "parents": [
        "dcdca2c49bb6328bbc7cd8d73434c308b5dd0df2"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Mon Apr 26 18:33:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:25 2010 -0700"
      },
      "message": "TCP: avoid to send keepalive probes if receiving data\n\nRFC 1122 says the following:\n...\n  Keep-alive packets MUST only be sent when no data or\n  acknowledgement packets have been received for the\n  connection within an interval.\n...\n\nThe acknowledgement packet is reseting the keepalive\ntimer but the data packet isn\u0027t. This patch fixes it by\nchecking the timestamp of the last received data packet\ntoo when the keepalive timer expires.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1703b36c358dde24ececba4fd609ecd91433ba3",
      "tree": "d59c333d0ad5bf72f165264eba6048c87fdc4e0f",
      "parents": [
        "7ec75c582e639d956ce3afd499f67febe6f902a4",
        "e95ef5d3f6bc60433883e1ef65dac747acd0bf1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:49:13 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:49:13 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/e100.c\n\tdrivers/net/e1000e/netdev.c\n"
    },
    {
      "commit": "cb6a4e461fb427689920472bd7335f926d521747",
      "tree": "2c3fb3312590aabcc8cfd5f7ded10c197bf83661",
      "parents": [
        "25239cee7e8732dbdc9f5d324f1c22a3bdec1d1f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:02:08 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:22:50 2010 +0200"
      },
      "message": "net: ipmr: add support for dumping routing tables over netlink\n\nThe ipmr /proc interface (ip_mr_cache) can\u0027t be extended to dump routes\nfrom any tables but the main table in a backwards compatible fashion since\nthe output format ends in a variable amount of output interfaces.\n\nIntroduce a new netlink interface to dump multicast routes from all tables,\nsimilar to the netlink interface for regular routes.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "25239cee7e8732dbdc9f5d324f1c22a3bdec1d1f",
      "tree": "c3f36730571a7eb185abcd973b2f4c9616bd8096",
      "parents": [
        "3d0c9c4eb2dbdcc461be4084abd87a9a9e70f713"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:02:05 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:13:54 2010 +0200"
      },
      "message": "net: rtnetlink: decouple rtnetlink address families from real address families\n\nDecouple rtnetlink address families from real address families in socket.h to\nbe able to add rtnetlink interfaces to code that is not a real address family\nwithout increasing AF_MAX/NPROTO.\n\nThis will be used to add support for multicast route dumping from all tables\nas the proc interface can\u0027t be extended to support anything but the main table\nwithout breaking compatibility.\n\nThis partialy undoes the patch to introduce independant families for routing\nrules and converts ipmr routing rules to a new rtnetlink family. Similar to\nthat patch, values up to 127 are reserved for real address families, values\nabove that may be used arbitrarily.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3d0c9c4eb2dbdcc461be4084abd87a9a9e70f713",
      "tree": "3a71a67a1f40afd7afbe0389259eb27d23fbfa36",
      "parents": [
        "8c52d509e84bbf26cffb8b6e75b399689af67885"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:02:04 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:02:04 2010 +0200"
      },
      "message": "net: fib_rules: mark arguments to fib_rules_register const and __net_initdata\n\nfib_rules_register() duplicates the template passed to it without modification,\nmark the argument as const. Additionally the templates are only needed when\ninstantiating a new namespace, so mark them as __net_initdata, which means\nthey can be discarded when CONFIG_NET_NS\u003dn.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "af740b2c8f4521e2c45698ee6040941a82d6349d",
      "tree": "ae9fb87ebbfd422b07cb8e027fbe13e9c40c403e",
      "parents": [
        "cecc74de25d2cfb08e7702cd38e3f195950f1228"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Apr 23 12:34:56 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 23 12:34:56 2010 +0200"
      },
      "message": "netfilter: nf_conntrack: extend with extra stat counter\n\nI suspect an unfortunatly series of events occuring under a DDoS\nattack, in function __nf_conntrack_find() nf_contrack_core.c.\n\nAdding a stats counter to see if the search is restarted too often.\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "fda48a0d7a8412cedacda46a9c0bf8ef9cd13559",
      "tree": "f749b26dea4353c6f3bd95e49fafceb06623c20b",
      "parents": [
        "24acc6895616b373475e92e49925efc3ef591563"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 21 09:26:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 19:06:06 2010 -0700"
      },
      "message": "tcp: bind() fix when many ports are bound\n\nPort autoselection done by kernel only works when number of bound\nsockets is under a threshold (typically 30000).\n\nWhen this threshold is over, we must check if there is a conflict before\nexiting first loop in inet_csk_get_port()\n\nChange inet_csk_bind_conflict() to forbid two reuse-enabled sockets to\nbind on same (address,port) tuple (with a non ANY address)\n\nSame change for inet6_csk_bind_conflict()\n\nReported-by: Gaspar Chilingarov \u003cgasparch@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c9468e9eb1252eaefd94ce7f06e1be9b0b641b1",
      "tree": "797676a336b050bfa1ef879377c07e541b9075d6",
      "parents": [
        "4cb3ca7cd7e2cae8d1daf5345ec99a1e8502cf3f",
        "c81eddb0e3728661d1585fbc564449c94165cc36"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Apr 23 02:08:44 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Apr 23 02:08:44 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "aa2ea0586d9dbe56a334d835a43b45e8c2104e77",
      "tree": "1f218166bff8513858ac253e84264a4a8fe9ff0d",
      "parents": [
        "3cfa856d6d43894ebffdc28d2f0587595280893b"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Thu Apr 22 07:00:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:00:00 2010 -0700"
      },
      "message": "tcp: fix outsegs stat for TSO segments\n\nAccount for TSO segments of an skb in TCP_MIB_OUTSEGS counter.  Without\ndoing this, the counter can be off by orders of magnitude from the\nactual number of segments sent.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cecc74de25d2cfb08e7702cd38e3f195950f1228",
      "tree": "1d351b1855094e13bfdc4162e3342c6932574168",
      "parents": [
        "d97a9e47ba148cfc41e354c5cd241f472273207c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 22 13:03:24 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 22 13:03:24 2010 +0200"
      },
      "message": "netfilter: ip_tables: convert pr_devel() to pr_debug()\n\nWe want to be able to use CONFIG_DYNAMIC_DEBUG in netfilter code, switch\nthe few existing pr_devel() calls to pr_debug().\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "87eb367003887cdc81a5d183efea227b5b488961",
      "tree": "40f617e25a9364d573e3cd2189c9e7fa56c8a0fe",
      "parents": [
        "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
        "05d17608a69b3ae653ea5c9857283bef3439c733"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "0eae88f31ca2b88911ce843452054139e028771f",
      "tree": "90f50197d8e1e50e3621e9c525bd4ca2634fe368",
      "parents": [
        "cb903bf4ee2d6e53210e2174d363e10698112042"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 19:06:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 19:06:52 2010 -0700"
      },
      "message": "net: Fix various endianness glitches\n\nSparse can help us find endianness bugs, but we need to make some\ncleanups to be able to more easily spot real bugs.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c79bf0f2440fd250c8fce8d9b82fcf03d4e8350",
      "tree": "408e0680cac66c1a2ab6350de15a9c623da905a7",
      "parents": [
        "62910554656cdcd6b6f84a5154c4155aae4ca231"
      ],
      "author": {
        "name": "Bart De Schuymer",
        "email": "bdschuym@pandora.be",
        "time": "Tue Apr 20 16:22:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:22:01 2010 +0200"
      },
      "message": "netfilter: bridge-netfilter: fix refragmenting IP traffic encapsulated in PPPoE traffic\n\nThe MTU for IP traffic encapsulated inside PPPoE traffic is smaller\nthan the MTU of the Ethernet device (1500). Connection tracking\ngathers all IP packets and sometimes will refragment them in\nip_fragment(). We then need to subtract the length of the\nencapsulating header from the mtu used in ip_fragment(). The check in\nbr_nf_dev_queue_xmit() which determines if ip_fragment() has to be\ncalled is also updated for the PPPoE-encapsulated packets.\nnf_bridge_copy_header() is also updated to make sure the PPPoE data\nlength field has the correct value.\n\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.be\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "62910554656cdcd6b6f84a5154c4155aae4ca231",
      "tree": "dcf14004f6fd2ef7154362ff948bfeba0f3ea92d",
      "parents": [
        "22265a5c3c103cf8c50be62e6c90d045eb649e6d",
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tnet/ipv6/netfilter/ip6t_REJECT.c\n\tnet/netfilter/xt_limit.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5b775eb1c04c2ef33f5e17035e368214214ef9c2",
      "tree": "ebc631a1f1212aacdcceb629537ed273f32732b0",
      "parents": [
        "cd58bcd9787ef4c16ab6e442c4f1bf3539b3ab39"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Apr 19 16:07:47 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 19 16:07:47 2010 +0200"
      },
      "message": "netfilter: xtables: remove old comments about reentrancy\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "cd58bcd9787ef4c16ab6e442c4f1bf3539b3ab39",
      "tree": "949741c18227ae46f841501507ad440f35e659e5",
      "parents": [
        "f3c5c1bfd430858d3a05436f82c51e53104feb6b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Apr 19 16:06:52 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 19 16:06:52 2010 +0200"
      },
      "message": "netfilter: xt_TEE: have cloned packet travel through Xtables too\n\nSince Xtables is now reentrant/nestable, the cloned packet can also go\nthrough Xtables and be subject to rules itself.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f3c5c1bfd430858d3a05436f82c51e53104feb6b",
      "tree": "ada5b570b66e141e79fdb256f69e2541a3d30c04",
      "parents": [
        "e281b19897dc21c1071802808d461627d747a877"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Apr 19 16:05:10 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 19 16:05:10 2010 +0200"
      },
      "message": "netfilter: xtables: make ip_tables reentrant\n\nCurrently, the table traverser stores return addresses in the ruleset\nitself (struct ip6t_entry-\u003ecomefrom). This has a well-known drawback:\nthe jumpstack is overwritten on reentry, making it necessary for\ntargets to return absolute verdicts. Also, the ruleset (which might\nbe heavy memory-wise) needs to be replicated for each CPU that can\npossibly invoke ip6t_do_table.\n\nThis patch decouples the jumpstack from struct ip6t_entry and instead\nputs it into xt_table_info. Not being restricted by \u0027comefrom\u0027\nanymore, we can set up a stack as needed. By default, there is room\nallocated for two entries into the traverser.\n\narp_tables is not touched though, because there is just one/two\nmodules and further patches seek to collapse the table traverser\nanyhow.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e281b19897dc21c1071802808d461627d747a877",
      "tree": "e779b58643237f00305b016d6749825d7b3426f8",
      "parents": [
        "f0d57a54aa9fdf3a4d9435d44c69b20388ad0b3b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Apr 19 14:17:47 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 19 14:17:47 2010 +0200"
      },
      "message": "netfilter: xtables: inclusion of xt_TEE\n\nxt_TEE can be used to clone and reroute a packet. This can for\nexample be used to copy traffic at a router for logging purposes\nto another dedicated machine.\n\nReferences: http://www.gossamer-threads.com/lists/iptables/devel/68781\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "fec5e652e58fa6017b2c9e06466cb2a6538de5b4",
      "tree": "e034f2a1e7930a0a225bd30896f834ec5e09c084",
      "parents": [
        "b5d43998234331b9c01bd2165fdbb25115f4387f"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Fri Apr 16 16:01:27 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 16 16:01:27 2010 -0700"
      },
      "message": "rfs: Receive Flow Steering\n\nThis patch implements receive flow steering (RFS).  RFS steers\nreceived packets for layer 3 and 4 processing to the CPU where\nthe application for the corresponding flow is running.  RFS is an\nextension of Receive Packet Steering (RPS).\n\nThe basic idea of RFS is that when an application calls recvmsg\n(or sendmsg) the application\u0027s running CPU is stored in a hash\ntable that is indexed by the connection\u0027s rxhash which is stored in\nthe socket structure.  The rxhash is passed in skb\u0027s received on\nthe connection from netif_receive_skb.  For each received packet,\nthe associated rxhash is used to look up the CPU in the hash table,\nif a valid CPU is set then the packet is steered to that CPU using\nthe RPS mechanisms.\n\nThe convolution of the simple approach is that it would potentially\nallow OOO packets.  If threads are thrashing around CPUs or multiple\nthreads are trying to read from the same sockets, a quickly changing\nCPU value in the hash table could cause rampant OOO packets--\nwe consider this a non-starter.\n\nTo avoid OOO packets, this solution implements two types of hash\ntables: rps_sock_flow_table and rps_dev_flow_table.\n\nrps_sock_table is a global hash table.  Each entry is just a CPU\nnumber and it is populated in recvmsg and sendmsg as described above.\nThis table contains the \"desired\" CPUs for flows.\n\nrps_dev_flow_table is specific to each device queue.  Each entry\ncontains a CPU and a tail queue counter.  The CPU is the \"current\"\nCPU for a matching flow.  The tail queue counter holds the value\nof a tail queue counter for the associated CPU\u0027s backlog queue at\nthe time of last enqueue for a flow matching the entry.\n\nEach backlog queue has a queue head counter which is incremented\non dequeue, and so a queue tail counter is computed as queue head\ncount + queue length.  When a packet is enqueued on a backlog queue,\nthe current value of the queue tail counter is saved in the hash\nentry of the rps_dev_flow_table.\n\nAnd now the trick: when selecting the CPU for RPS (get_rps_cpu)\nthe rps_sock_flow table and the rps_dev_flow table for the RX queue\nare consulted.  When the desired CPU for the flow (found in the\nrps_sock_flow table) does not match the current CPU (found in the\nrps_dev_flow table), the current CPU is changed to the desired CPU\nif one of the following is true:\n\n- The current CPU is unset (equal to RPS_NO_CPU)\n- Current CPU is offline\n- The current CPU\u0027s queue head counter \u003e\u003d queue tail counter in the\nrps_dev_flow table.  This checks if the queue tail has advanced\nbeyond the last packet that was enqueued using this table entry.\nThis guarantees that all packets queued using this entry have been\ndequeued, thus preserving in order delivery.\n\nMaking each queue have its own rps_dev_flow table has two advantages:\n1) the tail queue counters will be written on each receive, so\nkeeping the table local to interrupting CPU s good for locality.  2)\nthis allows lockless access to the table-- the CPU number and queue\ntail counter need to be accessed together under mutual exclusion\nfrom netif_receive_skb, we assume that this is only called from\ndevice napi_poll which is non-reentrant.\n\nThis patch implements RFS for TCP and connected UDP sockets.\nIt should be usable for other flow oriented protocols.\n\nThere are two configuration parameters for RFS.  The\n\"rps_flow_entries\" kernel init parameter sets the number of\nentries in the rps_sock_flow_table, the per rxqueue sysfs entry\n\"rps_flow_cnt\" contains the number of entries in the rps_dev_flow\ntable for the rxqueue.  Both are rounded to power of two.\n\nThe obvious benefit of RFS (over just RPS) is that it achieves\nCPU locality between the receive processing for a flow and the\napplications processing; this can result in increased performance\n(higher pps, lower latency).\n\nThe benefits of RFS are dependent on cache hierarchy, application\nload, and other factors.  On simple benchmarks, we don\u0027t necessarily\nsee improvement and sometimes see degradation.  However, for more\ncomplex benchmarks and for applications where cache pressure is\nmuch higher this technique seems to perform very well.\n\nBelow are some benchmark results which show the potential benfit of\nthis patch.  The netperf test has 500 instances of netperf TCP_RR\ntest with 1 byte req. and resp.  The RPC test is an request/response\ntest similar in structure to netperf RR test ith 100 threads on\neach host, but does more work in userspace that netperf.\n\ne1000e on 8 core Intel\n   No RFS or RPS\t\t104K tps at 30% CPU\n   No RFS (best RPS config):    290K tps at 63% CPU\n   RFS\t\t\t\t303K tps at 61% CPU\n\nRPC test\ttps\tCPU%\t50/90/99% usec latency\tLatency StdDev\n  No RFS/RPS\t103K\t48%\t757/900/3185\t\t4472.35\n  RPS only:\t174K\t73%\t415/993/2468\t\t491.66\n  RFS\t\t223K\t73%\t379/651/1382\t\t315.61\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e15ed4d930297c127d280ca1d0c785be870def4",
      "tree": "e0808d650ae66cf273758496100d3d24739a9e48",
      "parents": [
        "0eecb784942792863b77dfe11e0c7e286e92db85"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Apr 15 16:43:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 23:36:37 2010 -0700"
      },
      "message": "net: replace ipfragok with skb-\u003elocal_df\n\nAs Herbert Xu said: we should be able to simply replace ipfragok\nwith skb-\u003elocal_df. commit f88037(sctp: Drop ipfargok in sctp_xmit function)\nhas droped ipfragok and set local_df value properly.\n\nThe patch kills the ipfragok parameter of .queue_xmit().\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e30b38c298b55e09456d3ccbc1df2f3e2e8dc6e9",
      "tree": "53511f6512335d9cc009593f5c820957f8aa6185",
      "parents": [
        "8728c544a9cbdcb0034aa5c45706c5f953f030ee"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 15 09:13:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:25:22 2010 -0700"
      },
      "message": "ip: Fix ip_dev_loopback_xmit()\n\nEric Paris got following trace with a linux-next kernel\n\n[   14.203970] BUG: using smp_processor_id() in preemptible [00000000]\ncode: avahi-daemon/2093\n[   14.204025] caller is netif_rx+0xfa/0x110\n[   14.204035] Call Trace:\n[   14.204064]  [\u003cffffffff81278fe5\u003e] debug_smp_processor_id+0x105/0x110\n[   14.204070]  [\u003cffffffff8142163a\u003e] netif_rx+0xfa/0x110\n[   14.204090]  [\u003cffffffff8145b631\u003e] ip_dev_loopback_xmit+0x71/0xa0\n[   14.204095]  [\u003cffffffff8145b892\u003e] ip_mc_output+0x192/0x2c0\n[   14.204099]  [\u003cffffffff8145d610\u003e] ip_local_out+0x20/0x30\n[   14.204105]  [\u003cffffffff8145d8ad\u003e] ip_push_pending_frames+0x28d/0x3d0\n[   14.204119]  [\u003cffffffff8147f1cc\u003e] udp_push_pending_frames+0x14c/0x400\n[   14.204125]  [\u003cffffffff814803fc\u003e] udp_sendmsg+0x39c/0x790\n[   14.204137]  [\u003cffffffff814891d5\u003e] inet_sendmsg+0x45/0x80\n[   14.204149]  [\u003cffffffff8140af91\u003e] sock_sendmsg+0xf1/0x110\n[   14.204189]  [\u003cffffffff8140dc6c\u003e] sys_sendmsg+0x20c/0x380\n[   14.204233]  [\u003cffffffff8100ad82\u003e] system_call_fastpath+0x16/0x1b\n\nWhile current linux-2.6 kernel doesnt emit this warning, bug is latent\nand might cause unexpected failures.\n\nip_dev_loopback_xmit() runs in process context, preemption enabled, so\nmust call netif_rx_ni() instead of netif_rx(), to make sure that we\nprocess pending software interrupt.\n\nSame change for ip6_dev_loopback_xmit()\n\nReported-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0d57a54aa9fdf3a4d9435d44c69b20388ad0b3b",
      "tree": "6b836de0703f91ba849dadc6f9f82ae8a279fc7a",
      "parents": [
        "90348e0ede4e74f9404c4d08cce1dbb1baa05b06"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 19:09:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 19:09:01 2010 +0200"
      },
      "message": "netfilter: ipt_LOG/ip6t_LOG: use more appropriate log level as default\n\nUse KERN_NOTICE instead of KERN_EMERG by default. This only affects\nkernel internal logging (like conntrack), user-specified logging rules\ncontain a seperate log level.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8de53dfbf9a0a0f7538c005137059c5c021476e1",
      "tree": "51fbba0b36a24feac02fa76d4deaecfcdece7c7f",
      "parents": [
        "b0ebb739a8f68039f03e80b3476b204fe5adf0d7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:29:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:31:29 2010 +0200"
      },
      "message": "ipv4: ipmr: fix NULL pointer deref during unres queue destruction\n\nFix an oversight in ipmr_destroy_unres() - the net pointer is\nunconditionally initialized to NULL, resulting in a NULL pointer\ndereference later on.\n\nFix by adding a net pointer to struct mr_table and using it in\nipmr_destroy_unres().\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b0ebb739a8f68039f03e80b3476b204fe5adf0d7",
      "tree": "45921e2969657f6a35fbac751218ea78e1f3be9b",
      "parents": [
        "66496d4973dcb848d163805fa6b485850b7555e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:29:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:31:29 2010 +0200"
      },
      "message": "ipv4: ipmr: fix invalid cache resolving when adding a non-matching entry\n\nThe patch to convert struct mfc_cache to list_heads (ipv4: ipmr: convert\nstruct mfc_cache to struct list_head) introduced a bug when adding new\ncache entries that don\u0027t match any unresolved entries.\n\nThe unres queue is searched for a matching entry, which is then resolved.\nWhen no matching entry is present, the iterator points to the head of the\nlist, but is treated as a matching entry. Use a seperate variable to\nindicate that a matching entry was found.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "66496d4973dcb848d163805fa6b485850b7555e3",
      "tree": "161f6f6d3b93a459fce68a7943f6b12a474096d8",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:29:27 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:31:29 2010 +0200"
      },
      "message": "ipv4: ipmr: fix IP_MROUTE_MULTIPLE_TABLES Kconfig dependencies\n\nIP_MROUTE_MULTIPLE_TABLES should depend on IP_MROUTE.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "4eaa0e3c869acd5dbc7c2e3818a9ae9cbf221d27",
      "tree": "7583f360508bd0a01b666fb711d7d1c6e30e2ea9",
      "parents": [
        "0110d6f22f392f976e84ab49da1b42f85b64a3c5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 14 16:13:29 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 16:13:29 2010 -0700"
      },
      "message": "fib: suppress lockdep-RCU false positive in FIB trie.\n\nFollowup of commit 634a4b20\n\nAllow tnode_get_child_rcu() to be called either under rcu_read_lock()\nprotection or with RTNL held.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0ad0860d01e47a3ffd220564c5c653b3afbe962",
      "tree": "91b69423f472b934daa2c18ae3b7ba065b7c7898",
      "parents": [
        "0c12295a741d3186987f96f518cfbdaf01abb087"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:23 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:34 2010 -0700"
      },
      "message": "ipv4: ipmr: support multiple tables\n\nThis patch adds support for multiple independant multicast routing instances,\nnamed \"tables\".\n\nUserspace multicast routing daemons can bind to a specific table instance by\nissuing a setsockopt call using a new option MRT_TABLE. The table number is\nstored in the raw socket data and affects all following ipmr setsockopt(),\ngetsockopt() and ioctl() calls. By default, a single table (RT_TABLE_DEFAULT)\nis created with a default routing rule pointing to it. Newly created pimreg\ndevices have the table number appended (\"pimregX\"), with the exception of\ndevices created in the default table, which are named just \"pimreg\" for\ncompatibility reasons.\n\nPackets are directed to a specific table instance using routing rules,\nsimilar to how regular routing rules work. Currently iif, oif and mark\nare supported as keys, source and destination addresses could be supported\nadditionally.\n\nExample usage:\n\n- bind pimd/xorp/... to a specific table:\n\nuint32_t table \u003d 123;\nsetsockopt(fd, IPPROTO_IP, MRT_TABLE, \u0026table, sizeof(table));\n\n- create routing rules directing packets to the new table:\n\n# ip mrule add iif eth0 lookup 123\n# ip mrule add oif eth0 lookup 123\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c12295a741d3186987f96f518cfbdaf01abb087",
      "tree": "e71d0f5e5193870318e86cd519edf728b1e2a079",
      "parents": [
        "862465f2e7e90975e7bf0ecfbb171dd3adedd950"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:34 2010 -0700"
      },
      "message": "ipv4: ipmr: move mroute data into seperate structure\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "862465f2e7e90975e7bf0ecfbb171dd3adedd950",
      "tree": "281c43f90130cc23eb581c702afaf4ab226dbff5",
      "parents": [
        "d658f8a0e63b6476148162aa7a3ffffc58dcad52"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:33 2010 -0700"
      },
      "message": "ipv4: ipmr: convert struct mfc_cache to struct list_head\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d658f8a0e63b6476148162aa7a3ffffc58dcad52",
      "tree": "25087c18eb91bbe040cf5c9b5e1710d35e37328f",
      "parents": [
        "e258beb22f4d3ea3dc88586ffc9c990d0eb03380"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:33 2010 -0700"
      },
      "message": "ipv4: ipmr: remove net pointer from struct mfc_cache\n\nNow that cache entries in unres_queue don\u0027t need to be distinguished by their\nnetwork namespace pointer anymore, we can remove it from struct mfc_cache\nadd pass the namespace as function argument to the functions that need it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e258beb22f4d3ea3dc88586ffc9c990d0eb03380",
      "tree": "7bd4dc984757894cbfb355189e9172a4a566596c",
      "parents": [
        "f74e49b5613206fb18468bdc9509a1db746aa01b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:32 2010 -0700"
      },
      "message": "ipv4: ipmr: move unres_queue and timer to per-namespace data\n\nThe unres_queue is currently shared between all namespaces. Following patches\nwill additionally allow to create multiple multicast routing tables in each\nnamespace. Having a single shared queue for all these users seems to excessive,\nmove the queue and the cleanup timer to the per-namespace data to unshare it.\n\nAs a side-effect, this fixes a bug in the seq file iteration functions: the\nfirst entry returned is always from the current namespace, entries returned\nafter that may belong to any namespace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f87b1dd01b51dc3c789f7a212656a4a87eee1bd",
      "tree": "2ce87a26afecd5c0400a6e743534a402a6ca8aec",
      "parents": [
        "28bb17268b92b0c568f2496e5e631008f9108409"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:31 2010 -0700"
      },
      "message": "net: fib_rules: decouple address families from real address families\n\nDecouple the address family values used for fib_rules from the real\naddress families in socket.h. This allows to use fib_rules for\ncode that is not a real address family without increasing AF_MAX/NPROTO.\n\nValues up to 127 are reserved for real address families and map directly\nto the corresponding AF value, values starting from 128 are for other\nuses. rtnetlink is changed to invoke the AF_UNSPEC dumpit/doit handlers\nfor these families.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28bb17268b92b0c568f2496e5e631008f9108409",
      "tree": "ba2d619dbb6caf9ad81849e58d7409b790f9539c",
      "parents": [
        "d8a566beaa75c6ad5e38cdccf0ea5294323e7866"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:30 2010 -0700"
      },
      "message": "net: fib_rules: set family in fib_rule_hdr centrally\n\nAll fib_rules implementations need to set the family in their -\u003efill()\nfunctions. Since the value is available to the generic fib_nl_fill_rule()\nfunction, set it there.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8a566beaa75c6ad5e38cdccf0ea5294323e7866",
      "tree": "56fc11f0806e9e869e65c44a697c896add4b78f6",
      "parents": [
        "561155110307ad304226a23272244398fa46cbae"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:30 2010 -0700"
      },
      "message": "net: fib_rules: consolidate IPv4 and DECnet -\u003edefault_pref() functions.\n\nBoth functions are equivalent, consolidate them since a following patch\nneeds a third implementation for multicast routing.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22068311b62858ea7eb71653a07564fd73d7a9b0",
      "tree": "07dc379dfd29080e8217f3d36322e572e1a907bd",
      "parents": [
        "a79ff731a1b277d0e92d9453bdf374e04cec717a"
      ],
      "author": {
        "name": "Zhitong Wang",
        "email": "zhitong.wangzt@alibaba-inc.com",
        "time": "Tue Apr 13 11:25:41 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 11:25:41 2010 +0200"
      },
      "message": "netfilter: fix some coding styles and remove moduleparam.h\n\nFix some coding styles and remove moduleparam.h\n\nSigned-off-by: Zhitong Wang \u003czhitong.wangzt@alibaba-inc.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b6c6712a42ca3f9fa7f4a3d7c40e3a9dd1fd9e03",
      "tree": "42032b4978874e8ffcf6c851d13324b8c8c7c113",
      "parents": [
        "7a161ea92471087a1579239d7a58dd06eaa5601c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 08 23:03:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:41:33 2010 -0700"
      },
      "message": "net: sk_dst_cache RCUification\n\nWith latest CONFIG_PROVE_RCU stuff, I felt more comfortable to make this\nwork.\n\nsk-\u003esk_dst_cache is currently protected by a rwlock (sk_dst_lock)\n\nThis rwlock is readlocked for a very small amount of time, and dst\nentries are already freed after RCU grace period. This calls for RCU\nagain :)\n\nThis patch converts sk_dst_lock to a spinlock, and use RCU for readers.\n\n__sk_dst_get() is supposed to be called with rcu_read_lock() or if\nsocket locked by user, so use appropriate rcu_dereference_check()\ncondition (rcu_read_lock_held() || sock_owned_by_user(sk))\n\nThis patch avoids two atomic ops per tx packet on UDP connected sockets,\nfor example, and permits sk_dst_lock to be much less dirtied.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e8e18ef52e7dd1af0a3bd1f7d990a1d0b249586",
      "tree": "cc1e72e6ff4ccd5bb18e544d39691cc0a2e9a599",
      "parents": [
        "bb29624614c2afe2873ee8ee97cf09df42701694"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 08 11:32:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:13 2010 -0700"
      },
      "message": "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb\n\nBack in commit 04a0551c87363f100b04d28d7a15a632b70e18e7\n(\"loopback: Drop obsolete ip_summed setting\") we stopped\nsetting CHECKSUM_UNNECESSARY in the loopback xmit.\n\nThis is because such a setting was a lie since it implies that the\nchecksum field of the packet is properly filled in.\n\nInstead what happens normally is that CHECKSUM_PARTIAL is set and\nskb-\u003ecsum is calculated as needed.\n\nBut this was only happening for TCP data packets (via the\nskb-\u003eip_summed assignment done in tcp_sendmsg()).  It doesn\u0027t\nhappen for non-data packets like ACKs etc.\n\nFix this by setting skb-\u003eip_summed in the common non-data packet\nconstructor.  It already is setting skb-\u003ecsum to zero.\n\nBut this reminds us that we still have things like ip_output.c\u0027s\nip_dev_loopback_xmit() which sets skb-\u003eip_summed to the value\nCHECKSUM_UNNECESSARY, which Herbert\u0027s patch teaches us is not\nvalid.  So we\u0027ll have to address that at some point too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb29624614c2afe2873ee8ee97cf09df42701694",
      "tree": "aea85e4cd6643fb47beba987849378c0e80166a0",
      "parents": [
        "8ad50d96db58c58ba67ec1c6f9d3dae0db52338a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 11 02:15:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:09 2010 -0700"
      },
      "message": "inet: Remove unused send_check length argument\n\ninet: Remove unused send_check length argument\n\nThis patch removes the unused length argument from the send_check\nfunction in struct inet_connection_sock_af_ops.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Yinghai \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "419f9f896074ce8b21e88066e6f3515f18e5641c",
      "tree": "ad00f641e9648298581fdece6e3a4f96a78e0af3",
      "parents": [
        "871039f02f8ec4ab2e5e9010718caa8e085786f1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 11 02:15:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:08 2010 -0700"
      },
      "message": "tcp: Handle CHECKSUM_PARTIAL for SYNACK packets for IPv4\n\ntcp: Handle CHECKSUM_PARTIAL for SYNACK packets for IPv4\n\nThis patch moves the common code between tcp_v4_send_check and\ntcp_v4_gso_send_check into a new function __tcp_v4_send_check.\n\nIt then uses the new function in tcp_v4_send_synack so that it\nhandles CHECKSUM_PARTIAL properly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Yinghai \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "4a1032faac94ebbf647460ae3e06fc21146eb280",
      "tree": "7f31b97beb0406faa1523e619289ad0ab07c9787",
      "parents": [
        "ae4e8d63b5619d4d95f1d2bfa2b836caa6e62d06",
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:44:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:44:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "ae4e8d63b5619d4d95f1d2bfa2b836caa6e62d06",
      "tree": "03ddf879e73bbcded7b959e1196a9d6884925d31",
      "parents": [
        "e3237e3c60c1f4a790b4e521e406b3ffff74f9bc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:40:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:40:49 2010 -0700"
      },
      "message": "Revert \"tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb\"\n\nThis reverts commit 2626419ad5be1a054d350786b684b41d23de1538.\n\nIt causes regressions for people with IGB cards.  Connection\nrequests don\u0027t complete etc.  The true cause of the issue is\nstill not known, but we should sort this out in net-next-2.6\nnot net-2.6\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2626419ad5be1a054d350786b684b41d23de1538",
      "tree": "0fb43a4a6f01c9a50e3509b4240c018459dee12d",
      "parents": [
        "1223c67c0938d2df309fde618bd82c87c8c1af04"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 08 11:32:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 08 11:32:30 2010 -0700"
      },
      "message": "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb\n\nBack in commit 04a0551c87363f100b04d28d7a15a632b70e18e7\n(\"loopback: Drop obsolete ip_summed setting\") we stopped\nsetting CHECKSUM_UNNECESSARY in the loopback xmit.\n\nThis is because such a setting was a lie since it implies that the\nchecksum field of the packet is properly filled in.\n\nInstead what happens normally is that CHECKSUM_PARTIAL is set and\nskb-\u003ecsum is calculated as needed.\n\nBut this was only happening for TCP data packets (via the\nskb-\u003eip_summed assignment done in tcp_sendmsg()).  It doesn\u0027t\nhappen for non-data packets like ACKs etc.\n\nFix this by setting skb-\u003eip_summed in the common non-data packet\nconstructor.  It already is setting skb-\u003ecsum to zero.\n\nBut this reminds us that we still have things like ip_output.c\u0027s\nip_dev_loopback_xmit() which sets skb-\u003eip_summed to the value\nCHECKSUM_UNNECESSARY, which Herbert\u0027s patch teaches us is not\nvalid.  So we\u0027ll have to address that at some point too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1223c67c0938d2df309fde618bd82c87c8c1af04",
      "tree": "12445eb8f4ab8acece9cd96e337ce49b29e3f31a",
      "parents": [
        "2488f56d3699b84ee51d2940d1347345b8f9b0e1"
      ],
      "author": {
        "name": "Jorge Boncompte [DTI2]",
        "email": "jorge@dti2.net",
        "time": "Thu Apr 08 04:56:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 08 11:29:13 2010 -0700"
      },
      "message": "udp: fix for unicast RX path optimization\n\nCommits 5051ebd275de672b807c28d93002c2fb0514a3c9 and\n5051ebd275de672b807c28d93002c2fb0514a3c9 (\"ipv[46]: udp: optimize unicast RX\npath\") broke some programs.\n\n\tAfter upgrading a L2TP server to 2.6.33 it started to fail, tunnels going up an\ndown, after the 10th tunnel came up. My modified rp-l2tp uses a global\nunconnected socket bound to (INADDR_ANY, 1701) and one connected socket per\ntunnel after parameter negotiation.\n\n\tAfter ten sockets were open and due to mixed parameters to\nudp[46]_lib_lookup2() kernel started to drop packets.\n\nSigned-off-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "9e56c21486f2a64473f36fa49475fd253422fbf6"
}
