)]}'
{
  "log": [
    {
      "commit": "57e1ab6eaddc9f2c358cd4afb497cda6e3c6821a",
      "tree": "8fada8cae194efa4c23a0efdc6e9483d9e278f97",
      "parents": [
        "4c3710afbc333c33100739dec10662b4ee64e219"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 16 20:36:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 11:02:23 2010 -0800"
      },
      "message": "igmp: refine skb allocations\n\nIGMP allocates MTU sized skbs. This may fail for large MTU (order-2\nallocations), so add a fallback to try lower sizes.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "866f3b25a2eb60d7529c227a0ecd80c3aba443fd",
      "tree": "b11b24cf158a232641548b6c652bf9e001ae1446",
      "parents": [
        "dda0b38692a7298f433b92b1329867b1ecabb4bb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 18 09:33:19 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 09:33:19 2010 -0800"
      },
      "message": "bonding: IGMP handling cleanup\n\nInstead of iterating in_dev-\u003emc_list from bonding driver, its better\nto call a helper function provided by igmp.c\nDetails of implementation (locking) are private to igmp code.\n\nip_mc_rejoin_group(struct ip_mc_list *im) becomes\nip_mc_rejoin_groups(struct in_device *in_dev);\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5811662b15db018c740c57d037523683fd3e6123",
      "tree": "f820610a6024799a26699f22dc9a4ef5dee07978",
      "parents": [
        "dd68ad2235b4625e0dc928b2b4c614d265f976d3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Nov 12 18:43:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 12:27:45 2010 -0800"
      },
      "message": "net: use the macros defined for the members of flowi\n\nUse the macros defined for the members of flowi to clean the code up.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9aa93804e53f2153260568024b75ad3d81784f9",
      "tree": "467753edeeb50e7b40da73141cb2478c82b3a623",
      "parents": [
        "c25ecd0a21d5e08160cb5cc984f9e2b8ee347443"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 08:52:02 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 08:52:02 2010 -0800"
      },
      "message": "ipv4: Fix build with multicast disabled.\n\nnet/ipv4/igmp.c: In function \u0027ip_mc_inc_group\u0027:\nnet/ipv4/igmp.c:1228: error: implicit declaration of function \u0027for_each_pmc_rtnl\u0027\nnet/ipv4/igmp.c:1228: error: expected \u0027;\u0027 before \u0027{\u0027 token\nnet/ipv4/igmp.c: In function \u0027ip_mc_unmap\u0027:\nnet/ipv4/igmp.c:1333: error: expected \u0027;\u0027 before \u0027igmp_group_dropped\u0027\n ...\n\nMove for_each_pmc_rcu and for_each_pmc_rtnl macro definitions\noutside of multicast ifdef protection.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c25ecd0a21d5e08160cb5cc984f9e2b8ee347443",
      "tree": "0e4dcacf1bf603f259b8d27445a10e60fa8d00d7",
      "parents": [
        "190683a9d5457e6d962c232ffbecac3ab158dddd",
        "9457b24a0955bbdd2e89220a75de69fe09501bba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 14 11:57:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 14 11:57:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "1d7138de878d1d4210727c1200193e69596f93b3",
      "tree": "f7abb08bfdf35d1e876f93d24ce44072d2f6ed72",
      "parents": [
        "f5539b5bfa2e00f2a6fd35731db66142a2f327c0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 12 05:46:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 12 13:18:57 2010 -0800"
      },
      "message": "igmp: RCU conversion of in_dev-\u003emc_list\n\nin_dev-\u003emc_list is protected by one rwlock (in_dev-\u003emc_list_lock).\n\nThis can easily be converted to a RCU protection.\n\nWriters hold RTNL, so mc_list_lock is removed, not replaced by a\nspinlock.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Cypher Wu \u003ccypher.w@gmail.com\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c753796769e4fb0cd813b6e5801b3c01f4681d4f",
      "tree": "f137ec0b76593a2aa1a6a263bcc1e4cf82bdf7b5",
      "parents": [
        "ed1deb7021b4dfee1d544b91edff4ef92f5c3b54"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 11 17:07:48 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 11 17:07:48 2010 -0800"
      },
      "message": "ipv4: Make rt-\u003efl.iif tests lest obscure.\n\nWhen we test rt-\u003efl.iif against zero, we\u0027re seeing if it\u0027s\nan output or an input route.\n\nMake that explicit with some helper functions.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18943d292facbc70e6a36fc62399ae833f64671b",
      "tree": "337c4818e0cb478a4436ee5ad8d16822998bf8eb",
      "parents": [
        "aa58163a76a3aef33c7220931543d45d0fe43753"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 08 11:15:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 09 08:26:42 2010 -0800"
      },
      "message": "inet: fix ip_mc_drop_socket()\n\ncommit 8723e1b4ad9be4444 (inet: RCU changes in inetdev_by_index())\nforgot one call site in ip_mc_drop_socket()\n\nWe should not decrease idev refcount after inetdev_by_index() call,\nsince refcount is not increased anymore.\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nReported-by: Miles Lane \u003cmiles.lane@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8723e1b4ad9be4444423b4d41509ce859a629649",
      "tree": "00b0121c12e62736807e998b22b8964f1a5e1df9",
      "parents": [
        "9e917dca74138cccf398ce8bb924c7fd2980ec1d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 19 00:39:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 19 03:50:48 2010 -0700"
      },
      "message": "inet: RCU changes in inetdev_by_index()\n\nConvert inetdev_by_index() to not increment in_dev refcount.\n\nCallers hold RCU or RTNL, and should not decrement in_dev refcount.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e917dca74138cccf398ce8bb924c7fd2980ec1d",
      "tree": "9aeaa145a5a2b4a513a814eb41f05bd2446ddfe5",
      "parents": [
        "5d6076bb2e642bbcb1263c6cf239b9a1f3d0df08"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 19 00:39:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 19 03:50:47 2010 -0700"
      },
      "message": "net: avoid a dev refcount in ip_mc_find_dev()\n\nWe hold RTNL in ip_mc_find_dev(), no need to touch device refcount.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e12b453904c54bbdc515778ff664d87a7f9473af",
      "tree": "aa0033607405521e079345d1c3f7471a67bd79ba",
      "parents": [
        "5a37e8ca8536c47871d46c82211f399adf06fd44"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Tue Oct 05 14:23:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:26:57 2010 -0700"
      },
      "message": "bonding: fix to rejoin multicast groups immediately\n\nThe IGMP specs states that if the system receives a\nmembership report, it shouldn\u0027t send another for the\nnext minute. However, if a link failure happens right\nafter that, the backup slave and the switch connected\nto this slave will not know about the multicast and\nthe traffic will hang for about a minute.\n\nThis patch fixes it to rejoin multicast groups immediately\nafter a failover restoring the multicast traffic.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b7c84066733c5dfb0e4016d939757b38de189e4",
      "tree": "fe7edf2d6327abfc1c4abdab5121e73cce52b693",
      "parents": [
        "10ccff62bd3de7a64cf98f4c37ec0414b8affd4f"
      ],
      "author": {
        "name": "David Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Thu Sep 30 14:29:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 21:58:47 2010 -0700"
      },
      "message": "ipv4: correct IGMP behavior on v3 query during v2-compatibility mode\n\nA recent patch to allow IGMPv2 responses to IGMPv3 queries\nbypasses length checks for valid query lengths, incorrectly\nresets the v2_seen timer, and does not support IGMPv1.\n\nThe following patch responds with a v2 report as required\nby IGMPv2 while correcting the other problems introduced\nby the patch.\n\nSigned-Off-By: David L Stevens \u003cdlstevens@us.ibm.com\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7998156344b0d93de61ff8e5d75e96500e43a571",
      "tree": "ac9d61004b6332c745f20cae58ea130868981701",
      "parents": [
        "3429769bc67c7a48b3c01b2452b32171b3450202"
      ],
      "author": {
        "name": "Bob Arendt",
        "email": "rda@rincon.com",
        "time": "Mon Sep 13 12:56:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 12:56:51 2010 -0700"
      },
      "message": "ipv4: force_igmp_version ignored when a IGMPv3 query received\n\nAfter all these years, it turns out that the\n    /proc/sys/net/ipv4/conf/*/force_igmp_version\nparameter isn\u0027t fully implemented.\n\n*Symptom*:\nWhen set force_igmp_version to a value of 2, the kernel should only perform\nmulticast IGMPv2 operations (IETF rfc2236).  An host-initiated Join message\nwill be sent as a IGMPv2 Join message.  But if a IGMPv3 query message is\nreceived, the host responds with a IGMPv3 join message.  Per rfc3376 and\nrfc2236, a IGMPv2 host should treat a IGMPv3 query as a IGMPv2 query and\nrespond with an IGMPv2 Join message.\n\n*Consequences*:\nThis is an issue when a IGMPv3 capable switch is the querier and will only\nissue IGMPv3 queries (which double as IGMPv2 querys) and there\u0027s an\nintermediate switch that is only IGMPv2 capable.  The intermediate switch\nprocesses the initial v2 Join, but fails to recognize the IGMPv3 Join responses\nto the Query, resulting in a dropped connection when the intermediate v2-only\nswitch times it out.\n\n*Identifying issue in the kernel source*:\nThe issue is in this section of code (in net/ipv4/igmp.c), which is called when\nan IGMP query is received  (from mainline 2.6.36-rc3 gitweb):\n ...\nA IGMPv3 query has a length \u003e\u003d 12 and no sources.  This routine will exit after\nline 880, setting the general query timer (random timeout between 0 and query\nresponse time).  This calls igmp_gq_timer_expire():\n...\n.. which only sends a v3 response.  So if a v3 query is received, the kernel\nalways sends a v3 response.\n\nIGMP queries happen once every 60 sec (per vlan), so the traffic is low.  A\nIGMPv3 query *is* a strict superset of a IGMPv2 query, so this patch properly\nshort circuit\u0027s the v3 behaviour.\n\nOne issue is that this does not address force_igmp_version\u003d1.  Then again, I\u0027ve\nnever seen any IGMPv1 multicast equipment in the wild.  However there is a lot\nof v2-only equipment. If it\u0027s necessary to support the IGMPv1 case as well:\n\n837         if (len \u003d\u003d 8 || IGMP_V2_SEEN(in_dev) || IGMP_V1_SEEN(in_dev)) {\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bc2f18ba4f22a90ab593c0a580fc9a19c4777b6",
      "tree": "bb39f427bd468d0e34a73ebc788db726406fa261",
      "parents": [
        "ba80a2522899ea71a5b201bae60bdfd99126af95"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 09 21:22:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 12 12:57:54 2010 -0700"
      },
      "message": "net/ipv4: EXPORT_SYMBOL cleanups\n\nCodingStyle cleanups\n\nEXPORT_SYMBOL should immediately follow the symbol declaration.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8d1f30b95a635dbd610dcc5eb641aca8f4768cf",
      "tree": "71424d82a96facd5fcf05cc769ef2ba52b584aeb",
      "parents": [
        "592fcb9dfafaa02dd0edc207bf5d3a0ee7a1f8df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "message": "net-next: remove useless union keyword\n\nremove useless union keyword in rtable, rt6_info and dn_route.\n\nSince there is only one member in a union, the union keyword isn\u0027t useful.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a57a9d291980302b4a3184fbc47dbddac71903e",
      "tree": "f7e28ced28e4615074ceaf6ab4750a9630cdba95",
      "parents": [
        "66018506e15bea62de4eefc3298f170b4bfcf5ef"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jun 07 03:17:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 07 21:25:21 2010 -0700"
      },
      "message": "igmp: avoid two atomic ops in igmp_rcv()\n\nin_dev_get() -\u003e __in_dev_get_rcu() in a rcu protected function.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ed37a6fa70a3a63dbb257fc640facb3974bba40",
      "tree": "74722d590bb45aebae53890c25a8dcbae6090a13",
      "parents": [
        "589be6500560c70f4873f8c1fb66671624944433"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 31 17:23:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 01 00:15:54 2010 -0700"
      },
      "message": "net/ipv4/igmp.c: Remove unnecessary kmalloc casts\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.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": "5ecccb74dc91e22496a142b103ba958f93c29275",
      "tree": "b560b8974ec0e0478492d60753d45d8aea9db9b0",
      "parents": [
        "f6f223039c0d0683bdea1eabd35b309e10311a60",
        "3d0beb921fa34ebf8b13e206e5473329b14deb83"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 14 22:30:54 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 14 22:30:54 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/rate.c\n"
    },
    {
      "commit": "c6b471e6454c0e1c6d756672841cbaeae7c949f8",
      "tree": "fae818de582e5096f7098631679dc763241d00b5",
      "parents": [
        "598856407d4e20ebb4de01a91a93d89325924d43"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Feb 07 17:26:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 12 11:42:20 2010 -0800"
      },
      "message": "inet: Remove bogus IGMPv3 report handling\n\nCurrently we treat IGMPv3 reports as if it were an IGMPv2/v1 report.\nThis is broken as IGMPv3 reports are formatted differently.  So we\nend up suppressing a bogus multicast group (which should be harmless\nas long as the leading reserved field is zero).\n\nIn fact, IGMPv3 does not allow membership report suppression so\nwe should simply ignore IGMPv3 membership reports as a host.\n\nThis patch does exactly that.  I kept the case statement for it\nso people won\u0027t accidentally add it back thinking that we overlooked\nthis case.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c85bb41e93184bf5494dde6d8fe5a81b564c84c8",
      "tree": "2a5daec2aecc3fb3eedfba3f63a2156f38575b2d",
      "parents": [
        "8b64056dacf6ec81986d63dff96fca039fe95f6e"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Tue Feb 02 07:32:29 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 02 07:32:29 2010 -0800"
      },
      "message": "igmp: fix ip_mc_sf_allow race [v5]\n\nAlmost all igmp functions accessing inet-\u003emc_list are protected by\nrtnl_lock(), but there is one exception which is ip_mc_sf_allow(),\nso there is a chance of either ip_mc_drop_socket or ip_mc_leave_group\nremove an entry while ip_mc_sf_allow is running causing a crash.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c8c1e7297e19bdef3c178c3ea41d898a7716e3e",
      "tree": "4d336562e8d5379732a0646e17b0bb1750111ef6",
      "parents": [
        "72659ecce68588b74f6c46862c2b4cec137d7a5a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jan 17 03:35:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:16:02 2010 -0800"
      },
      "message": "net: spread __net_init, __net_exit\n\n__net_init/__net_exit are apparently not going away, so use them\nto full extent.\n\nIn some cases __net_init was removed, because it was called from\n__net_exit code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\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": "6baff15037693c057e3047da02c460c7e7b346c2",
      "tree": "fb458ff7b447b4b21e8d5bb00569d4dabe8ddd04",
      "parents": [
        "ce81b76a39835a721cd168e0c0bcfe7132f1f66b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 11 17:48:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:38:49 2009 -0800"
      },
      "message": "igmp: Use next_net_device_rcu()\n\nWe need to use next_det_device_rcu() in RCU protected section.\n\nWe also can avoid in_dev_get()/in_dev_put() overhead (code size mainly)\nin rcu_read_lock() sections.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61fbab77a843d2e772322ac130715cc9a98bf718",
      "tree": "ceb0046726e50bb72366d57aa2316f85dacf6744",
      "parents": [
        "fa918602b61a71b4a9f47861b7e65c70258516c1"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Nov 10 07:54:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 22:27:12 2009 -0800"
      },
      "message": "IPV4: use rcu to walk list of devices in IGMP\n\nThis also needs to be optimized for large number of devices.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c78500ddad74b229cd0691496b8549490496a2",
      "tree": "5249219d68627421e4717c4e8f03f8b4bbad2e92",
      "parents": [
        "481a8199142c050b72bff8a1956a49fd0a75bbe0"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@voltaire.com",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "message": "bonding: remap muticast addresses without using dev_close() and dev_open()\n\nThis patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach\nthere is to call dev_close()/dev_open() whenever the device type is changed in\norder to remap the device IP multicast addresses to HW multicast addresses.\nThis approach suffers from 2 drawbacks:\n\n*. It assumes tha the device is UP when calling dev_close(), or otherwise\n   dev_close() has no affect. It is worth to mention that initscripts (Redhat)\n   and sysconfig (Suse) doesn\u0027t act the same in this matter. \n*. dev_close() has other side affects, like deleting entries from the routing\n   table, which might be unnecessary.\n\nThe fix here is to directly remap the IP multicast addresses to HW multicast\naddresses for a bonding device that changes its type, and nothing else.\n   \nReported-by:   Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a",
      "tree": "3e368d9a78f87eb9dd7ff9e57f4aab3f4a96e3b1",
      "parents": [
        "dfbf97f3ac980b69dfbc41c83a208211a38443e8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:14:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:02 2009 -0700"
      },
      "message": "net: skb-\u003ertable accessor\n\nDefine skb_rtable(const struct sk_buff *skb) accessor to get rtable from skb\n\nDelete skb-\u003ertable field\n\nSetting rtable is not allowed, just set dst instead as rtable is an alias.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f771bef98004d9d141b085d987a77d06669d4f4f",
      "tree": "df9b7a353a8c28e71a8237d3ad65ba7f41ffab30",
      "parents": [
        "4d52cfbef6266092d535237ba5a4b981458ab171"
      ],
      "author": {
        "name": "Nivedita Singhvi",
        "email": "niv@us.ibm.com",
        "time": "Thu May 28 07:00:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 02 00:45:24 2009 -0700"
      },
      "message": "ipv4: New multicast-all socket option\n\nAfter some discussion offline with Christoph Lameter and David Stevens\nregarding multicast behaviour in Linux, I\u0027m submitting a slightly\nmodified patch from the one Christoph submitted earlier.\n\nThis patch provides a new socket option IP_MULTICAST_ALL.\n\nIn this case, default behaviour is _unchanged_ from the current\nLinux standard. The socket option is set by default to provide\noriginal behaviour. Sockets wishing to receive data only from\nmulticast groups they join explicitly will need to clear this\nsocket option.\n\nSigned-off-by: Nivedita Singhvi \u003cniv@us.ibm.com\u003e\nSigned-off-by: Christoph Lameter\u003ccl@linux.com\u003e\nAcked-by: David Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7091e728c570157496e52296d2dbe816a6916836",
      "tree": "9b393f1939f2632495ae083392b2172da2ed5000",
      "parents": [
        "b4ee07df3d8121060200dbe1c6686a4e0682bee2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Dec 25 16:42:51 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 16:42:51 2008 -0800"
      },
      "message": "netns: igmp: make /proc/net/{igmp,mcfilter} per netns\n\nThis patch makes the followinf proc entries per-netns:\n/proc/net/igmp\n/proc/net/mcfilter\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7e9ff735bd5e3437a8e5ecbbc2db3865974a523",
      "tree": "29107bc9cb4667fb341078ea4dbfa38b732b3728",
      "parents": [
        "6ed2533e55889943c478d11b1f63aaed2fd767cc"
      ],
      "author": {
        "name": "Jianjun Kong",
        "email": "jianjun@zeuux.org",
        "time": "Mon Nov 03 00:26:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 00:26:09 2008 -0800"
      },
      "message": "net: clean up net/ipv4/igmp.c\n\nSigned-off-by: Jianjun Kong \u003cjianjun@zeuux.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "113aa838ec3a235d883f8357d31d90e16c47fc89",
      "tree": "4e25254fb0402aea01074244879f574e213a9f31",
      "parents": [
        "510149e31974fdbb2c00c9bee6c0e2a688e61c85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "message": "net: Rationalise email address: Network Specific Parts\n\nClean up the various different email addresses of mine listed in the code\nto a single current and valid address. As Dave says his network merges\nfor 2.6.28 are now done this seems a good point to send them in where\nthey won\u0027t risk disrupting real changes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8bae41ed6a53cce56c50811a91cd963e3187d1c",
      "tree": "a54cbcedbfd4d4f88fe207068c9b910c884b6b20",
      "parents": [
        "be713a443ee019489890e93654557916fbf72612"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Oct 07 15:34:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 15:34:37 2008 -0700"
      },
      "message": "ipv4: add mc_count to in_device.\n\nThis patch add mc_count to struct in_device and updates\nincrement/decrement/initilaize of this field in IPv4 and in IPv6.\n\n- Also printing the vfs /proc entry (/proc/net/igmp) is adjusted to\nuse the new mc_count.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "877acedc0d3ea07f7b36573ed2f1f479c2c1eefd",
      "tree": "572dfad981cfd3f32e4661cb89cfc88def25bdf8",
      "parents": [
        "1bb5bd2c713cdf19794996fafd7b48da4c4b0113"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Aug 13 16:15:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 16:15:57 2008 -0700"
      },
      "message": "netns: Fix crash by making igmp per namespace\n\nThis patch makes the multicast socket to be per namespace.\n\nWhen a network namespace is created, other than the init_net and a\nmulticast packet is received, the kernel goes to a hang or a kernel panic.\n\nHow to reproduce ?\n\n * create a child network namespace\n * create a pair virtual device veth\n    * ip link add type veth\n * move one side to the pair network device to the child namespace\n    * ip link set netns \u003cchildpid\u003e dev veth1\n * ping -I veth0 224.0.0.1\n\nThe bug appears because the function ip_mc_init_dev does not initialize\nthe different multicast fields as it exits because it is not the init_net.\n\nBUG: soft lockup - CPU#0 stuck for 61s! [avahi-daemon:2695]\nModules linked in:\nirq event stamp: 50350\nhardirqs last  enabled at (50349): [\u003cc03ee949\u003e] _spin_unlock_irqrestore+0x34/0x39\nhardirqs last disabled at (50350): [\u003cc03ec639\u003e] schedule+0x9f/0x5ff\nsoftirqs last  enabled at (45712): [\u003cc0374d4b\u003e] ip_setsockopt+0x8e7/0x909\nsoftirqs last disabled at (45710): [\u003cc03ee682\u003e] _spin_lock_bh+0x8/0x27\n\nPid: 2695, comm: avahi-daemon Not tainted (2.6.27-rc2-00029-g0872073 #3)\nEIP: 0060:[\u003cc03ee47c\u003e] EFLAGS: 00000297 CPU: 0\nEIP is at __read_lock_failed+0x8/0x10\nEAX: c4f38810 EBX: c4f38810 ECX: 00000000 EDX: c04cc22e\nESI: fb0000e0 EDI: 00000011 EBP: 0f02000a ESP: c4e3faa0\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nCR0: 8005003b CR2: 44618a40 CR3: 04e37000 CR4: 000006d0\nDR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\nDR6: ffff0ff0 DR7: 00000400\n [\u003cc02311f8\u003e] ? _raw_read_lock+0x23/0x25\n [\u003cc0390666\u003e] ? ip_check_mc+0x1c/0x83\n [\u003cc036d478\u003e] ? ip_route_input+0x229/0xe92\n [\u003cc022e2e4\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc0104c9c\u003e] ? do_IRQ+0x69/0x7d\n [\u003cc0102e64\u003e] ? restore_nocheck_notrace+0x0/0xe\n [\u003cc036fdba\u003e] ? ip_rcv+0x227/0x505\n [\u003cc0358764\u003e] ? netif_receive_skb+0xfe/0x2b3\n [\u003cc03588d2\u003e] ? netif_receive_skb+0x26c/0x2b3\n [\u003cc035af31\u003e] ? process_backlog+0x73/0xbd\n [\u003cc035a8cd\u003e] ? net_rx_action+0xc1/0x1ae\n [\u003cc01218a8\u003e] ? __do_softirq+0x7b/0xef\n [\u003cc0121953\u003e] ? do_softirq+0x37/0x4d\n [\u003cc035b50d\u003e] ? dev_queue_xmit+0x3d4/0x40b\n [\u003cc0122037\u003e] ? local_bh_enable+0x96/0xab\n [\u003cc035b50d\u003e] ? dev_queue_xmit+0x3d4/0x40b\n [\u003cc012181e\u003e] ? _local_bh_enable+0x79/0x88\n [\u003cc035fcb8\u003e] ? neigh_resolve_output+0x20f/0x239\n [\u003cc0373118\u003e] ? ip_finish_output+0x1df/0x209\n [\u003cc0373364\u003e] ? ip_dev_loopback_xmit+0x62/0x66\n [\u003cc0371db5\u003e] ? ip_local_out+0x15/0x17\n [\u003cc0372013\u003e] ? ip_push_pending_frames+0x25c/0x2bb\n [\u003cc03891b8\u003e] ? udp_push_pending_frames+0x2bb/0x30e\n [\u003cc038a189\u003e] ? udp_sendmsg+0x413/0x51d\n [\u003cc038a1a9\u003e] ? udp_sendmsg+0x433/0x51d\n [\u003cc038f927\u003e] ? inet_sendmsg+0x35/0x3f\n [\u003cc034f092\u003e] ? sock_sendmsg+0xb8/0xd1\n [\u003cc012d554\u003e] ? autoremove_wake_function+0x0/0x2b\n [\u003cc022e6de\u003e] ? copy_from_user+0x32/0x5e\n [\u003cc022e6de\u003e] ? copy_from_user+0x32/0x5e\n [\u003cc034f238\u003e] ? sys_sendmsg+0x18d/0x1f0\n [\u003cc0175e90\u003e] ? pipe_write+0x3cb/0x3d7\n [\u003cc0170347\u003e] ? do_sync_write+0xbe/0x105\n [\u003cc012d554\u003e] ? autoremove_wake_function+0x0/0x2b\n [\u003cc03503b2\u003e] ? sys_socketcall+0x176/0x1b0\n [\u003cc01085ea\u003e] ? syscall_trace_enter+0x6c/0x7b\n [\u003cc0102e1a\u003e] ? syscall_call+0x7/0xb\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "721499e8931c5732202481ae24f2dfbf9910f129",
      "tree": "c94d8d681966109bb41f712f21f3a9825ae2172d",
      "parents": [
        "407d819cf0fd54c6fc1138a509225696aecafd15"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "message": "netns: Use net_eq() to compare net-namespaces for optimization.\n\nWithout CONFIG_NET_NS, namespace is always \u0026init_net.\nCompiler will be able to omit namespace comparisons with this patch.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5",
      "tree": "5ccce7558f9e1e53e5b189d6e2fe62a667988ac8",
      "parents": [
        "8388e3da34edb141362bb42811ee487dfec15525"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "message": "net: Allow netdevices to specify needed head/tailroom\n\nThis patch adds needed_headroom/needed_tailroom members to struct\nnet_device and updates many places that allocate sbks to use them. Not\nall of them can be converted though, and I\u0027m sure I missed some (I\nmostly grepped for LL_RESERVED_SPACE)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "ee6b967301b4aa5d4a4b61e2f682f086266db9fb",
      "tree": "197c2430f87733dc80d00d1971f1be2a0e562358",
      "parents": [
        "a05c44f6d5fb6cd29da04f96bf5ffaa05f545ac5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "message": "[IPV4]: Add \u0027rtable\u0027 field in struct sk_buff to alias \u0027dst\u0027 and avoid casts\n\n(Anonymous) unions can help us to avoid ugly casts.\n\nA common cast it the (struct rtable *)skb-\u003edst one.\n\nDefining an union like  :\nunion {\n     struct dst_entry *dst;\n     struct rtable *rtable;\n};\npermits to use skb-\u003ertable in place.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2430aa85de8343662e8496dac9f9e4dade680023",
      "tree": "e64ced549ad5b18cc9dc3ab36035c6ded65d1a19",
      "parents": [
        "0c65babd6ce758dd06330b3d9d677b7624f9e3fa"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:48:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:48:49 2008 -0800"
      },
      "message": "[NETNS]: Disable multicaststing configuration inside non-initial namespace.\n\nDo not calls hooks from device notifiers and disallow configuration from\nioctl/netlink layer.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd557bc1c15cbd20fbea47a150e1c7e56834e627",
      "tree": "1bc82bff8c7f1a69f7f87a4c728e3890e5343025",
      "parents": [
        "bd2f747658b303d9b08d2c5bc815022d825a5e3c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Feb 09 23:22:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 09 23:22:26 2008 -0800"
      },
      "message": "[IGMP]: Optimize kfree_skb in igmp_rcv.\n\nMerge error paths inside igmp_rcv.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f206351a50ea86250fabea96b9af8d8f8fc02603",
      "tree": "014148d8b45db1995d98374ec3b30e635f243197",
      "parents": [
        "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:07 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_key.\n\nNeeded to propagate it down to the ip_route_output_flow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ab352768fc73838b062776ca5d1add3876a019f",
      "tree": "b30bd7744e30e90b6db01b71a5c8b86140538255",
      "parents": [
        "010278ec4cdf404aefc0bbd5e7406674fec95286"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:04:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:04 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_dev_find.\n\nin_dev_find() need a namespace to pass it to fib_get_table(), so add\nan argument.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fee0ca23711ce1a6b13d3ab78915809a72a59ec",
      "tree": "e2df8e3997d996749b5169df59a56f3df67158c5",
      "parents": [
        "da0e28cb68a7e22b47c6ae1a5b12cb538c13c69f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:32:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:20 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to inetdev_by_index.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd329bfa96dd9dabfc3b5154317bf5fbe9440455",
      "tree": "ad68995cd1d5484a1141f39726ff9afc5967de97",
      "parents": [
        "1402c8519acba215f5a6101b9e5ada07ab371273"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Jan 21 17:28:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:18 2008 -0800"
      },
      "message": "[IPV4]: igmp sparse warnings\n\nPartial sparse warning fix.  The other conditional locking\nis too much for sparse to handle.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f97c1e0c6ebdb606c97b6cb5e837c6110ac5a961",
      "tree": "2af3da0114614a127099f9ab2ef706f676faa376",
      "parents": [
        "21cf2253ebcf070bc307e0b56d696a2519c75cb4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Dec 16 13:45:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:15 2008 -0800"
      },
      "message": "[IPV4] net/ipv4: Use ipv4_is_\u003ctype\u003e\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "586f12115264b767ea6a48ce081ca25a39c1e3dd",
      "tree": "48bb41f07d4dc2a1e0d9f9d71286594d3b9800fa",
      "parents": [
        "9355bbd685bf705a7f7bd6470b92ca0562c7a661"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:32:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:12 2008 -0800"
      },
      "message": "[IPV4]: Switch users of ipv4_devconf(_all) to use the pernet one\n\nThese are scattered over the code, but almost all the\n\"critical\" places already have the proper struct net\nat hand except for snmp proc showing function and routing\nrtnl handler.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c439cb2e4b13cf1cb2abcd006b906315a3381323",
      "tree": "7bb9d27214e010d37d6a715d0533a7148a8f429a",
      "parents": [
        "227620e295090629fcb2c46ad3828222ab65438d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 19:14:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:47 2008 -0800"
      },
      "message": "[IPV4]: Add ip_local_out\n\nMost callers of the LOCAL_OUT chain will set the IP packet length and\nheader checksum before doing so.  They also share the same output\nfunction dst_output.\n\nThis patch creates a new function called ip_local_out which does all\nof that and converts the appropriate users over to it.\n\nApart from removing duplicate code, it will also help in merging the\nIPsec output path once the same thing is done for IPv6.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42f811b8bcdf6695bf74de580b1daf53445e8949",
      "tree": "c7c9dd321c63eb24c5d41488b47b7178c6c9b572",
      "parents": [
        "8d76527e728d00d1cf9d5dd663caffb2dcf05ae6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 04 23:34:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:39:13 2007 -0700"
      },
      "message": "[IPV4]: Convert IPv4 devconf to an array\n\nThis patch converts the ipv4_devconf config members (everything except\nsysctl) to an array.  This allows easier manipulation which will be\nneeded later on to provide better management of default config values.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7562f876cd93800f2f8c89445f2a563590b24e09",
      "tree": "78a34c011af275efa0d55ba59c3bd49b771dd533",
      "parents": [
        "03fba0479600114f32d29eee74ca3eaa364606bf"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "message": "[NET]: Rework dev_base via list_head (v3)\n\nCleanup of dev_base list use, with the aim to simplify making device\nlist per-namespace. In almost every occasion, use of dev_base variable\nand dev-\u003enext pointer could be easily replaced by for_each_netdev\nloop. A few most complicated places were converted to using\nfirst_netdev()/next_netdev().\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_header).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bff9b61ce330df04c6830d823c30c04203543f01",
      "tree": "19525bb3d690a421ebd48efa578736ea1e4ca3e2",
      "parents": [
        "514bca322cb9220308d22691ac1e74038bfabac3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:19:57 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:18 2007 -0700"
      },
      "message": "[SK_BUFF]: Use the helpers to get the layer header pointer\n\nSome more cases...\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d10ba34b001944a8d1c8adb5646140ef089c432b",
      "tree": "cba54f5d23021a2b0061f5f2891ac7fa8fca6d5a",
      "parents": [
        "55f79cc0c02f9ce8f85e965e9679796f62b790f5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Mar 14 21:05:37 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:01 2007 -0700"
      },
      "message": "[SK_BUFF]: More skb_put related skb_reset_transport_header\n\nThis time we have to set it to skb-\u003etail that is not anymore equal to\nskb-\u003edata, so we either add a new helper or just add the skb-\u003etail - skb-\u003edata\noffset, for now do the later.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9edf9e2be0f7661558984c32bd53867a7037fd3",
      "tree": "603271a9d0756e229ad9ff13c628a33306c96bdf",
      "parents": [
        "cc70ab261c9f997589546100ddec5da6bfd89c4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:19:23 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce igmp_hdr() \u0026 friends, remove skb-\u003eh.igmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f690808e17925fc45217eb22e8670902ecee5c1b",
      "tree": "ba677dd86988f4c77a728cc7408c21967e59400c",
      "parents": [
        "6b2bedc3a659ba228a93afc8e3f008e152abf18a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Mar 12 14:34:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:03 2007 -0700"
      },
      "message": "[NET]: make seq_operations const\n\nThe seq_file operations stuff can be marked constant to\nget it out of dirty cache.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e28ecc282574a7d72ace365fc9bc86e27ba880f",
      "tree": "6321d16c591694d6405b723f7bea80855b8040ce",
      "parents": [
        "e2d1bca7e6134671bcb19810d004a252aa6a644d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 18:40:59 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:48 2007 -0700"
      },
      "message": "[SK_BUFF]: Use skb_reset_network_header where the skb_pull return was being used\n\nBut only in the cases where its a newly allocated skb, i.e. one where skb-\u003etail\nis equal to skb-\u003edata, or just after skb_reserve, where this requirement is\nmaintained.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "08882669e06099eb3e6ac407f552743aeaaec73f",
      "tree": "1f52e97265a74bd3d8a96e92d9d415c48bfe6570",
      "parents": [
        "2536b94a2d2e37dd6c14171d6251f63bbda47293"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Mon Mar 12 17:02:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 17:02:37 2007 -0700"
      },
      "message": "[IPV4]: Fix warning in ip_mc_rejoin_group.\n\nKill warning about unused variable `in_dev\u0027 when CONFIG_IP_MULTICAST\nis not set.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a816c7c712ff9f6770168b91facb9bfa9f0acd48",
      "tree": "aa47edb0c1e23be76d0fff783b9665221f2a84ef",
      "parents": [
        "e245cb71d490e5e516c0ca0688fad7de6c22943d"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Wed Feb 28 17:03:37 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 06 06:08:11 2007 -0500"
      },
      "message": "bonding: Improve IGMP join processing\n\n\tIn active-backup mode, the current bonding code duplicates IGMP\ntraffic to all slaves, so that switches are up to date in case of a\nfailover from an active to a backup interface.  If bonding then fails\nback to the original active interface, it is likely that the \"active\nslave\" switch\u0027s IGMP forwarding for the port will be out of date until\nsome event occurs to refresh the switch (e.g., a membership query).\n\n\tThis patch alters the behavior of bonding to no longer flood\nIGMP to all ports, and to issue IGMP JOINs to the newly active port at\nthe time of a failover.  This insures that switches are kept up to date\nfor all cases.\n\n\t\"GOELLESCH Niels\" \u003cniels.goellesch@eurocontrol.int\u003e originally\nreported this problem, and included a patch.  His original patch was\nmodified by Jay Vosburgh to additionally remove the existing IGMP flood\nbehavior, use RCU, streamline code paths, fix trailing white space, and\nadjust for style.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9a32144e9d7b4e21341174b1a83b82a82353be86",
      "tree": "6f08560b341418fc9934f56f6162a95f5b5d8aec",
      "parents": [
        "00977a59b951207d38380c75f03a36829950265c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 7\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e905a9edab7f4f14f9213b52234e4a346c690911",
      "tree": "9e52a5f47eec47c5685c347ff7af22290a10305b",
      "parents": [
        "642656518b2e64fd59d9bbd15b6885cac5fe99b1"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:47 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:39 2007 -0800"
      },
      "message": "[NET] IPV4: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc63f70b8b410eb653449151821f6b8b9af6ca42",
      "tree": "b78fb82523f1ed05c6e0a3547021ba213aa2d3b6",
      "parents": [
        "f2f2102d1a1dbc83b5b37b6596cd8374120cbe16"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@openvz.org",
        "time": "Tue Feb 06 14:35:25 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:39:04 2007 -0800"
      },
      "message": "[IPV4/IPV6] multicast: Check add_grhead() return value\n\nadd_grhead() allocates memory with GFP_ATOMIC and in at least two places skb\nfrom it passed to skb_put() without checking.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3bc23e7ee9db8023dff5a86bb3b0069ed018789",
      "tree": "f281b190a20084386666e0f3bb957df427b93ca7",
      "parents": [
        "9981a0e36a572e9fcf84bfab915fdc93bed0e3c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:24:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:27 2006 -0800"
      },
      "message": "[NET]: Annotate callers of csum_fold() in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63007727e0bb09e8d906f73d36a09b9fac0d5893",
      "tree": "015d2627d9a28e2b81989d3b82d130c32f138d5f",
      "parents": [
        "c0cda068aac3481d40795b115e4fd36f7d386e3a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:31:32 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:02 2006 -0700"
      },
      "message": "[IPV4]: trivial igmp annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0cda068aac3481d40795b115e4fd36f7d386e3a",
      "tree": "61dd1789701cc9c30f8a27577fd62af7e9f7d7c6",
      "parents": [
        "ea4d9e7220d32348cc9742ba6d27de5165262664"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:31:10 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:01 2006 -0700"
      },
      "message": "[IPV4]: ip_mc_sf_allow() annotated\n\nip_mc_sf_allow() expects addresses to be passed net-endian.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea4d9e7220d32348cc9742ba6d27de5165262664",
      "tree": "4281211a94b6f7e68f96ebb5912086bbdfa8eac2",
      "parents": [
        "942bf921e922560c05fde6afb00ddedf6224c608"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:30:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:00 2006 -0700"
      },
      "message": "[IPV4]: struct ip_sf_list and struct ip_sf_socklist annotated\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f935bbd7c6c66796c2403aefdab74bb48045bf6",
      "tree": "500b6cb37a536cdf4b63b6d33c53bdc6c752b228",
      "parents": [
        "00a5020cd51febbb3166ff7a09a2901c47ba251a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:30:07 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:58 2006 -0700"
      },
      "message": "[IPV4]: ip_mc_{inc,dec}_group() annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a60c4923da795c74db9ff61a60e2f1df5754e4ce",
      "tree": "70811e8c52e0edab4e27540b91c26f96daec6894",
      "parents": [
        "d9c9df8c9368f4102324e8c3923edae83974602b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:28:34 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:10 2006 -0700"
      },
      "message": "[IPV4]: ip_check_mc() annotations\n\nannotated arguments\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab32ea5d8a760e7dd4339634e95d7be24ee5b842",
      "tree": "8460a66c529fe03f926848326d9b6aa874e19514",
      "parents": [
        "56fc85ac961e2c20dcb5ef07e2628b3f93de2e49"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Sep 22 14:15:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:55:03 2006 -0700"
      },
      "message": "[NET/IPV4/IPV6]: Change some sysctl variables to __read_mostly\n\nChange net/core, ipv4 and ipv6 sysctl variables to __read_mostly.\n\nCouldn\u0027t actually measure any performance increase while testing (.3%\nI consider noise), but seems like the right thing to do.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84fa7933a33f806bbbaae6775e87459b1ec584c0",
      "tree": "5be404225d90f640997b12f631e9b496b3fd0d61",
      "parents": [
        "8584d6df39db5601965f9bc5e3bf2fea833ad7bb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 29 16:44:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:53 2006 -0700"
      },
      "message": "[NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE\n\nReplace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose\nchecksum still needs to be completed) and CHECKSUM_COMPLETE (for\nincoming packets, device supplied full checksum).\n\nPatch originally from Herbert Xu, updated by myself for 2.6.18-rc3.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acd6e00b8e4db542cb6bc9ddfbb4e18bbe29ce4d",
      "tree": "f644e1ee2a5d85b1d680897105ad8f38a562cfc1",
      "parents": [
        "c7fa9d189e93877a1fa08ab00f230e0689125e45"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Thu Aug 17 16:27:39 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 17 16:29:57 2006 -0700"
      },
      "message": "[MCAST]: Fix filter leak on device removal.\n\nThis fixes source filter leakage when a device is removed and a\nprocess leaves the group thereafter.\n\nThis also includes corresponding fixes for IPv6 multicast source\nfilters on device removal.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb699cbca0096aa3f5f750264ec0af080732375a",
      "tree": "4340b45f9750f7855abe937ff9c5c1427166e48a",
      "parents": [
        "640c41c77a96dbbfb74d40ae86ab75b759afb911"
      ],
      "author": {
        "name": "Michal Ruzicka",
        "email": "michal.ruzicka@comstar.cz",
        "time": "Tue Aug 15 00:20:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 17 16:29:49 2006 -0700"
      },
      "message": "[IPV4]: Possible leak of multicast source filter sctructure\n\nThere is a leak of a socket\u0027s multicast source filter list structure\non closing a socket with a multicast source filter set on an interface\nthat does not exist any more.\n\nSigned-off-by: Michal Ruzicka \u003cmichal.ruzicka@comstar.cz\u003e\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0da974f4f303a6842516b764507e3c0a03f41e5a",
      "tree": "8872aec792f02040269c6769dd1009b20f71d186",
      "parents": [
        "a0ee7c70b22f78593957f99faa06acb4747b8bc0"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "message": "[NET]: Conversions from kmalloc+memset to k(z|c)alloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "338fcf9886df9ad2873772197a73a57818973316",
      "tree": "3d58fed24e4c171110788ad479093a9b4ba27133",
      "parents": [
        "70df2311ee3fc607e7511873d7dade5bd17d593d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jun 05 21:04:39 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:29:37 2006 -0700"
      },
      "message": "[IPV4] igmp: Fixup struct ip_mc_list::multiaddr type\n\nAll users except two expect 32-bit big-endian value. One is of\n\n\t-\u003emultiaddr \u003d -\u003emultiaddr\n\nvariety. And last one is \"%08lX\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "153330618691694af64f39fb56c9de051862380e",
      "tree": "45ccb622bf0d13f6a0a663ba8af39f9dc2c9122e",
      "parents": [
        "2d0817d11eaec57435feb61493331a763f732a2b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Mon Mar 20 22:32:28 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:32:28 2006 -0800"
      },
      "message": "[NET]: dev_put/dev_hold cleanup\n\nGet rid of the old __dev_put macro that is just a hold over from pre 2.6\nkernel.  And turn dev_hold into an inline instead of a macro.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6756ae4b4e97aba48c042b4aa6b77a18f507d2cb",
      "tree": "05bf37711d782fb0089d474716026c44a454f89b",
      "parents": [
        "253aa11578c1b89757282430891bb66ae5300092"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Mon Mar 20 22:23:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:23:58 2006 -0800"
      },
      "message": "[NET]: Convert RTNL to mutex.\n\nThis patch turns the RTNL from a semaphore to a new 2.6.16 mutex and\ngets rid of some of the leftover legacy.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76edc6051e02186fe664ab880447e2d1f96fd884",
      "tree": "988170b801f03e7701eb0ceaa856891934539101",
      "parents": [
        "e110ab94ebc714de57f75f0c7c576dde8cf80944"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 01 05:54:35 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 07 20:57:37 2006 -0500"
      },
      "message": "[PATCH] ipv4 NULL noise removal\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dd1c1853e2742f4938b271dbe0cee735e2ffa3d9",
      "tree": "dca773c1f509e06330559e55113a0e7cae5ddb68",
      "parents": [
        "d195ea4b1456192abe780fd773778cbe9f6d77ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 31 13:11:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 31 13:11:41 2006 -0800"
      },
      "message": "Fix ipv4/igmp.c compile with gcc-4 and IP_MULTICAST\n\nModern versions of gcc do not like case statements at the end of a block\nstatement: you need at least an empty statement.  Using just a \"break;\"\nis preferred for visual style.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c5d90e000437a463440c1fe039011a02583a9ee5",
      "tree": "d9b335bf132b089ea4036f7d19bcdd9cc490aaf9",
      "parents": [
        "e2c2fc2c8f3750e1f7ffbb3ac2b885a49416110c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jan 30 20:27:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 30 20:27:17 2006 -0800"
      },
      "message": "[IPV4] igmp: remove pointless printk\n\nThis is easily triggerable by sending bogus packets,\nallowing a malicious user to flood remote logs.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad12583f46bcb6ce93ccd99fa063c0d701146b2e",
      "tree": "58d68cf1a60cd3cf2b8ee0e9fbdcb38454e2082e",
      "parents": [
        "7ac5459ec0f074022818af35c589b9e2b406d7c3"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Wed Jan 18 14:20:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 18 14:20:56 2006 -0800"
      },
      "message": "[IPV4]: Fix multiple bugs in IGMPv3\n\n1) fix \"mld_marksources()\" to\n        a) send nothing when all queried sources are excluded\n        b) send full exclude report when source queried sources are\n                not excluded\n        c) don\u0027t schedule a timer when there\u0027s nothing to report\n\n2) fix \"add_grec()\" to send empty-source records when it should\n        The original check doesn\u0027t account for a non-empty source\n        list with all sources inactive; the new code keeps that\n        short-circuit case, and also generates the group header\n        with an empty list if needed.\n\n3) fix mca_crcount decrement to be after add_grec(), which needs\n        its original value\n\n4) add/remove delete records and prevent current advertisements\n        when an exclude-mode filter moves from \"active\" to \"inactive\"\n        or vice versa based on new filter additions.\n\n        Items 1-3 are just IPv4 versions of the IPv6 bugs found\nby Yan Zheng and fixed earlier. Item #4 is a related bug that\naffects exclude-mode change records only (but not queries) and\nalso occurs in IPv6 (IPv6 version coming soon).\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b3a70058bfe711b2d05ba2134178bae623183ce",
      "tree": "6f9e55729938f0a935aa885d29d5a38537fa3a97",
      "parents": [
        "ae0f7d5f83236a43c572a744e4bbb30e8702d821"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Wed Jan 11 15:56:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jan 11 16:32:14 2006 -0800"
      },
      "message": "[NET]: Remove more unneeded typecasts on *malloc()\n\nThis removes more unneeded casts on the return value for kmalloc(),\nsock_kmalloc(), and vmalloc().\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24c6927505ca77ee4ac25fb31dcd56f6506979ed",
      "tree": "17d873b63f0ce24b81e184f2515f2b643143e48e",
      "parents": [
        "bf031fff1fac77775b2cd2c72ad8b017f4c0af13"
      ],
      "author": {
        "name": "David Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Dec 02 20:32:59 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 20:32:59 2005 -0800"
      },
      "message": "[IGMP]: workaround for IGMP v1/v2 bug\n\nFrom: David Stevens \u003cdlstevens@us.ibm.com\u003e\n\nAs explained at:\n\n\thttp://www.cs.ucsb.edu/~krishna/igmp_dos/\n\nWith IGMP version 1 and 2 it is possible to inject a unicast\nreport to a client which will make it ignore multicast\nreports sent later by the router.\n\nThe fix is to only accept the report if is was sent to a\nmulticast or unicast address.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb286bb2990a107009dbf25f6ffebeb7df77f9be",
      "tree": "0eede2c37f1b3831e59601933eebf6b82be75ffc",
      "parents": [
        "1064e944d03eb7a72c0fa11236d5e69cfd877a71"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "message": "[NET]: Detect hardware rx checksum faults correctly\n\nHere is the patch that introduces the generic skb_checksum_complete\nwhich also checks for hardware RX checksum faults.  If that happens,\nit\u0027ll call netdev_rx_csum_fault which currently prints out a stack\ntrace with the device name.  In future it can turn off RX checksum.\n\nI\u0027ve converted every spot under net/ that does RX checksum checks to\nuse skb_checksum_complete or __skb_checksum_complete with the\nexceptions of:\n\n* Those places where checksums are done bit by bit.  These will call\nnetdev_rx_csum_fault directly.\n\n* The following have not been completely checked/converted:\n\nipmr\nip_vs\nnetfilter\ndccp\n\nThis patch is based on patches and suggestions from Stephen Hemminger\nand David S. Miller.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8713dbf05754aa777f31bf491cb60a111f7ad828",
      "tree": "543da2e27a18d1deddfcccf503db882d2f6d2566",
      "parents": [
        "ec1890c5df451799dec969a3581ff72e1934b5ee"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Fri Oct 28 08:02:08 2005 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Nov 02 21:03:57 2005 -0200"
      },
      "message": "[MCAST]: ip[6]_mc_add_src should be called when number of sources is zero\n\nAnd filter mode is exclude.\n\nFurther explanation by David Stevens:\n\nMulticast source filters aren\u0027t widely used yet, and that\u0027s really the only\nfeature that\u0027s affected if an application actually exercises this bug, as far\nas I can tell. An ordinary filter-less multicast join should still work, and\nonly forwarded multicast traffic making use of filters and doing empty-source\nfilters with the MSFILTER ioctl would be at risk of not getting multicast\ntraffic forwarded to them because the reports generated would not be based on\nthe correct counts.\n\nSigned-off-by: Yan Zheng \u003cyanzheng@21cn.com\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e5ed639913eea3e4783a550291775ab78dd84966",
      "tree": "e6e915aa686d2a7125181fc83a847e1955a8ba46",
      "parents": [
        "a5e7c210fefd2454c757a3542e41063407ca7108"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "message": "[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl\n\nThe following patch renames __in_dev_get() to __in_dev_get_rtnl() and\nintroduces __in_dev_get_rcu() to cover the second case.\n\n1) RCU with refcnt should use in_dev_get().\n2) RCU without refcnt should use __in_dev_get_rcu().\n3) All others must hold RTNL and use __in_dev_get_rtnl().\n\nThere is one exception in net/ipv4/route.c which is in fact a pre-existing\nrace condition.  I\u0027ve marked it as such so that we remember to fix it.\n\nThis patch is based on suggestions and prior work by Suzanne Wood and\nPaul McKenney.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de9daad90ecb54f3c37c3f8967d581e20d927539",
      "tree": "64cdb939bd5bbdb36cd05ccaed15ca5b6d2c9df7",
      "parents": [
        "20ae975dfd54de581287b2ca8a1ad97099ab0396"
      ],
      "author": {
        "name": "Denis Lukianov",
        "email": "denis@voxelsoft.com",
        "time": "Wed Sep 14 20:53:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 20:53:42 2005 -0700"
      },
      "message": "[MCAST]: Fix MCAST_EXCLUDE line dupes\n\nThis patch fixes line dupes at /ipv4/igmp.c and /ipv6/mcast.c in the  \n2.6 kernel, where MCAST_EXCLUDE is mistakenly used instead of  \nMCAST_INCLUDE.\n\nSigned-off-by: Denis Lukianov \u003cdenis@voxelsoft.com\u003e\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64ce207306debd7157f47282be94770407bec01c",
      "tree": "b4004f01b2b0e935b95bcce9a78e60a9e9e17f65",
      "parents": [
        "64cf1e5d8b5f88d56509260e08fa0d8314277350"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 20:50:53 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:08 2005 -0700"
      },
      "message": "[NET]: Make NETDEBUG pure printk wrappers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84b42baef775b0e3415ccece17cf694f50326d01",
      "tree": "6a810c38fcd8f02db57482019264089e99db2d31",
      "parents": [
        "9951f036fe8a4e6b21962559c64ff13b290ff01a"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:48:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:48:38 2005 -0700"
      },
      "message": "[IPV4]: fix IPv4 leave-group group matching\n\n        This patch fixes the multicast group matching for \nIP_DROP_MEMBERSHIP, similar to the IP_ADD_MEMBERSHIP fix in a prior\npatch. Groups are identifiedby \u003cgroup address,interface\u003e and including\nthe interface address in the match will fail if a leave-group is done\nby address when the join was done by index, or if different addresses\non the same interface are used in the join and leave.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "9951f036fe8a4e6b21962559c64ff13b290ff01a"
}
