)]}'
{
  "log": [
    {
      "commit": "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3",
      "tree": "6fbbaa255617783eda308a00a21065bc99ad0d21",
      "parents": [
        "bc68580d41b131396054a1a04a7df4948555ed97"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Sep 24 09:55:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 26 19:09:25 2010 -0700"
      },
      "message": "ipv6: add a missing unregister_pernet_subsys call\n\nClean up a missing exit path in the ipv6 module init routines.  In\naddrconf_init we call ipv6_addr_label_init which calls register_pernet_subsys\nfor the ipv6_addr_label_ops structure.  But if module loading fails, or if the\nipv6 module is removed, there is no corresponding unregister_pernet_subsys call,\nwhich leaves a now-bogus address on the pernet_list, leading to oopses in\nsubsequent registrations.  This patch cleans up both the failed load path and\nthe unload path.  Tested by myself with good results.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/net/addrconf.h |    1 +\n net/ipv6/addrconf.c    |   11 ++++++++---\n net/ipv6/addrlabel.c   |    5 +++++\n 3 files changed, 14 insertions(+), 3 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb7e95c8fd859922c6cf3ebbb3a8546007df1748",
      "tree": "58b54c6306ba168b76f25cc6dc9a2d1d2eb830a7",
      "parents": [
        "b8bc0421ab7f83712a0a8ef7eb05fa73ec53c027",
        "5447080cfa3c77154498dfbf225367ac85b4c2b5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x_main.c\n\nMerge bnx2x bug fixes in by hand... :-/\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64e724f62ab743d55229cd5e27ec8b068b68eb16",
      "tree": "cc73b4a138f1fa2585f8bc4cb44f91c6c5751cc7",
      "parents": [
        "be2b6e62357dd7ee56bdcb05e54002afb4830292"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Jul 20 10:34:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 22 13:41:32 2010 -0700"
      },
      "message": "ipv6: Don\u0027t add routes to ipv6 disabled interfaces.\n\nIf the interface has IPv6 disabled, don\u0027t add a multicast or\nlink-local route since we won\u0027t be adding a link-local address.\n\nReported-by: Mahesh Kelkar \u003cmaheshkelkar@gmail.com\u003e\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ce3c183fcade7f4b30a33dae90cd774c3d9e094",
      "tree": "84d5a130da50096fdbeb7fffea596dffe2cebd80",
      "parents": [
        "f3eb62d2cc7da7bea4b394dd06f6bc738aa284e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 30 13:31:19 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 13:31:19 2010 -0700"
      },
      "message": "snmp: 64bit ipstats_mib for all arches\n\n/proc/net/snmp and /proc/net/netstat expose SNMP counters.\n\nWidth of these counters is either 32 or 64 bits, depending on the size\nof \"unsigned long\" in kernel.\n\nThis means user program parsing these files must already be prepared to\ndeal with 64bit values, regardless of user program being 32 or 64 bit.\n\nThis patch introduces 64bit snmp values for IPSTAT mib, where some\ncounters can wrap pretty fast if they are 32bit wide.\n\n# netstat -s|egrep \"InOctets|OutOctets\"\n    InOctets: 244068329096\n    OutOctets: 244069348848\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "784e2710ce3588d8316dc8efac9ecbebaeaf7c35",
      "tree": "5d731c6b0f67f6e0567c34a6fcde2b9630641d17",
      "parents": [
        "f56619fc72407561b00c52244a2caa53d730bc4a"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sat Jun 26 11:42:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 10:28:43 2010 -0700"
      },
      "message": "ipv6: Use interface max_desync_factor instead of static default\n\nmax_desync_factor can be configured per-interface, but nothing is\nusing the value.\n\nReported-by: Piotr Lewandowski \u003cpiotr.lewandowski@gmail.com\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f56619fc72407561b00c52244a2caa53d730bc4a",
      "tree": "9201b8700d4f8e185def920261a3cb718494cdcb",
      "parents": [
        "5a9dbfe08ee17f0dc9ecff647eba3d04afa01200"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sat Jun 26 11:37:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 10:28:43 2010 -0700"
      },
      "message": "ipv6: Clamp reported valid_lft to a minimum of 0\n\nSince addresses are only revalidated every 2 minutes, the reported\nvalid_lft can underflow shortly before the address is deleted.\nClamp it to a minimum of 0, as for prefered_lft.\n\nReported-by: Piotr Lewandowski \u003cpiotr.lewandowski@gmail.com\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1823e4c80eeae2a774c75569ce3035070e5ee009",
      "tree": "bdc1bdf4a67027193312ad584924ca8a986a064c",
      "parents": [
        "5eaa0bd81f93225b6d1972b373ed00ca763052b2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 22 20:58:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 25 21:33:17 2010 -0700"
      },
      "message": "snmp: add align parameter to snmp_mib_init()\n\nIn preparation for 64bit snmp counters for some mibs,\nadd an \u0027align\u0027 parameter to snmp_mib_init(), instead\nof assuming mibs only contain \u0027unsigned long\u0027 fields.\n\nCallers can use __alignof__(type) to provide correct\nalignment.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCC: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCC: Vlad Yasevich \u003cvladislav.yasevich@hp.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": "622ccdf107bcb49c4d8fb65512652566d4c8928a",
      "tree": "b25ec5eaade9307a516c87f49f091af25e134590",
      "parents": [
        "f2344a131bccdbfc5338e17fa71a807dee7944fa"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 18 15:56:06 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 18 15:56:06 2010 -0700"
      },
      "message": "ipv6: Never schedule DAD timer on dead address\n\nThis patch ensures that all places that schedule the DAD timer\nlook at the address state in a safe manner before scheduling the\ntimer.  This ensures that we don\u0027t end up with pending timers\nafter deleting an address.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2344a131bccdbfc5338e17fa71a807dee7944fa",
      "tree": "17d00515d1623679592068a304abf8bd88c46ee4",
      "parents": [
        "4c5ff6a6fe794f102479db998c69054319279e3c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 18 15:55:27 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 18 15:55:27 2010 -0700"
      },
      "message": "ipv6: Use POSTDAD state\n\nThis patch makes use of the new POSTDAD state.  This prevents\na race between DAD completion and failure.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c5ff6a6fe794f102479db998c69054319279e3c",
      "tree": "07e2e4de160e3eb2dbbb3f7749314cd556671826",
      "parents": [
        "e9d3e084975869754d16f639378675c353560be9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 18 15:54:18 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 18 15:54:18 2010 -0700"
      },
      "message": "ipv6: Use state_lock to protect ifa state\n\nThis patch makes use of the new state_lock to synchronise between\nupdates to the ifa state.  This fixes the issue where a remotely\ntriggered address deletion (through DAD failure) coincides with a\nlocal administrative address deletion, causing certain actions to\nbe performed twice incorrectly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9d3e084975869754d16f639378675c353560be9",
      "tree": "3f933fea12746b24247ccec79cb4a1fbdf50833b",
      "parents": [
        "e29f5dbc9e9719af158a960e5c1d16f32740ebc3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 18 15:36:06 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 18 15:36:06 2010 -0700"
      },
      "message": "ipv6: Replace inet6_ifaddr-\u003edead with state\n\nThis patch replaces the boolean dead flag on inet6_ifaddr with\na state enum.  This allows us to roll back changes when deleting\nan address according to whether DAD has completed or not.\n\nThis patch only adds the state field and does not change the logic.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eedf042a63ffef050ebc015de19b52dc065e830b",
      "tree": "fe8a31b4ca2e36de74ce8c6b4ee66ac66deac6da",
      "parents": [
        "820ae8a80eb59962aefbbd4908dfe144ec0f9edb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon May 17 22:27:12 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:27:12 2010 -0700"
      },
      "message": "ipv6: fix the bug of address check\n\nThe duplicate address check code got broken in the conversion\nto hlist (2.6.35).  The earlier patch did not fix the case where\ntwo addresses match same hash value. Use two exit paths,\nrather than depending on state of loop variables (from macro).\n\nBased on earlier fix by Shan Wei.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReviewed-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f70ecca9c57731b4acbe5043eb22e4416bd2368",
      "tree": "3b725168959ffd2b65152e27dbe3479f6e110dd3",
      "parents": [
        "52a60ed2da716105de5f906a3630c475264b87d5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 03 10:50:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 15:53:54 2010 -0700"
      },
      "message": "net: rcu fixes\n\nAdd hlist_for_each_entry_rcu_bh() and\nhlist_for_each_entry_continue_rcu_bh() macros, and use them in\nipv6_get_ifaddr(), if6_get_first() and if6_get_next() to fix lockdeps\nwarnings.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eae88f31ca2b88911ce843452054139e028771f",
      "tree": "90f50197d8e1e50e3621e9c525bd4ca2634fe368",
      "parents": [
        "cb903bf4ee2d6e53210e2174d363e10698112042"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 19:06:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 19:06:52 2010 -0700"
      },
      "message": "net: Fix various endianness glitches\n\nSparse can help us find endianness bugs, but we need to make some\ncleanups to be able to more easily spot real bugs.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8595805aafc8b077e01804c9a3668e9aa3510e89",
      "tree": "28079955dec368156072596ee77817ba0ef40da9",
      "parents": [
        "d1f84c63a465d6ba16955930519b7f68c550cae1"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 05:41:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:29:28 2010 -0700"
      },
      "message": "IPv6: only notify protocols if address is compeletely gone\n\nThe notifier for address down should only be called if address is completely\ngone, not just being marked as tentative on link transistion. The code\nin net-next would case bonding/sctp/s390 to see address disappear on link\ndown, but they would never see it reappear on link up.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1f84c63a465d6ba16955930519b7f68c550cae1",
      "tree": "adbe1e3b752f62e3f2e04b54ad82952bd0bd9e5d",
      "parents": [
        "27bdb2abcc5edb3526e25407b74bf17d1872c329"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 05:41:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:29:28 2010 -0700"
      },
      "message": "ipv6: additional ref count for hash list unnecessary\n\nSince an address in hash list has to already have a ref count,\nno additional ref count is needed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27bdb2abcc5edb3526e25407b74bf17d1872c329",
      "tree": "a25199ed5e17400b068980b179491f169292f4fe",
      "parents": [
        "93fa159abe50d3c55c7f83622d3f5c09b6e06f4b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 05:41:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:29:27 2010 -0700"
      },
      "message": "IPv6: keep tentative addresses in hash table\n\nWhen link goes down, want address to be preserved but in a tentative\nstate, therefore it has to stay in hash list.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93fa159abe50d3c55c7f83622d3f5c09b6e06f4b",
      "tree": "fdd522cb37ff6ac0cd4dd7a468b3f2b4abad3aa9",
      "parents": [
        "3941f1885bbf5b9f5e45cdd5a82efc794cc3823f"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 05:41:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:29:27 2010 -0700"
      },
      "message": "IPv6: keep route for tentative address\n\nRecent changes preserve IPv6 address when link goes down (good).\nBut would cause address to point to dead dst entry (bad).\nThe simplest fix is to just not delete route if address is\nbeing held for later use.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.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": "4a35ecf8bf1c4b039503fa554100fe85c761de76",
      "tree": "9b75f5d5636004d9a9aa496924377379be09aa1f",
      "parents": [
        "b4d562e3c3553ac58c7120555c4e4aefbb090a2a",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tdrivers/net/via-velocity.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "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": "4b97efdf392563bf03b4917a0b5add2df65de39a",
      "tree": "4add83ac917bb6d8319fc48c64529fd607721151",
      "parents": [
        "ac90a149361a331f697d5aa500bedcff22054669"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 26 20:27:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 26 20:27:49 2010 -0700"
      },
      "message": "net: fix netlink address dumping in IPv4/IPv6\n\nWhen a dump is interrupted at the last device in a hash chain and\nthen continued, \"idx\" won\u0027t get incremented past s_idx, so s_ip_idx\nis not reset when moving on to the next device. This means of all\nfollowing devices only the last n - s_ip_idx addresses are dumped.\n\nTested-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b79d1d54cf0672f764402fe4711ef5306f917bd3",
      "tree": "44fb00ef8ed3b3dab2d4b0c37aa78531c551c861",
      "parents": [
        "b54c9b98bbfb4836b1f7441c5a9db24affd3c2e9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 25 21:39:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 25 21:39:21 2010 -0700"
      },
      "message": "ipv6: Fix result generation in ipv6_get_ifaddr().\n\nFinishing naturally from hlist_for_each_entry(x, ...) does not result\nin \u0027x\u0027 being NULL.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b54c9b98bbfb4836b1f7441c5a9db24affd3c2e9",
      "tree": "fb8a994a46df0a0393fb31efe313577dac5ef2e0",
      "parents": [
        "df3345457a7a174dfb5872a070af80d456985038"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 25 21:25:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 25 21:25:30 2010 -0700"
      },
      "message": "ipv6: Preserve pervious behavior in ipv6_link_dev_addr().\n\nUse list_add_tail() to get the behavior we had before\nthe list_head conversion for ipv6 address lists.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e81c6da39a265e11ef48f52bd15bf7ca0068c75",
      "tree": "880e2887173a0ec9c744bf1848b4e28da3c23558",
      "parents": [
        "b2db756449f63f98049587f7ede4a8e85e0c79b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 16:18:00 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 16:18:00 2010 -0700"
      },
      "message": "ipv6: Fix bug in ipv6_chk_same_addr().\n\nhlist_for_each_entry(p...) will not necessarily initialize \u0027p\u0027\nto anything if the hlist is empty.  GCC notices this and emits\na warning.\n\nJust return true explicitly when we hit a match, and return\nfalse is we fall out of the loop without one.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2db756449f63f98049587f7ede4a8e85e0c79b1",
      "tree": "0d9087ccfcc3e7faa1e00fbf340f21d204f3ea15",
      "parents": [
        "88949cf484bfc399e1d662b5dda6892aaca21aae"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Mar 20 16:11:12 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 16:11:12 2010 -0700"
      },
      "message": "ipv6: Reduce timer events for addrconf_verify().\n\nThis patch reduces timer events while keeping accuracy by rounding\nour timer and/or batching several address validations in addrconf_verify().\n\naddrconf_verify() is called at earliest timeout among interface addresses\u0027\ntimeouts, but at maximum ADDR_CHECK_FREQUENCY (120 secs).\n\nIn most cases, all of timeouts of interface addresses are long enough\n(e.g. several hours or days vs 2 minutes), this timer is usually called\nevery ADDR_CHECK_FREQUENCY, and it is okay to be lazy.\n(Note this timer could be eliminated if all code paths which modifies\nvariables related to timeouts call us manually, but it is another story.)\n\nHowever, in other least but important cases, we try keeping accuracy.\n\nWhen the real interface address timeout is coming, and the timeout\nis just before the rounded timeout, we accept some error.\n\nWhen a timeout has been reached, we also try batching other several\nevents in very near future.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88949cf484bfc399e1d662b5dda6892aaca21aae",
      "tree": "564c3c208e9e01ac95d6b7b8a759a90d57cc6d03",
      "parents": [
        "e21e8467d3188a36f7f0af0d4b9aae74e23fda0e"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Mar 17 20:31:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 16:09:11 2010 -0700"
      },
      "message": "IPv6: addrconf cleanup addrconf_verify\n\nThe variable regen_advance is only used in the privacy case.\nMove it to simplify code and eliminate ifdef\u0027s\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e21e8467d3188a36f7f0af0d4b9aae74e23fda0e",
      "tree": "e830f3669d73a50ef1d96722b37f2f486bf14857",
      "parents": [
        "bcdd553fd3037d8700082ec4cbb6b25437ea06d6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sat Mar 20 16:09:01 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 16:09:01 2010 -0700"
      },
      "message": "addrconf: checkpatch fixes\n\nFix some of the checkpatch complaints.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcdd553fd3037d8700082ec4cbb6b25437ea06d6",
      "tree": "5bc05517261bc1890fc024bd83589849c5fdbded",
      "parents": [
        "502a2ffd7376ae27cfde6172257db0ff9d8cfec2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sat Mar 20 16:08:18 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 16:08:18 2010 -0700"
      },
      "message": "IPv6: addrconf cleanups\n\nSome minor stuff, reformat comments and add whitespace for clarity\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "502a2ffd7376ae27cfde6172257db0ff9d8cfec2",
      "tree": "de51fc19a9442f3edd344f56ff1887b25a5da6c9",
      "parents": [
        "3a88a81d89c20be312b3b219b185bbdde24b8fb8"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Mar 17 20:31:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 15:45:09 2010 -0700"
      },
      "message": "ipv6: convert idev_list to list macros\n\nConvert to list macro\u0027s for the list of addresses per interface\nin IPv6.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a88a81d89c20be312b3b219b185bbdde24b8fb8",
      "tree": "2610b2b8b47deb4e4d5db0968af21911306442b3",
      "parents": [
        "5c578aedcb21d79eeb4e9cf04ca5b276ac82614c"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Mar 17 20:31:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 15:44:35 2010 -0700"
      },
      "message": "ipv6: user better hash for addrconf\n\nThe existing hash function has a couple of issues:\n  * it is hardwired to 16 for IN6_ADDR_HSIZE\n  * limited to 256 and callers using int\n  * use jhash2 rather than some old BSD algorithm\n\nNo need for random seed since this is local only (based on assigned\naddresses) table.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c578aedcb21d79eeb4e9cf04ca5b276ac82614c",
      "tree": "e6d682d3072fda2ae3977beca2beb23d222b6911",
      "parents": [
        "c2e21293c054817c42eb5fa9c613d2ad51954136"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Mar 17 20:31:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 15:44:35 2010 -0700"
      },
      "message": "IPv6: convert addrconf hash list to RCU\n\nConvert from reader/writer lock to RCU and spinlock for addrconf\nhash list.\n\nAdds an additional helper macro for hlist_for_each_entry_continue_rcu\nto handle the continue case.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2e21293c054817c42eb5fa9c613d2ad51954136",
      "tree": "481f7de6d3e3a9a3d93af5654ec174ff5945dc2b",
      "parents": [
        "372e6c8f1f7b2bb68f9992d2e664925c73552a1d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Mar 17 20:31:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 15:44:34 2010 -0700"
      },
      "message": "ipv6: convert addrconf list to hlist\n\nUsing hash list macros, simplifies code and helps later RCU.\n\nThis patch includes some initialization that is not strictly necessary,\nsince an empty hlist node/list is all zero; and list is in BSS\nand node is allocated with kzalloc.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "372e6c8f1f7b2bb68f9992d2e664925c73552a1d",
      "tree": "8ae282cb00d43e6d04316f5dd1ac163788a7a4df",
      "parents": [
        "e77c8e83dd587f2616d7ff20d23a897891e6e20d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Mar 17 20:31:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 15:44:34 2010 -0700"
      },
      "message": "ipv6: convert temporary address list to list macros\n\nUse list macros instead of open coded linked list.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93d9b7d7a85cfb4e1711d5226eba73586dd4919f",
      "tree": "e821e36c2d2eb07cdc46df1d3b1ea23afaf970ca",
      "parents": [
        "1e94d72feab025b8f7c55d07020602f82f3a97dd"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Mar 10 10:28:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 18 20:00:01 2010 -0700"
      },
      "message": "net: rename notifier defines for netdev type change\n\nSince generally there could be more netdevices changing type other\nthan bonding, making this event type name \"bonding-unrelated\"\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2577a065832f2c6d108de2e027891bdb2d78924",
      "tree": "e7d2d4f8c853fad7a896da5d3b7f8b6202d9e8a1",
      "parents": [
        "3f07d1295191cfa41125e4e61ee2064790070071"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Mar 13 12:23:29 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 12:23:29 2010 -0800"
      },
      "message": "ipv6: Send netlink notification when DAD fails\n\nIf we are managing IPv6 addresses using DHCP, it would be nice\nfor user-space to be notified if an address configured through\nDHCP fails DAD.  Otherwise user-space would have to poll to see\nwhether DAD succeeds.\n\nThis patch uses the existing notification mechanism and simply\nhooks it into the DAD failure code path.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f37ada5b5f6bfb4d251a7f510f249cb855b77b3",
      "tree": "8f39575febf0319570798117f8738f5127084634",
      "parents": [
        "84e8b803f1e16f3a2b8b80f80a63fa2f2f8a9be6"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Mar 03 08:19:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 04 00:39:34 2010 -0800"
      },
      "message": "IPv6: fix race between cleanup and add/delete address\n\nThis solves a potential race problem during the cleanup process.\nThe issue is that addrconf_ifdown() needs to traverse address list,\nbut then drop lock to call the notifier. The version in -next\ncould get confused if add/delete happened during this window.\nOriginal code (2.6.32 and earlier) was okay because all addresses\nwere always deleted.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84e8b803f1e16f3a2b8b80f80a63fa2f2f8a9be6",
      "tree": "f7e5aec42f50c6e4751751cf422c7bf16bff69ce",
      "parents": [
        "5b2a19539c5f59c5a038d213ede723f0245d97cf"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Mar 02 13:32:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 04 00:39:33 2010 -0800"
      },
      "message": "IPv6: addrconf notify when address is unavailable\n\nMy recent change in net-next to retain permanent addresses caused regression.\nDevice refcount would not go to zero when device was unregistered because\nleft over anycast reference would hold ipv6 dev reference which would hold\ndevice references...\n\nThe correct procedure is to call notify chain when address is no longer\navailable for use.  When interface comes back DAD timer will notify\nback that address is available.\n\nAlso, link local addresses should be purged when interface is brought\ndown. The address might be changed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b2a19539c5f59c5a038d213ede723f0245d97cf",
      "tree": "254bd6d2a4e574337c821c00a7ba10d024e52439",
      "parents": [
        "122e4519cd5c224d4b8e681d368132b643e28f60"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Mar 02 13:32:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 04 00:39:33 2010 -0800"
      },
      "message": "IPv6: addrconf timer race\n\nThe Router Solicitation timer races with device state changes\nbecause it doesn\u0027t lock the device. Use local variable to avoid\none repeated dereference.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "122e4519cd5c224d4b8e681d368132b643e28f60",
      "tree": "1fe589902069d711663b027ba0a631971254b22e",
      "parents": [
        "e5c1a0aa00ce94ab0cd669bb290c3ae4657242a3"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Mar 02 13:32:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 04 00:39:32 2010 -0800"
      },
      "message": "IPv6: addrconf dad timer unnecessary bh_disable\n\nTimer code runs in bottom half, so there is no need for\nusing _bh form of locking.  Also check if device is not ready\nto avoid race with address that is no longer active.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45bb00609022ecf1d97e083666c68c74d237b799",
      "tree": "9d8d632a9c2671ab9487ed1d73b8dc45de48b90b",
      "parents": [
        "1d9cfc4e354cd619d92bb938657dec3c533e6929"
      ],
      "author": {
        "name": "Ulrich Weber",
        "email": "uweber@astaro.com",
        "time": "Thu Feb 25 23:28:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 26 03:59:07 2010 -0800"
      },
      "message": "ipv6: Remove IPV6_ADDR_RESERVED\n\nRFC 4291 section 2.4 states that all uncategorized addresses\nshould be considered as Global Unicast.\n\nThis will remove IPV6_ADDR_RESERVED completely\nand return IPV6_ADDR_UNICAST in ipv6_addr_type() instead.\n\nSigned-off-by: Ulrich Weber \u003cuweber@astaro.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04488734806948624dabc4514f96f14cd75b9a50",
      "tree": "74f3a3c10a7177a5f86398b83ad7bf0569fe8b89",
      "parents": [
        "54831a83bfe656c4c54e287c734c6b0ccaa3719b",
        "c4d49794ff2838038fd9756eae39c39a5a685833"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 25 23:22:42 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 25 23:22:42 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "88af182e389097997c5e2a0b42285b3522796759",
      "tree": "b2df5a8589aaee30073665da46523a3908e8870a",
      "parents": [
        "b0483e78e5c4c9871fc5541875b3bc006846d46b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 19 13:22:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 19 15:40:50 2010 -0800"
      },
      "message": "net: Fix sysctl restarts...\n\nYuck.  It turns out that when we restart sysctls we were restarting\nwith the values already changed.  Which unfortunately meant that\nthe second time through we thought there was no change and skipped\nall kinds of work, despite the fact that there was indeed a change.\n\nI have fixed this the simplest way possible by restoring the changed\nvalues when we restart the sysctl write.\n\nOne of my coworkers spotted this bug when after disabling forwarding\non an interface pings were still forwarded.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d720c3e4f0c4fc152a6bf17e24244a3c85412d2",
      "tree": "36e037187ce79acb211702bea22e99c625787757",
      "parents": [
        "2bb4646fce8d09916b351d1a62f98db7cec6fc41"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 16 15:20:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 23:05:38 2010 -0800"
      },
      "message": "percpu: add __percpu sparse annotations to net\n\nAdd __percpu sparse annotations to net.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nThe macro and type tricks around snmp stats make things a bit\ninteresting.  DEFINE/DECLARE_SNMP_STAT() macros mark the target field\nas __percpu and SNMP_UPD_PO_STATS() macro is updated accordingly.  All\nsnmp_mib_*() users which used to cast the argument to (void **) are\nupdated to cast it to (void __percpu **).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54716e3beb0ab20c49471348dfe399a71bfc8fd3",
      "tree": "216e2b70e58032217082da224c397db46c13429c",
      "parents": [
        "02291680ffba92e5b5865bc0c5e7d1f3056b80ec"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Feb 14 03:27:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 15:55:18 2010 -0800"
      },
      "message": "net neigh: Decouple per interface neighbour table controls from binary sysctls\n\nStop computing the number of neighbour table settings we have by\ncounting the number of binary sysctls.  This behaviour was silly\nand meant that we could not add another neighbour table setting\nwithout also adding another binary sysctl.\n\nDon\u0027t pass the binary sysctl path for neighour table entries\ninto neigh_sysctl_register.  These parameters are no longer\nused and so are just dead code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21809fafa042fcfff3f788419bed99f3c289745c",
      "tree": "9f9647427cd85e69e9afac0813777a8e8db8399e",
      "parents": [
        "dc2b99f71ef477a31020511876ab4403fb7c4420"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Feb 08 19:48:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 12 12:28:01 2010 -0800"
      },
      "message": "IPv6: remove trivial nested _bh suffix\n\nDon\u0027t need to disable bottom half it is already down in the\nprevious lock. Move some blank lines to group locking in same\ncontext.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc2b99f71ef477a31020511876ab4403fb7c4420",
      "tree": "cb30c11a7eb13d2ad004ee168135282aac434791",
      "parents": [
        "c0ad98453f23b98f73a1f1be2a75303a6c0dee4c"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Feb 08 19:48:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 12 12:28:01 2010 -0800"
      },
      "message": "IPv6: keep permanent addresses on admin down\n\nPermanent IPV6 addresses should not be removed when the link is\nset to admin down, only when device is removed.\n\nWhen link is lost permanent addresses should be marked as tentative\nso that when link comes back they are subject to duplicate address\ndetection (if DAD was enabled for that address).\n\nOther routing systems keep manually configured IPv6 addresses\nwhen link is set down.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.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": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "09ad9bc752519cc167d0a573e1acf69b5c707c67",
      "tree": "0e190a9ffb90d7e0534136c3e9f31dce02f423c3",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "message": "net: use net_eq to compare nets\n\nGenerated with the following semantic patch\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 \u003d\u003d n2\n+ net_eq(n1, n2)\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 !\u003d n2\n+ !net_eq(n1, n2)\n\napplied over {include,net,drivers/net}.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "234b27c3fd58fc0e15c04dd0fbf4337fac9c2a06",
      "tree": "b7cc69200bee85872e2b8bf7fa93d2c8b519de2e",
      "parents": [
        "5256f2ef3a40d784b8369035bff3f4dc637a9801"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 12 04:11:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:46:57 2009 -0800"
      },
      "message": "ipv6: speedup inet6_dump_addr()\n\nWhen handling large number of netdevices, inet6_dump_addr()\nis very slow because it has O(N^2) complexity.\n\nInstead of scanning one single list, we can use the NETDEV_HASHENTRIES\nsub lists of the dev_index hash table, and RCU lookups.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8572d8f2a2ba75408b97dc24ef47c83671795d7",
      "tree": "052506a457939fea00d138d3a982d778df34e14c",
      "parents": [
        "86b1bc68e2f4244e4ea5db5458df9d19259fbb30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 05 13:32:03 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 12 02:05:06 2009 -0800"
      },
      "message": "sysctl net: Remove unused binary sysctl code\n\nNow that sys_sysctl is a compatiblity wrapper around /proc/sys\nall sysctl strategy routines, and all ctl_name and strategy\nentries in the sysctl tables are unused, and can be\nrevmoed.\n\nIn addition neigh_sysctl_register has been modified to no longer\ntake a strategy argument and it\u0027s callers have been modified not\nto pass one.\n\nCc: \"David Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "434a8a58d75faa7170807a7ac2fcf7f3d85a0dc3",
      "tree": "68af2ec95629ca48e8a4f2fd995ce70fa98475e4",
      "parents": [
        "ddd21046e7b5e112b5a4722b7e071ae9d4c96a2b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 11 18:53:00 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 11 18:53:00 2009 -0800"
      },
      "message": "ipv6: Remove unused var in inet6_dump_ifinfo()\n\nReported by Stephen Rothwell:\n\n--------------------\nToday\u0027s linux-next build (x86_64 allmodconfig) produced this warning:\n\nnet/ipv6/addrconf.c: In function \u0027inet6_dump_ifinfo\u0027:\nnet/ipv6/addrconf.c:3833: warning: unused variable \u0027err\u0027\n\nIntroduced by commit 84d2697d9649339215675551eae28ba04068dea1 (\"ipv6:\nspeedup inet6_dump_ifinfo()\").\n--------------------\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcd323262a94b14b84341982b90443a76a477861",
      "tree": "9e7b7bb19cbb19f93ae052af328706f5228123e5",
      "parents": [
        "84d2697d9649339215675551eae28ba04068dea1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 09 07:40:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 20:54:42 2009 -0800"
      },
      "message": "ipv6: Allow inet6_dump_addr() to handle more than 64 addresses\n\nApparently, inet6_dump_addr() is not able to handle more than\n64 ipv6 addresses per device. We must break from inner loops\nin case skb is full, or else cursor is put at the end of list.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84d2697d9649339215675551eae28ba04068dea1",
      "tree": "d24fb9fb7b02c6fe28fe01c248de3c4caaadc2c0",
      "parents": [
        "13cfa97bef0f1172879f98307ac716acf3e9cea9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 09 12:11:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 20:54:41 2009 -0800"
      },
      "message": "ipv6: speedup inet6_dump_ifinfo()\n\nWhen handling large number of netdevice, inet6_dump_ifinfo()\nis very slow because it has O(N^2) complexity.\n\nInstead of scanning one single list, we can use the 256 sub lists\nof the dev_index hash table, and RCU lookups.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6d14c84566d6b70ad9dc1618db0dec87cca9300",
      "tree": "5ec75245cfda4d61e6b4506b6217f047ff4af01a",
      "parents": [
        "d0075634cf9d288988f57392a1f132d2053af961"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 05:43:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 05:43:23 2009 -0800"
      },
      "message": "net: Introduce for_each_netdev_rcu() iterator\n\nAdds RCU management to the list of netdevices.\n\nConvert some for_each_netdev() users to RCU version, if\nit can avoid read_lock-ing dev_base_lock\n\nIe:\n\tread_lock(\u0026dev_base_loack);\n\tfor_each_netdev(net, dev)\n\t\tsome_action();\n\tread_unlock(\u0026dev_base_lock);\n\nbecomes :\n\n\trcu_read_lock();\n\tfor_each_netdev_rcu(net, dev)\n\t\tsome_action();\n\trcu_read_unlock();\n\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3faca053d0a9c877597935b434150b422dbc6fb",
      "tree": "b80f8410493f8d0438729e2eeccaf6e330edea10",
      "parents": [
        "38fc0026da255aa328c3730a1c4d28b4e11e6a2b"
      ],
      "author": {
        "name": "Cosmin Ratiu",
        "email": "cratiu@ixiacom.com",
        "time": "Fri Oct 09 03:11:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 03:44:02 2009 -0700"
      },
      "message": "ipv6: fix devconf after adding force_tllao option\n\nSigned-off-by: Cosmin Ratiu \u003ccratiu@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50",
      "tree": "d2e5ab4c87f54982e3fd2898d37b2a5f8624c444",
      "parents": [
        "51953d5bc43e468f24cc573a45cde1d32af129b8"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Fri Oct 02 11:39:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:45 2009 -0700"
      },
      "message": "make TLLAO option for NA packets configurable\n\nOn Friday 02 October 2009 20:53:51 you wrote:\n\n\u003e This is good although I would have shortened the name.\n\nAh, I knew I forgot something :) Here is v4.\n\ntavi\n\n\u003eFrom 24d96d825b9fa832b22878cc6c990d5711968734 Mon Sep 17 00:00:00 2001\nFrom: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nDate: Fri, 2 Oct 2009 00:51:15 +0300\nSubject: [PATCH] ipv6: new sysctl for sending TLLAO with unicast NAs\n\nNeighbor advertisements responding to unicast neighbor solicitations\ndid not include the target link-layer address option. This patch adds\na new sysctl option (disabled by default) which controls whether this\noption should be sent even with unicast NAs.\n\nThe need for this arose because certain routers expect the TLLAO in\nsome situations even as a response to unicast NS packets.\n\nMoreover, RFC 2461 recommends sending this to avoid a race condition\n(section 4.4, Target link-layer address)\n\nSigned-off-by: Cosmin Ratiu \u003ccratiu@ixiacom.com\u003e\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0522fea6505f7b03a82787acdc6ad3066d9b4de3",
      "tree": "fce2b1147c2b3c1d3b11c6070575c30aafd40287",
      "parents": [
        "3264690b04ce4edc517fa5d31fa72496f71a7321"
      ],
      "author": {
        "name": "Jens Rosenboom",
        "email": "me@jayr.de",
        "time": "Thu Sep 17 10:24:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 17 10:24:24 2009 -0700"
      },
      "message": "ipv6: Log the affected address when DAD failure occurs\n\nIf an interface has multiple addresses, the current message for DAD\nfailure isn\u0027t really helpful, so this patch adds the address itself to\nthe printk.\n\nSigned-off-by: Jens Rosenboom \u003cme@jayr.de\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": "cc411d0bae9c19ec85a150aeab4b08335f5751d1",
      "tree": "c42430cdb955c158d69fd9fef053c01130f8eb07",
      "parents": [
        "384912ed194e43c03ad1cdaa09b0b1e488c34d46"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Wed Sep 09 14:41:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:58 2009 -0700"
      },
      "message": "ipv6: Add IFA_F_DADFAILED flag\n\nAdd IFA_F_DADFAILED flag to denote an IPv6 address that has\nfailed Duplicate Address Detection, that way tools like\n/sbin/ip can be more informative.\n\n3: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:db8::1/64 scope global tentative dadfailed\n       valid_lft forever preferred_lft forever\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1ed05263b74921742b454ef52c30b609ec6940f",
      "tree": "36fcbc8e1907f6f75241c405da22b311e5cad4f8",
      "parents": [
        "59cae0092e4da753b5a2adb32933e0d1b223bcc5"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Thu Jul 02 07:10:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 03 19:10:13 2009 -0700"
      },
      "message": "IPv6: preferred lifetime of address not getting updated\n\nThere\u0027s a bug in addrconf_prefix_rcv() where it won\u0027t update the\npreferred lifetime of an IPv6 address if the current valid lifetime\nof the address is less than 2 hours (the minimum value in the RA).\n\nFor example, If I send a router advertisement with a prefix that\nhas valid lifetime \u003d preferred lifetime \u003d 2 hours we\u0027ll build\nthis address:\n\n3: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic\n       valid_lft 7175sec preferred_lft 7175sec\n\nIf I then send the same prefix with valid lifetime \u003d preferred\nlifetime \u003d 0 it will be ignored since the minimum valid lifetime\nis 2 hours:\n\n3: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic\n       valid_lft 7161sec preferred_lft 7161sec\n\nBut according to RFC 4862 we should always reset the preferred lifetime\neven if the valid lifetime is invalid, which would cause the address\nto immediately get deprecated.  So with this patch we\u0027d see this:\n\n5: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:1890:1109:a20:21f:29ff:fe5a:ef04/64 scope global deprecated dynamic\n       valid_lft 7163sec preferred_lft 0sec\n\nThe comment winds-up being 5x the size of the code to fix the problem.\n\nUpdate the preferred lifetime of IPv6 addresses derived from a prefix\ninfo option in a router advertisement even if the valid lifetime in\nthe option is invalid, as specified in RFC 4862 Section 5.5.3e.  Fixes\nan issue where an address will not immediately become deprecated.\nReported by Jens Rosenboom.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1faa69810b2af562b70b2a71c116c7d03575dd3",
      "tree": "074a4b79742f1749eafc5e539f3241e5d57d8236",
      "parents": [
        "1ac530b3553e0b4dc1e18a32bed57cfa84cd57cb"
      ],
      "author": {
        "name": "Jens Rosenboom",
        "email": "me@jayr.de",
        "time": "Thu Jun 25 04:55:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 25 20:03:50 2009 -0700"
      },
      "message": "ipv6: avoid wraparound for expired preferred lifetime\n\nAvoid showing wrong high values when the preferred lifetime of an address\nis expired.\n\nSigned-off-by: Jens Rosenboom \u003cme@jayr.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb",
      "tree": "8d104ec2a459346b99413b0b77421ca7b9936c1a",
      "parents": [
        "ca44d6e60f9de26281fda203f58b570e1748c015",
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 15 03:02:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 15 03:02:23 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/scsi/fcoe/fcoe.c\n\tnet/core/drop_monitor.c\n\tnet/core/net-traces.c\n"
    },
    {
      "commit": "590a9887a23b60d9c6ff5a82da757371037edbd4",
      "tree": "e099c93d7046f2d4b7477bdfc607b974510ea999",
      "parents": [
        "6e2216895421b4f83d2ebac15c9d9506dc105cff"
      ],
      "author": {
        "name": "Masatake YAMATO",
        "email": "yamato@redhat.com",
        "time": "Tue Jun 09 10:41:12 2009 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 18:01:51 2009 +0200"
      },
      "message": "trivial: Fix a typo in comment of addrconf_dad_start()\n\nSigned-off-by: Masatake YAMATO \u003cyamato@redhat.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "56d417b12e57dfe11c9b7ba4bea3882c62a55815",
      "tree": "5f7d6fedc4370333898ef7790711e0a9c73e323d",
      "parents": [
        "0220ff7fc35913dcd8cdf8fb3a0966caf4aed2f3"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Mon Jun 01 03:07:33 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 01 03:07:33 2009 -0700"
      },
      "message": "IPv6: Add \u0027autoconf\u0027 and \u0027disable_ipv6\u0027 module parameters\n\nAdd \u0027autoconf\u0027 and \u0027disable_ipv6\u0027 parameters to the IPv6 module.\n\nThe first controls if IPv6 addresses are autoconfigured from\nprefixes received in Router Advertisements.  The IPv6 loopback\n(::1) and link-local addresses are still configured.\n\nThe second controls if IPv6 addresses are desired at all.  No\nIPv6 addresses will be added to any interfaces.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9af28511be10e175eb0cabb2ba5cfafe77408d84",
      "tree": "82ba3e85243a0eeb754cf549e628656ac25d9da6",
      "parents": [
        "4b2796017487f3c1e423b8e1ada6c94c0a8ea815"
      ],
      "author": {
        "name": "Sascha Hlusiak",
        "email": "contact@saschahlusiak.de",
        "time": "Tue May 19 12:56:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 19 16:02:02 2009 -0700"
      },
      "message": "addrconf: refuse isatap eui64 for INADDR_ANY\n\nA tunnel with no local ipv4 endpoint would otherwise use the\nISATAP linklocal address fe80::5efe:0:0, which is invalid. Rather not\nadd a linklocal address at all.\n\nSigned-off-by: Sascha Hlusiak \u003ccontact@saschahlusiak.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5007392d8512e666107dc356d4c2e05627b9029b",
      "tree": "95f89bd01bca414a6bd40ea46fd6065bebe6b135",
      "parents": [
        "336ca57c3b4e2b58ea3273e6d978ab3dfa387b4c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed May 13 16:58:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 22:15:58 2009 -0700"
      },
      "message": "net: FIX ipv6_forward sysctl restart\n\nJust returning -ERESTARTSYS without a signal pending is not\ngood that will just leak it to userspace.  We need return\n-ERESTARTNOINTR so we always restart and set signal pending\nso that we fall of the fast path of syscall return and setup\nthe system call restart.\n\nSo use restart_syscall() which does all of this for us.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2f5e7cd3dee2ed721bf0675e1a1ddebb849aee6",
      "tree": "a7b48c260a3cb0050ad6198c6a50b52b318dfcb8",
      "parents": [
        "63d9950b08184e6531adceb65f64b429909cc101"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Mar 24 16:24:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 24 19:49:11 2009 -0700"
      },
      "message": "ipv6: Fix conflict resolutions during ipv6 binding\n\nThe ipv6 version of bind_conflict code calls ipv6_rcv_saddr_equal()\nwhich at times wrongly identified intersections between addresses.\nIt particularly broke down under a few instances and caused erroneous\nbind conflicts.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0bffffc148cd8e75a48a89ad2ddb74e4081a20a",
      "tree": "3a4d350d65d88bb1df8906b4822af2350ceb1cfc",
      "parents": [
        "a3ac80a130300573de351083cf4a5b46d233e8bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Mar 21 13:36:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 21 13:36:17 2009 -0700"
      },
      "message": "net/*: use linux/kernel.h swap()\n\ntcp_sack_swap seems unnecessary so I pushed swap to the caller.\nAlso removed comment that seemed then pointless, and added include\nwhen not already there. Compile tested.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9bdd8d40c8c59435664af6049dabe24b7779b203",
      "tree": "9487117b9c98bcab3b0884fffa10dfbb0b01292a",
      "parents": [
        "cedc1dba74f481a632c5d5aedad0068d6ad945d8"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Wed Mar 18 18:22:48 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 18:22:48 2009 -0700"
      },
      "message": "ipv6: Fix incorrect disable_ipv6 behavior\n\nFix the behavior of allowing both sysctl and addrconf_dad_failure()\nto set the disable_ipv6 parameter without any bad side-effects.\nIf DAD fails and accept_dad \u003e 1, we will still set disable_ipv6\u003d1,\nbut then instead of allowing an RA to add an address then\nimmediately fail DAD, we simply don\u0027t allow the address to be\nadded in the first place.  This also lets the user set this flag\nand disable all IPv6 addresses on the interface, or on the entire\nsystem.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "508827ff0ac3981d420edac64a70de7f4e304d38",
      "tree": "b0cee8ddef9f0ceab68c388e4ae46b7295eb2cb5",
      "parents": [
        "2c3c3d02f28801d7ad2da4952b2c7ca6621ef221",
        "72e2240f181871675d3a979766330c91d48a1673"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/tokenring/tmspci.c\n\tdrivers/net/ucc_geth_mii.c\n"
    },
    {
      "commit": "176c39af29bc4edaf37f663553eeaacd47b5bc9c",
      "tree": "03395c5761d2ed623f5705493eaa5deef416959d",
      "parents": [
        "b325fddb7f869e6c95a88dc6573220f162e5b89f"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Mar 03 01:06:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 03 01:06:45 2009 -0800"
      },
      "message": "netns: fix addrconf_ifdown kernel panic\n\nWhen a network namespace is destroyed the network interfaces are\nall unregistered, making addrconf_ifdown called by the netdevice\nnotifier. \nIn the other hand, the addrconf exit method does a loop on the network\ndevices and does addrconf_ifdown on each of them. But the ordering of \nthe netns subsystem is not right because it uses the register_pernet_device\ninstead of register_pernet_subsys. If we handle the loopback as\nany network device, we can safely use register_pernet_subsys.\n\nBut if we use register_pernet_subsys, the addrconf exit method will do\nexactly what was already done with the unregistering of the network\ndevices. So in definitive, this code is pointless.\n\nI removed the netns addrconf exit method and moved the code to the\naddrconf cleanup function.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b325fddb7f869e6c95a88dc6573220f162e5b89f",
      "tree": "ebbde90999700f15e2196edd76351519a2a484b2",
      "parents": [
        "5a5990d3090b03745a9548a6f5edef02095675cf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Feb 26 06:55:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 03 00:47:47 2009 -0800"
      },
      "message": "ipv6: Fix sysctl unregistration deadlock\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce85fe402137824246bad03ff85f3913d565c17",
      "tree": "3a54c150e9616709a8f65270cd1f4aeecac4d48e",
      "parents": [
        "4fb0a54a55d34c28dc53c39567ce171166572699"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "message": "netlink: change nlmsg_notify() return value logic\n\nThis patch changes the return value of nlmsg_notify() as follows:\n\nIf NETLINK_BROADCAST_ERROR is set by any of the listeners and\nan error in the delivery happened, return the broadcast error;\nelse if there are no listeners apart from the socket that\nrequested a change with the echo flag, return the result of the\nunicast notification. Thus, with this patch, the unicast\nnotification is handled in the same way of a broadcast listener\nthat has set the NETLINK_BROADCAST_ERROR socket flag.\n\nThis patch is useful in case that the caller of nlmsg_notify()\nwants to know the result of the delivery of a netlink notification\n(including the broadcast delivery) and take any action in case\nthat the delivery failed. For example, ctnetlink can drop packets\nif the event delivery failed to provide reliable logging and\nstate-synchronization at the cost of dropping packets.\n\nThis patch also modifies the rtnetlink code to ignore the return\nvalue of rtnl_notify() in all callers. The function rtnl_notify()\n(before this patch) returned the error of the unicast notification\nwhich makes rtnl_set_sk_err() reports errors to all listeners. This\nis not of any help since the origin of the change (the socket that\nrequested the echoing) notices the ENOBUFS error if the notification\nfails and should resync itself.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5f348e5a41b39543c1c5efd661d7fd296dd5281",
      "tree": "b089d169aa873204d3945d2d6f4d395cfce08f49",
      "parents": [
        "d73f08011bc30c03a2bcb1ccd880e4be84aea269"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Feb 06 23:48:01 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 06 23:48:01 2009 -0800"
      },
      "message": "ipv6/addrconf: common code located\n\n$ codiff net/ipv6/addrconf.o net/ipv6/addrconf.o.new\nnet/ipv6/addrconf.c:\n addrconf_notify | -267\n1 function changed, 267 bytes removed\n\nnet/ipv6/addrconf.c:\n add_addr |  +86\n1 function changed, 86 bytes added\n\nnet/ipv6/addrconf.o.new:\n2 functions changed, 86 bytes added, 267 bytes removed, diff: -181\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4e6db07984529847c6ad8bc616485e721dcb809",
      "tree": "24f5367b42ce03d8feccb24925bffe6eb09bca4a",
      "parents": [
        "1d6e55f195128813f96458203a9fa14204f9251e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 27 22:41:03 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 27 22:41:03 2009 -0800"
      },
      "message": "ipv6: Make mc_forwarding sysctl read-only.\n\nThe kernel manages this value internally, as necessary, as\nVIFs are added/removed and as multicast routers are registered\nand deregistered.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5bc3eb7e2f0026f246d939851109df99e8e9f64a",
      "tree": "6da63169e066a07db21cc5268ac97ceb4c366c1c",
      "parents": [
        "54a30c975b6b27c0c9268461b647576b146d39bb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:52:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:41 2008 -0800"
      },
      "message": "ip: convert to net_device_ops for ioctl\n\nConvert to net_device_ops function table pointer for ioctl.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9eeda9abd1faf489f3df9a1f557975f4c8650363",
      "tree": "3e0a58e25b776cfbee193195460324dccb1886c7",
      "parents": [
        "61c9eaf90081cbe6dc4f389e0056bff76eca19ec",
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath5k/base.c\n\tnet/8021q/vlan_core.c\n"
    },
    {
      "commit": "e3ec6cfc260e2322834e200c2fa349cdf104fd13",
      "tree": "997cfb56b22da747ff2e78acbb54e0bb694abee5",
      "parents": [
        "b22cecdd8fa4667ebab02def0866387e709927ee"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Nov 05 01:43:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 05 01:43:57 2008 -0800"
      },
      "message": "ipv6: fix run pending DAD when interface becomes ready\n\nWith some net devices types, an IPv6 address configured while the\ninterface was down can stay \u0027tentative\u0027 forever, even after the interface\nis set up. In some case, pending IPv6 DADs are not executed when the\ndevice becomes ready.\n\nI observed this while doing some tests with kvm. If I assign an IPv6 \naddress to my interface eth0 (kvm driver rtl8139) when it is still down\nthen the address is flagged tentative (IFA_F_TENTATIVE). Then, I set\neth0 up, and to my surprise, the address stays \u0027tentative\u0027, no DAD is\nexecuted and the address can\u0027t be pinged.\n\nI also observed the same behaviour, without kvm, with virtual interfaces\ntypes macvlan and veth.\n\nSome easy steps to reproduce the issue with macvlan:\n\n1. ip link add link eth0 type macvlan\n2. ip -6 addr add 2003::ab32/64 dev macvlan0\n3. ip addr show dev macvlan0\n   ... \n   inet6 2003::ab32/64 scope global tentative\n   ...\n4. ip link set macvlan0 up\n5. ip addr show dev macvlan0\n   ...\n   inet6 2003::ab32/64 scope global tentative\n   ...\n   Address is still tentative\n\nI think there\u0027s a bug in net/ipv6/addrconf.c, addrconf_notify():\naddrconf_dad_run() is not always run when the interface is flagged IF_READY.\nCurrently it is only run when receiving NETDEV_CHANGE event. Looks like\nsome (virtual) devices doesn\u0027t send this event when becoming up.\n\nFor both NETDEV_UP and NETDEV_CHANGE events, when the interface becomes\nready, run_pending should be set to 1. Patch below.\n\n\u0027run_pending \u003d 1\u0027 could be moved below the if/else block but it makes \nthe code less readable.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d9f239a1edb31d6133230f478fd1dc2da338ec5",
      "tree": "305fa0da95a49db4e342f3f3042f8be0968b03ce",
      "parents": [
        "6cf3f41e6c08bca6641a695449791c38a25f35ff"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 03 18:21:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 18:21:05 2008 -0800"
      },
      "message": "net: \u0027\u0026\u0027 redux\n\nI want to compile out proc_* and sysctl_* handlers totally and\nstub them to NULL depending on config options, however usage of \u0026\nwill prevent this, since taking adress of NULL pointer will break\ncompilation.\n\nSo, drop \u0026 in front of every -\u003eproc_handler and every -\u003estrategy\nhandler, it was never needed in fact.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c",
      "tree": "946d6cef596756a95afe0cea51f5c3c9be4c3353",
      "parents": [
        "4aa996066ffc0dba24036c961ee38dfdfbfc061c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:50:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:50:24 2008 -0700"
      },
      "message": "net: replace %#p6 format specifier with %pi6\n\ngcc warns when using the # modifier with the %p format specifier,\nso we can\u0027t use this to omit the colons when needed, introduces\n%pi6 instead.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b071195deba14b37ce896c26f20349b46e5f9fd2",
      "tree": "5f32ddc71be0a282765349301ea9173b413cdc39",
      "parents": [
        "689afa7da106032a3e859ae35494f80dd6eac640"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:05:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 16:05:40 2008 -0700"
      },
      "message": "net: replace all current users of NIP6_SEQFMT with %#p6\n\nThe define in kernel.h can be done away with at a later time.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f221e726bf4e082a05dcd573379ac859bfba7126",
      "tree": "a05f674caac693dc9aec7e46dd06115389f7ece3",
      "parents": [
        "f40cbaa5b0a4719489e6e7947351c99a159aca30"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 15 22:04:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:47 2008 -0700"
      },
      "message": "sysctl: simplify -\u003estrategy\n\nname and nlen parameters passed to -\u003estrategy hook are unused, remove\nthem.  In general -\u003estrategy hook should know what it\u0027s doing, and don\u0027t\ndo something tricky for which, say, pointer to original userspace array\nmay be needed (name).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e [ networking bits ]\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f410a1fba7afa79d2992620e874a343fdba28332",
      "tree": "5e08d30678cfadd65a8dfe20bc12160a23faa43d",
      "parents": [
        "fdc0bde90a689b9145f2b6f271c03f4c99d09667"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sat Aug 23 05:16:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 23 05:16:46 2008 -0700"
      },
      "message": "ipv6: protocol for address routes\n\nThis fixes a problem spotted with zebra, but not sure if it is\nnecessary a kernel problem.  With IPV6 when an address is added to an\ninterface, Zebra creates a duplicate RIB entry, one as a connected\nroute, and other as a kernel route.\n\nWhen an address is added to an interface the RTN_NEWADDR message\ncauses Zebra to create a connected route. In IPV4 when an address is\nadded to an interface a RTN_NEWROUTE message is set to user space with\nthe protocol RTPROT_KERNEL. Zebra ignores these messages, because it\nalready has the connected route.\n\nThe problem is that route created in IPV6 has route protocol \u003d\u003d\nRTPROT_BOOT.  Was this a design decision or a bug? This fixes it. Same\npatch applies to both net-2.6 and stable.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "191cd582500f49b32a63040fedeebb0168c720af",
      "tree": "173ce9682d77798c6e4ca7e14af57ea2f46c55b8",
      "parents": [
        "0eb8b1fe9238ca4c1797e4c105d5790abda1726f"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Thu Aug 14 15:33:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 14 15:33:21 2008 -0700"
      },
      "message": "netns: Add network namespace argument to rt6_fill_node() and ipv6_dev_get_saddr()\n\nipv6_dev_get_saddr() blindly de-references dst_dev to get the network\nnamespace, but some callers might pass NULL.  Change callers to pass a\nnamespace pointer instead.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "888c848ed34bd5f8cb56567624c0d951ab35174e",
      "tree": "b63a960b5fbdc8bebab6ed1d84212a95a19c0bc2",
      "parents": [
        "4d6971e909e904be60218739fc961188471fc4f4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:21:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:21:58 2008 -0700"
      },
      "message": "ipv6: make struct ipv6_devconf static\n\nstruct ipv6_devconf can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "702beb87d6b4e08cca394b210679e5d7c2ac9383",
      "tree": "8bd3c2ae958e42dbc525a0ab3575148472dc28fe",
      "parents": [
        "d1671a9c15f55a1475d41269494518e348880c33"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 18:17:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:18:26 2008 -0700"
      },
      "message": "ipv6: Fix warning in addrconf code.\n\nReported by Linus.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53b7997fd5c62408d10b9aafb38974ce90fd2356",
      "tree": "bc23e6ec248a6d999cdc779abdfdc843c5640197",
      "parents": [
        "721499e8931c5732202481ae24f2dfbf9910f129"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:35:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:35:03 2008 -0700"
      },
      "message": "ipv6 netns: Make several \"global\" sysctl variables namespace aware.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "052979499c767268b912d25031ae524c451679d0",
      "tree": "0873da6b42fb8a8b7cdcd033fced0f50731fd824",
      "parents": [
        "6fa9864b53f0680e432a2c431c2cf2055daa3a88"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:01:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:01:27 2008 -0700"
      },
      "message": "pkt_sched: Add qdisc_tx_is_noop() helper and use in IPV6.\n\nThis indicates if the NOOP scheduler is what is active for TX on a\ngiven device.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e1e6462df3c5944010b3328a546d8fe5d932cd",
      "tree": "37e3f86d09d8b37deb06cf1c142baeb8246bbf97",
      "parents": [
        "555353cfa1aee293de445bfa6de43276138ddd82"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:42:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:42:10 2008 -0700"
      },
      "message": "netdev: Move rest of qdisc state into struct netdev_queue\n\nNow qdisc, qdisc_sleeping, and qdisc_list also live there.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c3ceb4a409e2b838700edf081d61a8a4c921e79",
      "tree": "4dbf54cc23d2796b278e22fc6f5460b9b451c956",
      "parents": [
        "54dceb008ffcbe003bea9017cad1227a83b6fc3f",
        "b2238566401f01eb796e75750213c7b0fce396b2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 16:30:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 16:30:17 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/iwlwifi/iwl-3945.c\n\tnet/mac80211/mlme.c\n"
    },
    {
      "commit": "b2238566401f01eb796e75750213c7b0fce396b2",
      "tree": "01135bc75b5a212fe13e98ddc7721e9aae6584f0",
      "parents": [
        "07035fc1bbf931a06e47583cddd2cea2907ac0db"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@parallels.com",
        "time": "Tue Jul 08 15:13:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 15:13:31 2008 -0700"
      },
      "message": "ipv6: fix race between ipv6_del_addr and DAD timer\n\nConsider the following scenario:\n\nipv6_del_addr(ifp)\n  ipv6_ifa_notify(RTM_DELADDR, ifp)\n    ip6_del_rt(ifp-\u003ert)\n\nafter returning from the ipv6_ifa_notify and enabling BH-s\nback, but *before* calling the addrconf_del_timer the \nifp-\u003etimer fires and:\n\naddrconf_dad_timer(ifp)\n  addrconf_dad_completed(ifp)\n    ipv6_ifa_notify(RTM_NEWADDR, ifp)\n      ip6_ins_rt(ifp-\u003ert)\n\nthen return back to the ipv6_del_addr and:\n\nin6_ifa_put(ifp)\n  inet6_ifa_finish_destroy(ifp)\n    dst_release(\u0026ifp-\u003ert-\u003eu.dst)\n\nAfter this we have an ifp-\u003ert inserted into fib6 lists, but \nqueued for gc, which in turn can result in oopses in the\nfib6_run_gc. Maybe some other nasty things, but we caught \nonly the oops in gc so far.\n\nThe solution is to disarm the ifp-\u003etimer before flushing the\nrt from it.\n\nSigned-off-by: Andrey Vagin \u003cavagin@parallels.com\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b34be74cbf18f5d58cc85c7c4afcd9f7d74accd",
      "tree": "46cae932b628e96af0a269f8653684298d5ea65f",
      "parents": [
        "778d80be52699596bf70e0eb0761cf5e1e46088d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jun 28 14:18:38 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:56 2008 +0900"
      },
      "message": "ipv6 addrconf: add accept_dad sysctl to control DAD operation.\n\n- If 0, disable DAD.\n- If 1, perform DAD (default).\n- If \u003e1, perform DAD and disable IPv6 operation if DAD for MAC-based\n  link-local address has been failed (RFC4862 5.4.5).\n\nWe do not follow RFC4862 by default.  Refer to the netdev thread entitled\n\"Linux IPv6 DAD not full conform to RFC 4862 ?\"\n\thttp://www.spinics.net/lists/netdev/msg52027.html\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "778d80be52699596bf70e0eb0761cf5e1e46088d",
      "tree": "607d0bd6fe7c7d6f59d88b9287fc534f6693998d",
      "parents": [
        "5ce83afaac956238c3c25f60a899c511e9d8cbf4"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jun 28 14:17:11 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:55 2008 +0900"
      },
      "message": "ipv6: Add disable_ipv6 sysctl to disable IPv6 operaion on specific interface.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "d68b82705a4a754e5773f412c6b8f1e65259bc8b",
      "tree": "3bd32bb16b1e462d9c8be37f3b60ca2ec346d003",
      "parents": [
        "b4653e99450693b75a3c6c8ff4f070164f12815e"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Jun 25 16:26:47 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:55 2008 +0900"
      },
      "message": "ipv6: Do not assign non-valid address on interface.\n\nCheck the type of the address when adding a new one on interface.\n- the unspecified address (::) is always disallowed (RFC4291 2.5.2)\n- the loopback address is disallowed unless the interface is (one of)\n  loopback (RFC4291 2.5.3).\n- multicast addresses are disallowed.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "0187bdfb05674147774ca79a79942537f3ad54bd",
      "tree": "43980261ce9e2b6ef76356dbbbc7efe3dbb60a02",
      "parents": [
        "2e3216cd54b142ba605e87522e15f42e0c4e3996"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Jun 19 16:15:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 19 16:15:47 2008 -0700"
      },
      "message": "net: Disable LRO on devices that are forwarding\n\nLarge Receive Offload (LRO) is only appropriate for packets that are\ndestined for the host, and should be disabled if received packets may be\nforwarded.  It can also confuse the GSO on output.\n\nAdd dev_disable_lro() function which uses the appropriate ethtool ops to\ndisable LRO if enabled.\n\nAdd calls to dev_disable_lro() in br_add_if() and functions that enable\nIPv4 and IPv6 forwarding.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "e6e30add6bd8115af108de2a13ec82d997a55777"
}
