)]}'
{
  "log": [
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 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: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "9941fb62762253774cc6177d0b9172ece5133fe1",
      "tree": "641fc2b376e2f84c7023aa0cd8b9d76f954cc3a1",
      "parents": [
        "a5190b4eea1f1c53ee26b3d1176441cafa8e7f79",
        "3b1a1ce6f418cb7ab35eb55c8a6575987a524e30"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:21:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:21:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "3511c9132f8b1e1b5634e41a3331c44b0c13be70",
      "tree": "fecff28f3bf8fbfdecd33d9b98253d60f1d45bf7",
      "parents": [
        "26d8ee75e08cfca8b65ade871d68c8cd96e4ea23"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Oct 16 13:04:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:47 2010 -0700"
      },
      "message": "net_sched: remove the unused parameter of qdisc_create_dflt()\n\nThe first parameter dev isn\u0027t in use in qdisc_create_dflt().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b5edbc4cfe2297b0915adea5aa1eafcafadbf06",
      "tree": "e73820ca3521eb59d9e85bc6a420213bd1df0d3b",
      "parents": [
        "d827d86b6fe87b420ef3c0685ab580290ae64beb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 15 19:22:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:40 2010 -0700"
      },
      "message": "net/sched: fix missing spinlock init\n\nUnder network load, doing :\n\ntc qdisc del dev eth0 root\n\ntriggers :\n\n[  167.193087] BUG: spinlock bad magic on CPU#3, udpflood/4928\n[  167.193139]  lock: c15bc324, .magic: 00000000, .owner:\n\u003cnone\u003e/-1, .owner_cpu: -1\n[  167.193193] Pid: 4928, comm: udpflood Not tainted\n2.6.36-rc7-11417-g215340c-dirty #323\n[  167.193245] Call Trace:\n[  167.193292]  [\u003cc13abaa0\u003e] ? printk+0x18/0x20\n[  167.193342]  [\u003cc11afb53\u003e] spin_bug+0xa3/0xf0\n[  167.193389]  [\u003cc11afcdd\u003e] do_raw_spin_lock+0x7d/0x160\n[  167.193440]  [\u003cc1313d4e\u003e] ? __dev_xmit_skb+0x27e/0x2b0\n[  167.193496]  [\u003cc107382b\u003e] ? trace_hardirqs_on+0xb/0x10\n[  167.193545]  [\u003cc13ae99a\u003e] _raw_spin_lock+0x3a/0x40\n[  167.193593]  [\u003cc1313d4e\u003e] ? __dev_xmit_skb+0x27e/0x2b0\n[  167.193641]  [\u003cc1313d4e\u003e] __dev_xmit_skb+0x27e/0x2b0\n\ncommit 79640a4ca695 (add additional lock to qdisc to increase\nthroughput) forgot to initialize  noop_qdisc and noqueue_qdisc busylock\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75e1056f5c57050415b64cb761a3acc35d91f013",
      "tree": "e7cd483e38f9bf9131a3b212301a009890b8de49",
      "parents": [
        "75dd321d79d495a0ee579e6249ebc38ddbb2667f"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:16 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:20 2010 +0200"
      },
      "message": "sched: Fix softirq time accounting\n\nPeter Zijlstra found a bug in the way softirq time is accounted in\nVIRT_CPU_ACCOUNTING on this thread:\n\n   http://lkml.indiana.edu/hypermail//linux/kernel/1009.2/01366.html\n\nThe problem is, softirq processing uses local_bh_disable internally. There\nis no way, later in the flow, to differentiate between whether softirq is\nbeing processed or is it just that bh has been disabled. So, a hardirq when bh\nis disabled results in time being wrongly accounted as softirq.\n\nLooking at the code a bit more, the problem exists in !VIRT_CPU_ACCOUNTING\nas well. As account_system_time() in normal tick based accouting also uses\nsoftirq_count, which will be set even when not in softirq with bh disabled.\n\nPeter also suggested solution of using 2*SOFTIRQ_OFFSET as irq count\nfor local_bh_{disable,enable} and using just SOFTIRQ_OFFSET while softirq\nprocessing. The patch below does that and adds API in_serving_softirq() which\nreturns whether we are currently processing softirq or not.\n\nAlso changes one of the usages of softirq_count in net/sched/cls_cgroup.c\nto in_serving_softirq.\n\nLooks like many usages of in_softirq really want in_serving_softirq. Those\nchanges can be made individually on a case by case basis.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-2-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "243bf6e29eef642de0ff62f1ebf58bc2396d6d6e",
      "tree": "79f4eb37b594d320d4750e04ce6e16a7d62177f0",
      "parents": [
        "87a2e70db62fec7348c6e5545eb7b7650c33d81b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:28:00 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:46 2010 +0200"
      },
      "message": "netfilter: xtables: resolve indirect macros 3/3\n"
    },
    {
      "commit": "87a2e70db62fec7348c6e5545eb7b7650c33d81b",
      "tree": "3aa5dcd79bf7d331c4a69a3a9b1c5b01f00233ad",
      "parents": [
        "12b00c2c025b8af697d9a022ea2e928cad889ef1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:11:22 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:41 2010 +0200"
      },
      "message": "netfilter: xtables: resolve indirect macros 2/3\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "0ed8ddf4045fcfcac36bad753dc4046118c603ec",
      "tree": "cf1d9eb14668c4d2257b3519ed7deec8c5cb396d",
      "parents": [
        "d122179a3c0fdc71b88cb9e3605f372b1651a9ff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 07 10:44:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:54:04 2010 -0700"
      },
      "message": "neigh: Protect neigh-\u003eha[] with a seqlock\n\nAdd a seqlock in struct neighbour to protect neigh-\u003eha[], and avoid\ndirtying neighbour in stress situation (many different flows / dsts)\n\nDirtying takes place because of read_lock(\u0026n-\u003elock) and n-\u003eused writes.\n\nSwitching to a seqlock, and writing n-\u003eused only on jiffies changes\npermits less dirtying.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e18434c45765cfc4a74b5c61da9e9fbc6ddd3d5f",
      "tree": "ebe8785ec3006924e6ae0b773dfed3050a5bbdca",
      "parents": [
        "4315d834c1496ddca977e9e22002b77c85bfec2c"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Sep 30 06:17:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 09 09:22:53 2010 -0700"
      },
      "message": "net_sched: use __TCA_HTB_MAX and TCA_HTB_MAX\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69259abb64d4da77273bf59accfc9fa79e7165f4",
      "tree": "bd043ab03a788b749c8d5ae4049d8defae9abf34",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "12e94471b2be5ef9b55b10004a3a2cd819490036"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 19:39:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 19:39:31 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/pcmcia/pcnet_cs.c\n\tnet/caif/caif_socket.c\n"
    },
    {
      "commit": "4e18b3edf71f5d4ad653e3c2ff6560878e965f96",
      "tree": "63487292026992afbf5226f44bec12a1264686e9",
      "parents": [
        "51e97a12bef19b7e43199fc153cf9bd5f2140362"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Oct 04 02:28:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 00:40:39 2010 -0700"
      },
      "message": "cls_u32: signedness bug\n\nskb_headroom() is unsigned so \"skb_headroom(skb) + toff\" is also\nunsigned and can\u0027t be less than zero.  This test was added in 66d50d25:\n\"u32: negative offset fix\"  It was supposed to fix a regression.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24824a09e35402b8d58dcc5be803a5ad3937bdba",
      "tree": "65c5fa4046646623b130702c9abc92c485ec575b",
      "parents": [
        "0bd9e6a964d86a19f54a9ba31168a37d64e451d1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Oct 02 06:11:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 00:23:44 2010 -0700"
      },
      "message": "net: dynamic ingress_queue allocation\n\ningress being not used very much, and net_device-\u003eingress_queue being\nquite a big object (128 or 256 bytes), use a dynamic allocation if\nneeded (tc qdisc add dev eth0 ingress ...)\n\ndev_ingress_queue(dev) helper should be used only with RTNL taken.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfa5ae63b823f4ffd3483a05f60a93a4a7b7d680",
      "tree": "62dc495022ac697d81c3b80f5a262713e6f657a3",
      "parents": [
        "8560f2266b36adb43238f1f9fd13958dd031901c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 28 05:58:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 13:25:53 2010 -0700"
      },
      "message": "net: rename netdev rx_queue to ingress_queue\n\nThere is some confusion with rx_queue name after RPS, and net drivers\nprivate rx_queue fields.\n\nI suggest to rename \"struct net_device\"-\u003erx_queue to ingress_queue.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326",
      "tree": "88eb44e49a75721ae926665a2c42f08badac9d07",
      "parents": [
        "42099d7a3941d4aaf853caac92b3ae76149fc6e7",
        "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 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/qlcnic/qlcnic_init.c\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "a505b3b30fc69904f858822a2aa95990a4bf7958",
      "tree": "4ea708f794d8cb91f77d42e32fce5324902cc274",
      "parents": [
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 12 11:56:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 12 11:56:44 2010 -0700"
      },
      "message": "sch_atm: Fix potential NULL deref.\n\nThe list_head conversion unearther an unnecessary flow\ncheck.  Since flow is always NULL here we don\u0027t need to\nsee if a matching flow exists already.\n\nReported-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "3b2eb6131e2f6ff646abb0fc69648179b8b70216",
      "tree": "c868e5eadcccb39ad4d2731c21caccd3098eff56",
      "parents": [
        "9c01ae58d4fee39e2af5b1379ee5431dd585cf62"
      ],
      "author": {
        "name": "Michal Soltys",
        "email": "soltys@ziu.info",
        "time": "Mon Aug 30 11:34:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 14:29:35 2010 -0700"
      },
      "message": "net/sched/sch_hfsc.c: initialize parent\u0027s cl_cfmin properly in init_vf()\n\nThis patch fixes init_vf() function, so on each new backlog period parent\u0027s\ncl_cfmin is properly updated (including further propgation towards the root),\neven if the activated leaf has no upperlimit curve defined.\n\nSigned-off-by: Michal Soltys \u003csoltys@ziu.info\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f04cfd098fb81fded74e78ea1a1b86cc6c6c31e",
      "tree": "cec4306a238658123aaba429a7cdb679c8deb801",
      "parents": [
        "78b620ce9e168d08ecfac2f4bb056c511b0601ec"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Tue Aug 31 13:21:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 14:29:34 2010 -0700"
      },
      "message": "net sched: fix kernel leak in act_police\n\nWhile reviewing commit 1c40be12f7d8ca1d387510d39787b12e512a7ce8, I\n audited other users of tc_action_ops-\u003edump for information leaks.\n\n That commit covered almost all of them but act_police still had a leak.\n\n opt.limit and opt.capab aren\u0027t zeroed out before the structure is\n passed out.\n\n This patch uses the C99 initializers to zero everything unused out.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nAcked-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2e3143e3c46ede22336316b3ff4746727c0d93a",
      "tree": "28fa33bc3ef923614066377e5a954b88cb87148a",
      "parents": [
        "5a46790ca4c40fdb6ed5336d7d6b593c96326b31"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Aug 24 14:48:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:48:10 2010 -0700"
      },
      "message": "tc: add meta match on receive hash\n\nTrivial extension to existing meta data match rules to allow\nmatching on skb receive hash value.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eec32ff350348e635b3b8d87b989117ce045d25",
      "tree": "f72ca99d915191d89e3446d599c0937cf6405acf",
      "parents": [
        "7abac686026ec1af38f6e766369dbfe4007949b6"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Aug 23 03:27:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:43:15 2010 -0700"
      },
      "message": "net_sched: act_csum: coding style cleanup\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7abac686026ec1af38f6e766369dbfe4007949b6",
      "tree": "a29f7c29a4dce09ba5a515020cefdb444a51877e",
      "parents": [
        "ccea790ef033cc890ca4b416a783e9f9dffe556e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:42:11 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:42:11 2010 -0700"
      },
      "message": "pkt_sched: Make act_csum depend upon INET.\n\nIt uses ip_send_check() and stuff like that.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2436243a39de56f03d38c74139261cc61bea8456",
      "tree": "5b2426d71f5b0fcc0543a7a3d8d093383faf6afd",
      "parents": [
        "d8287fc864643beaf1623c92aceb1ab38eae0648"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun Aug 22 20:31:14 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 20:31:14 2010 -0700"
      },
      "message": "net/sched: need to include net/ip6_checksum.h\n\nfor the declararion of csum_ipv6_magic.\n\nFixes this build error on PowerPC (at least):\n\nnet/sched/act_csum.c: In function \u0027tcf_csum_ipv6_icmp\u0027:\nnet/sched/act_csum.c:178: error: implicit declaration of function \u0027csum_ipv6_magic\u0027\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "739a91ef0625e0e4a40b835f4f891313c47915df",
      "tree": "bfcb025c8b446a81e82f0b57ad76168996ce49bc",
      "parents": [
        "81ce790bd75d49a0d119f5d7b27405e1d9b1bd57"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Aug 21 06:23:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:40:14 2010 -0700"
      },
      "message": "net_sched: cls_flow: add key rxhash\n\nWe can use rxhash to classify the traffic into flows. As rxhash maybe\nsupplied by NIC or RPS, it is cheaper.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3c6e7ad09cebbad1a3dea077668062136626fd2",
      "tree": "698022508a8d8c76a5d2cf55e50232079d6b1f42",
      "parents": [
        "c3227e546c574172e77616270a16a04eae561b8f",
        "48d3ff82698cb0094684aed70446e0a5cbb1a4d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:32:24 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:32:24 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "eb4d40654505e47aa9d2035bb97f631fa61d14b4",
      "tree": "bed2a1c5026e9797c0ed48c67c48b050e7f07e3c",
      "parents": [
        "49e8ab03ebcacd8e37660ffec20c0c46721a2800"
      ],
      "author": {
        "name": "Grégoire Baron",
        "email": "baronchon@n7mm.org",
        "time": "Wed Aug 18 13:10:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 20 01:42:59 2010 -0700"
      },
      "message": "net/sched: add ACT_CSUM action to update packets checksums\n\nnet/sched: add ACT_CSUM action to update packets checksums\n\nACT_CSUM can be called just after ACT_PEDIT in order to re-compute some\naltered checksums in IPv4 and IPv6 packets. The following checksums are\nsupported by this patch:\n - IPv4: IPv4 header, ICMP, IGMP, TCP, UDP \u0026 UDPLite\n - IPv6: ICMPv6, TCP, UDP \u0026 UDPLite\nIt\u0027s possible to request in the same action to update different kind of\nchecksums, if the packets flow mix TCP, UDP and UDPLite, ...\n\nAn example of usage is done in the associated iproute2 patch.\n\nVersion 3 changes:\n - remove useless goto instructions\n - improve IPv6 hop options decoding\n\nVersion 2 changes:\n - coding style correction\n - remove useless arguments of some functions\n - use stack in tcf_csum_dump()\n - add tcf_csum_skb_nextlayer() to factor code\n\nSigned-off-by: Gregoire Baron \u003cbaronchon@n7mm.org\u003e\nAcked-by: jamal \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9959c2e4460b1df1d113d829180398588bb04b4",
      "tree": "417b3f0564e6df025f272005f971ec859216b815",
      "parents": [
        "aca071c1c1c07bcc0b100b7c58e59790d6be6a69"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 17 19:07:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 17:16:25 2010 -0700"
      },
      "message": "net_sched: sch_sfq: use proto_ports_offset() to support AH message\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78d3307eded853f01c5e9aaa8c0768c2f75825a3",
      "tree": "fe49617979b370786ce7c80b723acbc707ea6012",
      "parents": [
        "12fcdefb3643607c47f39906a49056cf608bb545"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 17 19:05:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 17:16:24 2010 -0700"
      },
      "message": "net_sched: cls_flow: use proto_ports_offset() to support AH message\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00093fab980d0a8950a64bdf9e346d0497b9a7e4",
      "tree": "4f222456af157773cbf32f9f06ea0169fbcf929e",
      "parents": [
        "666be4298bd8f9508b32833b17a686dde630f2a5"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Aug 14 11:09:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 18 14:24:51 2010 -0700"
      },
      "message": "net/sched: remove unneeded NULL check\n\nThere is no need to check \"s\".  nla_data() doesn\u0027t return NULL.  Also we\nalready dereferenced \"s\" at this point so it would have oopsed ealier if\nit were NULL.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c40be12f7d8ca1d387510d39787b12e512a7ce8",
      "tree": "f555374eb0af8cf96d0dafb2444335ee352f73b4",
      "parents": [
        "001389b9581c13fe5fc357a0f89234f85af4215d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 16 20:04:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 17 15:12:15 2010 -0700"
      },
      "message": "net sched: fix some kernel memory leaks\n\nWe leak at least 32bits of kernel memory to user land in tc dump,\nbecause we dont init all fields (capab ?) of the dumped structure.\n\nUse C99 initializers so that holes and non explicit fields are zeroed.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e9e5a5921f4b7dc098a01d01e5972bebb36491e",
      "tree": "d4b50906ae56ff923e6a4ed4a20081a6da742c47",
      "parents": [
        "41065fba846e795b31b17e4dec01cb904d56c6cd"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Aug 10 22:31:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 11 01:37:00 2010 -0700"
      },
      "message": "pkt_sched: Check .walk and .leaf class handlers\n\nRequire qdisc class ops .walk and .leaf for classful qdisc in\nregister_qdisc(). The checks could be done later insted, but these\nops are really needed and used by most of classful qdiscs.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41065fba846e795b31b17e4dec01cb904d56c6cd",
      "tree": "fbe25b8223c1fe8d2abc1e21cb4eb37fdb5ed7dc",
      "parents": [
        "98a21ef0abb666eeb12cf67e60203befb07e4210"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Aug 10 22:31:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 11 01:36:59 2010 -0700"
      },
      "message": "pkt_sched: Fix sch_sfq vs tc_modify_qdisc oops\n\nsch_sfq as a classful qdisc needs the .leaf handler. Otherwise, there\nis an oops possible in tc_modify_qdisc()/check_loop().\n\nFixes commit 7d2681a6ff4f9ab5e48d02550b4c6338f1638998\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9871e50edd25e2adf69b369817100821cb1e6de8",
      "tree": "ba44998e2c45d3ff842c42dd7fcc4e2c0e69e4e6",
      "parents": [
        "06d88e4a88cf6a90de6f0744e2cc320eb67aac81"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Tue Aug 10 01:45:40 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 10 02:51:11 2010 -0700"
      },
      "message": "net: Use NET_XMIT_SUCCESS where possible.\n\nThis is based on work originally done by Patric McHardy.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68fd26b59856b466edd14d8a90d01255983cd3ee",
      "tree": "75dc4e5cb9c5af0b8281b278ae408efdf1569ad8",
      "parents": [
        "da7115d94a15f53efa224e47f16c57fd1998355f"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 09 12:18:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 10 01:39:14 2010 -0700"
      },
      "message": "pkt_sched: Add some basic qdisc class ops verification. Was: [PATCH] sfq: add dummy bind/unbind handles\n\nVerify in register_qdisc() some basic qdisc class handlers are present.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da7115d94a15f53efa224e47f16c57fd1998355f",
      "tree": "ac7b43d73deeaed5b525ea0d1fdeb1feb0d01f0d",
      "parents": [
        "e88db3bd46801a9c2cd0ac5e46122d47c285faec"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 09 12:18:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 10 01:39:13 2010 -0700"
      },
      "message": "pkt_sched: sch_sfq: Add dummy unbind_tcf and put handles. Was: [PATCH] sfq: add dummy bind/unbind handles\n\nAdd dummy .unbind_tcf and .put qdisc class ops for easier verification.\n(All other schedulers have it like this.)\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb4a5527b1f0d581ac217c80ef3278ed5e38693c",
      "tree": "a7236e97a07c46ab8360532abedde9bd96b72032",
      "parents": [
        "cece1945bffcf1a823cdfa36669beae118419351"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Aug 06 00:22:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 07 22:45:41 2010 -0700"
      },
      "message": "pkt_sched: Fix sch_sfq vs tcf_bind_filter oops\n\nSince there was added -\u003etcf_chain() method without -\u003ebind_tcf() to\nsch_sfq class options, there is oops when a filter is added with\nthe classid parameter.\n\nFixes commit 7d2681a6ff4f9ab5e48d02550b4c6338f1638998\nnetdev thread: null pointer at cls_api.c\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nReported-by: Franchoze Eric \u003cfranchoze@yandex.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2f009812f1fdcaf40fa547282c1b90d3b702a7d",
      "tree": "d6738a7481f2ee97cabfa44859a084d957d421c3",
      "parents": [
        "12dc96d1673feabef98eed1b5ff37abaa67fbe64"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Aug 04 04:58:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:16 2010 -0700"
      },
      "message": "sch_sfq: add sanity check for the packet length\n\nThe packet length should be checked before the packet data is dereferenced.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12dc96d1673feabef98eed1b5ff37abaa67fbe64",
      "tree": "4f92d2b0eac8e5e2ceedfe42ae0182302d28de65",
      "parents": [
        "4b95c3d40d7d9927438ed7b7b49c84c60e27b65b"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Aug 04 04:55:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:15 2010 -0700"
      },
      "message": "cls_rsvp: add sanity check for the packet length\n\nThe packet length should be checked before the packet data is dereferenced.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b95c3d40d7d9927438ed7b7b49c84c60e27b65b",
      "tree": "322f6e8e9f044accae4eda032b04d1daeec00358",
      "parents": [
        "f9599ce11192f24dbb0f4fdb70121a05edc58342"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Aug 04 04:48:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:15 2010 -0700"
      },
      "message": "cls_flow: add sanity check for the packet length\n\nThe packet length should be checked before the packet data is dereferenced.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36d12690a2e9bcacae5a2a7e0fb6345a3caad625",
      "tree": "f3e451b268d498af9ec171f6b454538091010f71",
      "parents": [
        "c33788b45f754bd5dd8adc520e37fa38ac1849c7"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 03 17:39:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:14 2010 -0700"
      },
      "message": "act_nat: fix on the TX path\n\nOn the TX path, skb-\u003edata points to the ethernet header, not the network\nheader. So when validating the packet length for accessing we should\ntake the ethernet header into account.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00dad5e479531e379aba7358600cc768725d4f1f",
      "tree": "652199eacee32c2cf317f5a54da8265973d29978",
      "parents": [
        "c477d0447db08068a497e7beb892b2b2a7bff64b",
        "3a3dfb062c2e086c202d34f09ce29634515ad256"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 22:22:46 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 22:22:46 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/e1000e/hw.h\n\tnet/bridge/br_device.c\n\tnet/bridge/br_input.c\n"
    },
    {
      "commit": "66d50d25502cd9b7d6e3ebbf4e241259c1283eaf",
      "tree": "a8738a77a087122167a2d881a8d0833255bbadb4",
      "parents": [
        "eabd8ba9060444cac5b89a3306e607c15ec37418"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 02 13:44:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 22:07:45 2010 -0700"
      },
      "message": "u32: negative offset fix\n\nIt was possible to use a negative offset in a u32 match to reference\nthe ethernet header or other parts of the link layer header.\nThis fixes the regression caused by:\n\ncommit fbc2e7d9cf49e0bf89b9e91fd60a06851a855c5d\nAuthor: Changli Gao \u003cxiaosuo@gmail.com\u003e\nDate:   Wed Jun 2 07:32:42 2010 -0700\n\n    cls_u32: use skb_header_pointer() to dereference data safely\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a3dfb062c2e086c202d34f09ce29634515ad256",
      "tree": "01569a926ed206fa91736eb06def56d000e46791",
      "parents": [
        "072d79a31a3b870b49886f4347e23f81b7eca3ac"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jul 29 14:04:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 31 22:04:55 2010 -0700"
      },
      "message": "act_nat: the checksum of ICMP doesn\u0027t have pseudo header\n\nafter updating the value of the ICMP payload, inet_proto_csum_replace4() should\nbe called with zero pseudohdr.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "072d79a31a3b870b49886f4347e23f81b7eca3ac",
      "tree": "e007177c6d42e63a610ba0a8a811c0b4b1c0841a",
      "parents": [
        "6d1d1d398cb7db7a12c5d652d50f85355345234f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jul 29 13:41:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 31 22:04:54 2010 -0700"
      },
      "message": "act_nat: fix wild pointer\n\npskb_may_pull() may change skb pointers, so adjust icmph after pskb_may_pull().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb7e95c8fd859922c6cf3ebbb3a8546007df1748",
      "tree": "58b54c6306ba168b76f25cc6dc9a2d1d2eb830a7",
      "parents": [
        "b8bc0421ab7f83712a0a8ef7eb05fa73ec53c027",
        "5447080cfa3c77154498dfbf225367ac85b4c2b5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 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/bnx2x_main.c\n\nMerge bnx2x bug fixes in by hand... :-/\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b87956ea645fb4de7e59c7d0aa94de04be72615",
      "tree": "0dde04e6dfad7cd76afbb31eff72a8f08a574a9c",
      "parents": [
        "76ac21f5ef30e46397e405695eb1240ff0955209"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Jul 22 18:45:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 21:04:20 2010 -0700"
      },
      "message": "net sched: fix race in mirred device removal\n\nThis fixes hang when target device of mirred packet classifier\naction is removed.\n\nIf a mirror or redirection action is configured to cause packets\nto go to another device, the classifier holds a ref count, but was assuming\nthe adminstrator cleaned up all redirections before removing. The fix\nis to add a notifier and cleanup during unregister.\n\nThe new list is implicitly protected by RTNL mutex because\nit is held during filter add/delete as well as notifier.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11fe883936980fe242869d671092a466cf1db3e3",
      "tree": "14ff24e81eb4326e94eb5aa6432a1dd55cef5ece",
      "parents": [
        "70d4bf6d467a330ccc947df9b2608e329d9e7708",
        "573201f36fd9c7c6d5218cdcd9948cee700b277d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 20 18:25:24 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 20 18:25:24 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/vhost/net.c\n\tnet/bridge/br_device.c\n\nFix merge conflict in drivers/vhost/net.c with guidance from\nStephen Rothwell.\n\nRevert the effects of net-2.6 commit 573201f36fd9c7c6d5218cdcd9948cee700b277d\nsince net-next-2.6 has fixes that make bridge netpoll work properly thus\nwe don\u0027t need it disabled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6d9ca0fec6aea0f2e4064474a1c5cdbed873c63",
      "tree": "0dcf812c45daf1c79087fc1ac365dcbce2485608",
      "parents": [
        "492c5d943d6a04b124ba3a719dc746dc36b14cfb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jul 19 10:48:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 19 15:12:51 2010 -0700"
      },
      "message": "net: this_cpu_xxx conversions\n\nUse modern this_cpu_xxx() api, saving few bytes on x86\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6accec76f6889f85dd62cadefe18afb8343558d1",
      "tree": "30feb6578be150cc1a766e85fb230482b8443d33",
      "parents": [
        "c1f19b51d1d87f3e3bb7e6648f43f7d57ed2da6b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 18 19:52:55 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 18 19:52:55 2010 -0700"
      },
      "message": "sch_atm: Convert to use standard list_head facilities.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eff683f737bf684dc9299e2eaca79cceb80a8c1",
      "tree": "ab92685be15606c06dbab82c581a3b1c0da72986",
      "parents": [
        "f8320f059296eb8cab6e2429c7ec79b43d42cf42"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jul 14 17:56:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 14 17:56:37 2010 -0700"
      },
      "message": "net/sched: potential data corruption\n\nThe reset_policy() does:\n        memset(d-\u003etcfd_defdata, 0, SIMP_MAX_DATA);\n        strlcpy(d-\u003etcfd_defdata, defdata, SIMP_MAX_DATA);\n\nIn the original code, the size of d-\u003etcfd_defdata wasn\u0027t fixed and if\nstrlen(defdata) was less than 31, reset_policy() would cause memory\ncorruption.\n\nPlease Note:  The original alloc_defdata() assumes defdata is 32\ncharacters and a NUL terminator while reset_policy() assumes defdata is\n31 characters and a NUL.  This patch updates alloc_defdata() to match\nreset_policy() (ie a shorter string).  I\u0027m not very familiar with this\ncode so please review carefully.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70c2efa5a32a7d38e66224844032160317fa7887",
      "tree": "34c0785993a0155a3677c97813f0d63e77b48dd2",
      "parents": [
        "c4363d6acd8d2ec9156f6469c742351e5d122489"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Jul 09 15:33:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 12 20:00:19 2010 -0700"
      },
      "message": "act_nat: not all of the ICMP packets need an IP header payload\n\nnot all of the ICMP packets need an IP header payload, so we check the length\nof the skbs only when the packets should have an IP header payload.\n\nBased upon analysis and initial patch by Rodrigo Partearroyo González.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n----\n net/sched/act_nat.c |    5 ++++-\n 1 file changed, 4 insertions(+), 1 deletion(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "504f85c9d05f7c605306e808f0d835fe11bfd18d",
      "tree": "98c3aa1f09c3c84598abfe6555010bfc54a2493d",
      "parents": [
        "5acbf7f10b9e336510a1de79b4af06f6da9a8c5a"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Jun 29 23:07:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 12:12:37 2010 -0700"
      },
      "message": "act_nat: use stack variable\n\nact_nat: use stack variable\n\nstructure tc_nat isn\u0027t too big for stack, so we can put it in stack.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n net/sched/act_nat.c |   31 ++++++++++---------------------\n 1 file changed, 10 insertions(+), 21 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5acbf7f10b9e336510a1de79b4af06f6da9a8c5a",
      "tree": "aaaab271af11fec455b5c57a96044896489ed7fa",
      "parents": [
        "787a34456dc34bdd75b29cebb53cb09c727674d6"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Jun 29 22:54:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 12:12:36 2010 -0700"
      },
      "message": "act_mirred: combine duplicate code\n\nact_mirred: combine duplicate code\n\ntcf_bstats is updated in any way, so we can do it earlier to reduce the size of\nthe code.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\n----\n net/sched/act_mirred.c |    6 ++----\n 1 file changed, 2 insertions(+), 4 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "210d6de78c5d7c785fc532556cea340e517955e1",
      "tree": "e4bbac89a8bc16154f51ad61e140be1b7bd2b92d",
      "parents": [
        "c4ead4c595cd54cf7b1a184d4f888ce0d7cce7d4"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 24 16:25:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 28 23:24:32 2010 -0700"
      },
      "message": "act_mirred: don\u0027t clone skb when skb isn\u0027t shared\n\ndon\u0027t clone skb when skb isn\u0027t shared\n\nWhen the tcf_action is TC_ACT_STOLEN, and the skb isn\u0027t shared, we don\u0027t need\nto clone a new skb. As the skb will be freed after this function returns, we\ncan use it freely once we get a reference to it.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n include/net/sch_generic.h |   11 +++++++++--\n net/sched/act_mirred.c    |    6 +++---\n 2 files changed, 12 insertions(+), 5 deletions(-)\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8244132ea89cdd128003f5b9980fab50d8d36d72",
      "tree": "c6cf9327cf9b6bab5bb830bbf389a514f4d7bb95",
      "parents": [
        "7b2ff18ee7b0ec4bc3162f821e221781aaca48bd",
        "38000a94a902e94ca8b5498f7871c6316de8957a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 23 18:26:27 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 23 18:26:27 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "fa68a7822780fdc1295f7efb7e4313e62b447e75",
      "tree": "896a59f89b4f7a98cabc141cbfa30894536208bb",
      "parents": [
        "97553f7f3e7a0305d017df9cc6e9589f64878437"
      ],
      "author": {
        "name": "Tom Hughes",
        "email": "tom@compton.nu",
        "time": "Tue Jun 15 22:24:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 16 14:47:30 2010 -0700"
      },
      "message": "Clear IFF_XMIT_DST_RELEASE for teql interfaces\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d16183\n\nThe sch_teql module, which can be used to load balance over a set of\nunderlying interfaces, stopped working after 2.6.30 and has been\nbroken in all kernels since then for any underlying interface which\nrequires the addition of link level headers.\n\nThe problem is that the transmit routine relies on being able to\naccess the destination address in the skb in order to do address\nresolution once it has decided which underlying interface it is going\nto transmit through.\n\nIn 2.6.31 the IFF_XMIT_DST_RELEASE flag was introduced, and set by\ndefault for all interfaces, which causes the destination address to be\nreleased before the transmit routine for the interface is called.\n\nThe solution is to clear that flag for teql interfaces.\n\nSigned-off-by: Tom Hughes \u003ctom@compton.nu\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7de2cf053420d63bac85133469c965d4b1083e1",
      "tree": "b56f7c96d01e25f79fe1f9b7e5305265e92214d9",
      "parents": [
        "cbd6890c5987cd7115147e1dd2c10d729afabb08"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 09 02:09:23 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 11 18:37:08 2010 -0700"
      },
      "message": "pkt_sched: gen_kill_estimator() rcu fixes\n\ngen_kill_estimator() API is incomplete or not well documented, since\ncaller should make sure an RCU grace period is respected before\nfreeing stats_lock.\n\nThis was partially addressed in commit 5d944c640b4\n(gen_estimator: deadlock fix), but same problem exist for all\ngen_kill_estimator() users, if lock they use is not already RCU\nprotected.\n\nA code review shows xt_RATEEST.c, act_api.c, act_police.c have this\nproblem. Other are ok because they use qdisc lock, already RCU\nprotected.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9dacaf17a60101a55d456cc7b00e269d8145aa0d",
      "tree": "ed5996e4d799559f8f91fdb09ec989042b8f4c0e",
      "parents": [
        "f2a03367c072150c881fa23ce3d3f76b8236018f"
      ],
      "author": {
        "name": "jamal",
        "email": "hadi@cyberus.ca",
        "time": "Fri Jun 04 02:43:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 07 01:10:43 2010 -0700"
      },
      "message": "net sched: make pedit check for clones instead\n\nNow that the core path doesnt set OK to munge we detect\nwritable skbs by looking to see if they are cloned.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2a03367c072150c881fa23ce3d3f76b8236018f",
      "tree": "52b98e8b034352f8afd9c6b2974f85f3b9171ed4",
      "parents": [
        "fa6ca57113c2fd2d86dd854e0bc5e18b9786282b"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Jun 04 01:33:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 07 01:08:11 2010 -0700"
      },
      "message": "htb: remove two unnecessary assignments\n\nremove two unnecessary assignments\n\nwe don\u0027t need to assign NULL when initialize structure objects.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n net/sched/sch_htb.c |    2 --\n 1 file changed, 2 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eedc765ca4b19a41cf0b921a492ac08d640060d1",
      "tree": "95c566c6238cc953e1e336115d2daafe8bcb388f",
      "parents": [
        "e59d44df46edaafb6b637e98d046775524b31104",
        "024a07bacf8287a6ddfa83e9d5b951c5e8b4070e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 06 17:42:02 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 06 17:42:02 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/sfc/net_driver.h\n\tdrivers/net/sfc/siena.c\n"
    },
    {
      "commit": "db2c24175d149b55784f7cb2c303622ce962c1ae",
      "tree": "37c34d4289975bcea43d50bf6eff405f74310db5",
      "parents": [
        "3df95ce948dc8ceef07b49003ab944aa047f2a79"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Jun 02 04:55:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 03 03:28:27 2010 -0700"
      },
      "message": "act_pedit: access skb-\u003edata safely\n\naccess skb-\u003edata safely\n\nwe should use skb_header_pointer() and skb_store_bits() to access skb-\u003edata to\nhandle small or non-linear skbs.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n net/sched/act_pedit.c |   24 ++++++++++++++----------\n 1 file changed, 14 insertions(+), 10 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbc2e7d9cf49e0bf89b9e91fd60a06851a855c5d",
      "tree": "a82f11f0ea06fd465393314d0f37772f715c6caf",
      "parents": [
        "edafe502404f3669d364b6e96d79b54067b634b4"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Jun 02 07:32:42 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 07:32:42 2010 -0700"
      },
      "message": "cls_u32: use skb_header_pointer() to dereference data safely\n\nuse skb_header_pointer() to dereference data safely\n\nthe original skb-\u003edata dereference isn\u0027t safe, as there isn\u0027t any skb-\u003elen or\nskb_is_nonlinear() check. skb_header_pointer() is used instead in this patch.\nAnd when the skb isn\u0027t long enough, we terminate the function u32_classify()\nimmediately with -1.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33c29dde7d04dc0ec0edb649d20ccf1351c13a06",
      "tree": "29c06e00942fc07554ebb918d7702d22eb8c7ff3",
      "parents": [
        "e3fe8558c7fc182972c3d947d88744482111f304"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat May 29 14:26:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 06:51:34 2010 -0700"
      },
      "message": "act_nat: fix the wrong checksum when addr isn\u0027t in old_addr/mask\n\nfix the wrong checksum when addr isn\u0027t in old_addr/mask\n\nFor TCP and UDP packets, when addr isn\u0027t in old_addr/mask we don\u0027t do SNAT or\nDNAT, and we should not update layer 4 checksum.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n net/sched/act_nat.c |    4 ++++\n 1 file changed, 4 insertions(+)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79640a4ca6955e3ebdb7038508fa7a0cd7fa5527",
      "tree": "128a3d1e9d173963070d49cc64ad38d8eb67dd7b",
      "parents": [
        "097811bb48c7837db94d7fe5d94f0f4b5e19e78c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 02 05:09:29 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 05:09:29 2010 -0700"
      },
      "message": "net: add additional lock to qdisc to increase throughput\n\nWhen many cpus compete for sending frames on a given qdisc, the qdisc\nspinlock suffers from very high contention.\n\nThe cpu owning __QDISC_STATE_RUNNING bit has same priority to acquire\nthe lock, and cannot dequeue packets fast enough, since it must wait for\nthis lock for each dequeued packet.\n\nOne solution to this problem is to force all cpus spinning on a second\nlock before trying to get the main lock, when/if they see\n__QDISC_STATE_RUNNING already set.\n\nThe owning cpu then compete with at most one other cpu for the main\nlock, allowing for higher dequeueing rate.\n\nBased on a previous patch from Alexander Duyck. I added the heuristic to\navoid the atomic in fast path, and put the new lock far away from the\ncache line used by the dequeue worker. Also try to release the busylock\nlock as late as possible.\n\nTests with following script gave a boost from ~50.000 pps to ~600.000\npps on a dual quad core machine (E5450 @3.00GHz), tg3 driver.\n(A single netperf flow can reach ~800.000 pps on this platform)\n\nfor j in `seq 0 3`; do\n  for i in `seq 0 7`; do\n    netperf -H 192.168.0.1 -t UDP_STREAM -l 60 -N -T $i -- -m 6 \u0026\n  done\ndone\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc135b23d01acf7ee926aaf75b0020c86d3869f9",
      "tree": "29b338a0c54c00880720d808f2fede7c605f516d",
      "parents": [
        "9f26f547a587ce9015ffe495d2af604580b4b784"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 02 03:23:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 03:23:51 2010 -0700"
      },
      "message": "net: Define accessors to manipulate QDISC_STATE_RUNNING\n\nDefine three helpers to manipulate QDISC_STATE_RUNNIG flag, that a\nsecond patch will move on another location.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06c4648d46d1b757d6b9591a86810be79818b60c",
      "tree": "96f6e09a23071157d5b446853294b4564155ffee",
      "parents": [
        "3f8dc2362fd43a0adee2f6f05bf1ac4d619675b6"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Wed May 26 00:09:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 00:27:44 2010 -0700"
      },
      "message": "arp_notify: allow drivers to explicitly request a notification event.\n\nCurrently such notifications are only generated when the device comes up or the\naddress changes. However one use case for these notifications is to enable\nfaster network recovery after a virtual machine migration (by causing switches\nto relearn their MAC tables). A migration appears to the network stack as a\ntemporary loss of carrier and therefore does not trigger either of the current\nconditions. Rather than adding carrier up as a trigger (which can cause issues\nwhen interfaces a flapping) simply add an interface which the driver can use\nto explicitly trigger the notification.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: netdev@vger.kernel.org\nCc: stable@kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f845172531fb7410c7fb7780b1a6e51ee6df7d52",
      "tree": "ef1030d0ad9d9dbc8fe800a145c587f04be50ade",
      "parents": [
        "eda6e6f86b5f95b982ac7ebf7cf5be2a29a291e9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 24 00:12:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 24 00:12:34 2010 -0700"
      },
      "message": "cls_cgroup: Store classid in struct sock\n\nUp until now cls_cgroup has relied on fetching the classid out of\nthe current executing thread.  This runs into trouble when a packet\nprocessing is delayed in which case it may execute out of another\nthread\u0027s context.\n\nFurthermore, even when a packet is not delayed we may fail to\nclassify it if soft IRQs have been disabled, because this scenario\nis indistinguishable from one where a packet unrelated to the\ncurrent thread is processed by a real soft IRQ.\n\nIn fact, the current semantics is inherently broken, as a single\nskb may be constructed out of the writes of two different tasks.\nA different manifestation of this problem is when the TCP stack\ntransmits in response of an incoming ACK.  This is currently\nunclassified.\n\nAs we already have a concept of packet ownership for accounting\npurposes in the skb-\u003esk pointer, this is a natural place to store\nthe classid in a persistent manner.\n\nThis patch adds the cls_cgroup classid in struct sock, filling up\nan existing hole on 64-bit :)\n\nThe value is set at socket creation time.  So all sockets created\nvia socket(2) automatically gains the ID of the thread creating it.\nWhenever another process touches the socket by either reading or\nwriting to it, we will change the socket classid to that of the\nprocess if it has a valid (non-zero) classid.\n\nFor sockets created on inbound connections through accept(2), we\ninherit the classid of the original listening socket through\nsk_clone, possibly preceding the actual accept(2) call.\n\nIn order to minimise risks, I have not made this the authoritative\nclassid.  For now it is only used as a backup when we execute\nwith soft IRQs disabled.  Once we\u0027re completely happy with its\nsemantics we can use it as the sole classid.\n\nFootnote: I have rearranged the error path on cls_group module\ncreation.  If we didn\u0027t do this, then there is a window where\nsomeone could create a tc rule using cls_group before the cgroup\nsubsystem has been registered.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53b0f08042f04813cd1a7473dacd3edfacb28eb3",
      "tree": "025244cdb7c4f0872f372564de2b82130fc7e867",
      "parents": [
        "a6c0f8217c17d46da22fa56923f3cbd03615cb7c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat May 22 20:37:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 23 23:11:07 2010 -0700"
      },
      "message": "net_sched: Fix qdisc_notify()\n\nBen Pfaff reported a kernel oops and provided a test program to\nreproduce it.\n\nhttps://kerneltrap.org/mailarchive/linux-netdev/2010/5/21/6277805\n\ntc_fill_qdisc() should not be called for builtin qdisc, or it\ndereference a NULL pointer to get device ifindex.\n\nFix is to always use tc_qdisc_dump_ignore() before calling\ntc_fill_qdisc().\n\nReported-by: Ben Pfaff \u003cblp@nicira.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\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": "b60b6592baa69c43a5a0f55d6300a7feaab15338",
      "tree": "30e7ba9b38a30d78542b242eda794499a590d26c",
      "parents": [
        "207024b9477e253859abfc30f1ff314cd6008b24"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue May 11 14:24:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:13 2010 -0700"
      },
      "message": "net sched: cleanup and rate limit warning\n\nIf the user has a bad classification configuration, and gets a packet\nthat goes through too many steps. Chances are more packets will arrive,\nand the message spew will overrun syslog because it is not rate limited.\nAnd because it is not tagged with appropriate priority it can\u0027t not be screened.\n\nAdded the qdisc to the message to try and give some more context when\nthe message does arrive.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ff9c3644e72bfac20844e0155c2cc8108602820",
      "tree": "81a8ce88d6f0f91ff7f68b234c2d20d6a0d8745f",
      "parents": [
        "00c60a8312c235cac1c879b620ecb71413e9245d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed May 12 06:37:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:12 2010 -0700"
      },
      "message": "net sched: printk message severity\n\nThe previous patch encourage me to go look at all the messages in\nthe network scheduler and fix them. Many messages were missing\nany severity level. Some serious ones that should never happen\nwere turned into WARN(), and the random noise messages that were\nhandled changed to pr_debug().\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2f79227138c71e08627af5f8961197364edbc98",
      "tree": "6d55f0769045bf537acd14db89b98fbe737ec595",
      "parents": [
        "e1bc7eedbafe0415cdfd82e17e6f65bb3369239d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri May 14 08:08:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:44:46 2010 -0700"
      },
      "message": "net_sched: sch_hfsc: fix classification loops\n\nWhen attaching filters to a class pointing to a class higher up in the\nhierarchy, classification may enter an endless loop. Currently this is\nprevented for filters that are already resolved, but not for filters\nresolved at runtime.\n\nOnly allow filters to point downwards in the hierarchy, similar to what\nCBQ does.\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0cd15081a72075df16c45a2310e873fb9fcd82f",
      "tree": "88e462778635cb4e285315f144b62276bdcff6df",
      "parents": [
        "ccbd6a5a4f76e821ed36f69fdaf59817c3a7f18e"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri May 14 14:38:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:44:35 2010 -0700"
      },
      "message": "tbf: stop wanton destruction of children (v2)\n\nSeveral netem users use TBF for rate control. But every time the parameters\nof TBF are changed it destroys the child qdisc, requiring reconfigation.\nBetter to just keep child qdisc and just notify it of changed limit.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.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": "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": "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": "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": "dee42870a423ad485129f43cddfe7275479f11d8",
      "tree": "e30433d3b55ee248eb672765fe6705be160d882c",
      "parents": [
        "7ef527377b88ff05fb122a47619ea506c631c914"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun May 02 05:42:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:26:57 2010 -0700"
      },
      "message": "net: fix softnet_stat\n\nPer cpu variable softnet_data.total was shared between IRQ and SoftIRQ context\nwithout any protection. And enqueue_to_backlog should update the netdev_rx_stat\nof the target CPU.\n\nThis patch renames softnet_data.total to softnet_data.processed: the number of\npackets processed in uppper levels(IP stacks).\n\nsoftnet_stat data is moved into softnet_data.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n include/linux/netdevice.h |   17 +++++++----------\n net/core/dev.c            |   26 ++++++++++++--------------\n net/sched/sch_generic.c   |    2 +-\n 3 files changed, 20 insertions(+), 25 deletions(-)\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\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": "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": "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": "4a35ecf8bf1c4b039503fa554100fe85c761de76",
      "tree": "9b75f5d5636004d9a9aa496924377379be09aa1f",
      "parents": [
        "b4d562e3c3553ac58c7120555c4e4aefbb090a2a",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 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/bonding/bond_main.c\n\tdrivers/net/via-velocity.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "5d944c640b4ae5f37c537acf491c2f0eb89fa0d6",
      "tree": "9195a0135ec21c1c06ff4d46e8cf7924e2c364c0",
      "parents": [
        "d4fc6dbb5ae51430e35b2005f6d68938861f8d8b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 31 07:06:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 01 18:38:48 2010 -0700"
      },
      "message": "gen_estimator: deadlock fix\n\nOne of my test machine got a deadlock during \"tc\" sessions,\nadding/deleting classes \u0026 filters, using traffic estimators.\n\nAfter some analysis, I believe we have a potential use after free case\nin est_timer() :\n\nspin_lock(e-\u003estats_lock); \u003c\u003c HERE \u003e\u003e\nread_lock(\u0026est_lock);\nif (e-\u003ebstats \u003d\u003d NULL)   \u003c\u003c TEST \u003e\u003e\n\tgoto skip;\n\nTest is done a bit late, because after estimator is killed, and before\nrcu grace period elapsed, we might already have freed/reuse memory where\ne-\u003estats_locks points to (some qdisc-\u003eq.lock)\n\nA possible fix is to respect a rcu grace period at Qdisc dismantle time.\n\nOn 64bit, sizeof(struct Qdisc) is exactly 192 bytes. Adding 16 bytes to\nit (for struct rcu_head) is a problem because it might change\nperformance, given QDISC_ALIGNTO is 32 bytes.\n\nThis is why I also change QDISC_ALIGNTO to 64 bytes, to satisfy most\ncurrent alignment requirements.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e5ab157813993356f021757d0b0dcbdca7c55a1",
      "tree": "5cdbce6124b690bfadaa5c99863ea204a545c2bc",
      "parents": [
        "9badba2543d165154c540b80e59ff06c1b3e3f76"
      ],
      "author": {
        "name": "Tom Goff",
        "email": "thomas.goff@boeing.com",
        "time": "Tue Mar 30 19:44:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 19:44:56 2010 -0700"
      },
      "message": "net_sched: minor netns related cleanup\n\nThese changes were suggested by Alexey Dobriyan \u003cadobriyan@gmail.com\u003e:\n\n  - psched_show() does not use any private data so just pass NULL to\n    psched_open()\n\n  - remove unnecessary return statement\n\nSigned-off-by: Tom Goff \u003cthomas.goff@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "d2a7b6bad2c38e41eddb0b24d03627d9e7aa3f7b",
      "tree": "826eb9d112029819aa44925346a55f887b1c3baf",
      "parents": [
        "ff67e4e42bd178b1179c4d8e5c1fde18758ce84f"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Jul 10 18:55:11 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 15:02:19 2010 +0100"
      },
      "message": "netfilter: xtables: make use of xt_request_find_target\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "b138338056fc423c61a583d45f8aa64cfad87131",
      "tree": "89079c1f80c62a7fce240942605e869944c81a1e",
      "parents": [
        "18062ca94714a66e75da8a22e010d0e8e61ab4cd"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Wed Mar 24 07:57:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 24 14:01:54 2010 -0700"
      },
      "message": "net: remove trailing space in messages\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e039d84b323c4503c4d56863faa47c783660826",
      "tree": "fd3fed884bf5f6309893d6844cabb9dcf3f9838a",
      "parents": [
        "688328c7ec3cd0dc3b16342aeb045d28012cc955"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Tue Mar 23 05:24:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 23 13:06:14 2010 -0700"
      },
      "message": "cgroups: net_cls as module\n\nAllows the net_cls cgroup subsystem to be compiled as a module\n\nThis patch modifies net/sched/cls_cgroup.c to allow the net_cls subsystem\nto be optionally compiled as a module instead of builtin.  The\ncgroup_subsys struct is moved around a bit to allow the subsys_id to be\neither declared as a compile-time constant by the cgroup_subsys.h include\nin cgroup.h, or, if it\u0027s a module, initialized within the struct by\ncgroup_load_subsys.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7316ae88c43d47f6503f4c29b4973204e33c3411",
      "tree": "442b265d3fd083065330e355cf8e9c73196cc443",
      "parents": [
        "300bc0602489d9f09f7b548f790afd2952f6070b"
      ],
      "author": {
        "name": "Tom Goff",
        "email": "thomas.goff@boeing.com",
        "time": "Fri Mar 19 15:40:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 22 20:26:25 2010 -0700"
      },
      "message": "net_sched: make traffic control network namespace aware\n\nMostly minor changes to add a net argument to various functions and\nremove initial network namespace checks.\n\nMake /proc/net/psched per network namespace.\n\nSigned-off-by: Tom Goff \u003cthomas.goff@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1109bf085c8dd69537b7876ea83f914dd1fe46a",
      "tree": "086bd9891a8c92284ea148c93f2242e6c7c02bd2",
      "parents": [
        "889b8f964f2f226b7cd5a0a515109e3d8d9d1613",
        "44bfce5c3ec91baf8ffcd075c66711740f29a949"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 09 11:44:44 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 09 11:44:44 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "d4ae20b3799e0b6fa0d832a645a422da9f239868",
      "tree": "6a02e8110b4eb72230ecc985828ef5b6099f37ee",
      "parents": [
        "2d171886b183982feb03446997c65e9e212b948e"
      ],
      "author": {
        "name": "Jan Luebbe",
        "email": "jluebbe@debian.org",
        "time": "Mon Feb 08 22:41:44 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 08 22:41:44 2010 -0800"
      },
      "message": "net/sched: Fix module name in Kconfig\n\nThe action modules have been prefixed with \u0027act_\u0027, but the Kconfig\ndescription was not changed.\n\nSigned-off-by: Jan Luebbe \u003cjluebbe@debian.org\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57dbb2d83d100ea601c54fe129bfde0678db5dee",
      "tree": "40305bcd986692f512b1b5e848c0b0f612968c6a",
      "parents": [
        "d74340d31bf1dbeb00acadddd8697666528a7846"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Sun Jan 24 12:30:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 28 21:27:00 2010 -0800"
      },
      "message": "sched: add head drop fifo queue\n\nThis adds an additional queuing strategy, called pfifo_head_drop,\nto remove the oldest skb in the case of an overflow within the queue -\nthe head element - instead of the last skb (tail). To remove the oldest\nskb in congested situations is useful for sensor network environments\nwhere newer packets reflect the superior information.\n\nReviewed-by: Florian Westphal \u003cfw@strlen.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "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: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09ad9bc752519cc167d0a573e1acf69b5c707c67",
      "tree": "0e190a9ffb90d7e0534136c3e9f31dce02f423c3",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "message": "net: use net_eq to compare nets\n\nGenerated with the following semantic patch\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 \u003d\u003d n2\n+ net_eq(n1, n2)\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 !\u003d n2\n+ !net_eq(n1, n2)\n\napplied over {include,net,drivers/net}.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8964be4a9a5ca8cab1219bb046db2f6d1936227c",
      "tree": "8838c73a03cc69c010b55928fce3725d17bc26a9",
      "parents": [
        "fa9a6fed87df1b50804405e700f8d30251d3aaf1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 20 15:35:04 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 20 15:35:04 2009 -0800"
      },
      "message": "net: rename skb-\u003eiif to skb-\u003eskb_iif\n\nTo help grep games, rename iif to skb_iif\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2939e275994977b6c9eb7fd082b7b0caa35b96b0",
      "tree": "25bb3e0c2b38274b24fd7f808d78f8d083d9e02a",
      "parents": [
        "3505d1a9fd65e2d3e00827857b6795d9d8983658"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 18 23:24:41 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 18 23:24:41 2009 -0800"
      },
      "message": "netsched: Allow var_sk_bound_if meta to work on all namespaces\n\nThis fix can probably wait 2.6.33, or should use another patch\nif needed in 2.6.32 (no get_dev_by_index_rcu() before 2.6.33)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b76965e02bfdd4164c00bf946ff6ca1818ed9fcd",
      "tree": "a1c974ef318524ee7c08fbdef19bf038ff91b89c",
      "parents": [
        "feed1f17241d26261e77ddb5f2fc2a91a3c16739"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Nov 17 04:15:16 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 04:15:38 2009 -0800"
      },
      "message": "act_mirred: optimization.\n\nmove checking if eaction is valid in tcf_mirred_init()\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "feed1f17241d26261e77ddb5f2fc2a91a3c16739",
      "tree": "ff9828b498a5e13dd48277c79a3ef28f0ed62efe",
      "parents": [
        "b2a5decddbe295d09c29d4a8078cdc47a55346df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Nov 17 04:14:00 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 04:15:37 2009 -0800"
      },
      "message": "act_mirred: cleanup\n\n1. don\u0027t let go back using goto.\n2. don\u0027t call skb_act_clone() until it is necessary.\n3. one exit of the critical context.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a1654ba0b50402a6bd03c7b0fe9b0200a5ea7b1",
      "tree": "3defd37672da2069e6c0ffd86b0b99c694324985",
      "parents": [
        "cb43e23435a66d5ed90f804af9efe9096503979f"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Nov 15 07:20:12 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 15 22:08:33 2009 -0800"
      },
      "message": "net: Optimize hard_start_xmit() return checking\n\nRecent changes in the TX error propagation require additional checking\nand masking of values returned from hard_start_xmit(), mainly to\nseparate cases where skb was consumed. This aim can be simplified by\nchanging the order of NETDEV_TX and NET_XMIT codes, because the latter\nare treated similarly to negative (ERRNO) values.\n\nAfter this change much simpler dev_xmit_complete() is also used in\nsch_direct_xmit(), so it is moved to netdevice.h.\n\nAdditionally NET_RX definitions in netdevice.h are moved up from\nbetween TX codes to avoid confusion while reading the TX comment.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "572a9d7b6fc7f20f573664063324c086be310c42",
      "tree": "0ab3655fdfa923b0b9c6c1ee51a2e31e97e9549f",
      "parents": [
        "9ea2bdab11da97b2ac6f87d79976d25fa6d27295"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Nov 10 06:14:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 14:07:32 2009 -0800"
      },
      "message": "net: allow to propagate errors through -\u003endo_hard_start_xmit()\n\nCurrently the -\u003endo_hard_start_xmit() callbacks are only permitted to return\none of the NETDEV_TX codes. This prevents any kind of error propagation for\nvirtual devices, like queue congestion of the underlying device in case of\nlayered devices, or unreachability in case of tunnels.\n\nThis patches changes the NET_XMIT codes to avoid clashes with the NETDEV_TX\ncodes and changes the two callers of dev_hard_start_xmit() to expect either\nerrno codes, NET_XMIT codes or NETDEV_TX codes as return value.\n\nIn case of qdisc_restart(), all non NETDEV_TX codes are mapped to NETDEV_TX_OK\nsince no error propagation is possible when using qdiscs. In case of\ndev_queue_xmit(), the error is propagated upwards.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "f1e9016da6d0f16551d90085758ae45d26826118"
}
