)]}'
{
  "log": [
    {
      "commit": "cf005b1d0e34d8c964347331c43de089c674a5a1",
      "tree": "c766e3fec0fa742ec38c2419bce4035e03424425",
      "parents": [
        "6c0bce37ffc8f000a516fadf6dee84579c4c8f9b"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Fri Nov 21 17:15:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:15:03 2008 -0800"
      },
      "message": "net: remove redundant argument comments\n\nRemove redundant argument comments in files of net/*\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c0bce37ffc8f000a516fadf6dee84579c4c8f9b",
      "tree": "273af34d6f777b1ecb0fce7b2685e868064e6cf9",
      "parents": [
        "e243455d345ef62751723671bc2605a2f6032ceb",
        "a1eb5fe319beb9e181aa52c8adf75ad9aab56a89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:05:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:05:11 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "7e3aab4a9cd7d37f80eee75bebb6a71347f82476",
      "tree": "78019d607b6e72ca83c65695ee017262e471ef81",
      "parents": [
        "176301e82190adb70f9bdf37cd5cb08fcfcb25fb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 16:39:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 16:39:19 2008 -0800"
      },
      "message": "inet_diag: Missed conversion after changing inet ehash lockl to spinlocks.\n\nThey are no longer a rwlocks.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f6d4d1e36f30ac05bc39bcbfdba09e64e0f918c",
      "tree": "8a19adc28972d45ce9353b205c62303526bf1a6d",
      "parents": [
        "96dd603f3817c5289a906539cb85bddae9536868"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 28 14:00:54 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:19 2008 -0500"
      },
      "message": "wireless: clean up sysfs code using %pM\n\nRemove converting the MAC address to a string by a direct byte\nconversion and use %pM instead, since the code is now boilerplate\nuse a macro to define the show functions, and also use the shorter\n__ATTR_RO macro to define the attributes.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "beb2a7f331361bfe81e71acdb0739eae570475a2",
      "tree": "de7ee004296ae3bd5aeb85c19c82d419074f4f29",
      "parents": [
        "0795cd29b6fe05107b40080cb1fccadb96320c96"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 11 16:45:38 2008 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:18 2008 -0500"
      },
      "message": "net/ieee80211 -\u003e drivers/net/ipw2x00/libipw_* rename\n\nThe old ieee80211 code only remains as a support library for the ipw2100\nand ipw2200 drivers.  So, move the code and rename it appropriately to\nreflects it\u0027s true purpose and status.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2ba4b32ecf748d5f45f298fc9677fa46d1dd9aff",
      "tree": "ebdf68be060014d9f5c799cf1cb54462bc896140",
      "parents": [
        "274bfb8dc5ffa16cb073801bebe76ab7f4e2e73d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 11 16:00:06 2008 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:17 2008 -0500"
      },
      "message": "lib80211: consolidate crypt init routines\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "274bfb8dc5ffa16cb073801bebe76ab7f4e2e73d",
      "tree": "04cd3f6a062496911b56737daa6a0858b769ccd6",
      "parents": [
        "dfe1bafdbac1c7b48b636fb7ace799e78170e0d6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 29 11:35:05 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:17 2008 -0500"
      },
      "message": "lib80211: absorb crypto bits from net/ieee80211\n\nThese bits are shared already between ipw2x00 and hostap, and could\nprobably be shared both more cleanly and with other drivers.  This\ncommit simply relocates the code to lib80211 and adjusts the drivers\nappropriately.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1d047def6d19106a91f7756f970ac8429033a4d8",
      "tree": "2e04d5c89ee1d624b50c1f38354315bfd2e334d0",
      "parents": [
        "8ff48a8bbe4a1ba29dea2836dfce74660f97c1be"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Mon Nov 10 09:01:09 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:17 2008 -0500"
      },
      "message": "mac80211: remove unnecessary include.\n\nThis patch removes unnecessary #include \u003clinux/netdevice.h\u003e from\n/net/mac80211/mlme.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9902b1843ff460d08a40d6c99ad8f5362296c3d4",
      "tree": "4bbf698805470770c3f8658ae964070968d77c38",
      "parents": [
        "798b7adb4ed3533ab1282f51d16892034cfd8aae"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Sat Nov 08 23:50:55 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:16 2008 -0500"
      },
      "message": "mac80211: rc80211_pid eliminate sparse warnings\n\nThis patch eliminates sparse warnings in pid rate scale algorithm\n\u0027debugfs: allow access to signed values\u0027 patch hit the dead end\nyear ago w/o much echo so I guess there is no real need to address this\nproperly.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0ed94eaaed618634f68197161203aac9f849471e",
      "tree": "daa650a6f9272f21c2dd5f3e6ed33fbd1a2e639c",
      "parents": [
        "e4e58cf8cc646d93de852f32f972448a95387c60"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Nov 07 19:50:42 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:15 2008 -0500"
      },
      "message": "mac80211: remove more excess kernel-doc\n\nDelete kernel-doc struct descriptions for fields that don\u0027t exist:\n\nWarning(include/net/mac80211.h:1263): Excess struct/union/enum/typedef member \u0027conf_ht\u0027 description in \u0027ieee80211_ops\u0027\nWarning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member \u0027addr\u0027 description in \u0027sta_info\u0027\nWarning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member \u0027aid\u0027 description in \u0027sta_info\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\ncc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\ncc: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a3c9aa512945aa5552d03c7d6d6c3b826a3f9e28",
      "tree": "7115dde22db957f1b8c75966614a5fe921788db7",
      "parents": [
        "b7b05fe7f92e21e933caa529fd8d78bbbbfbd293"
      ],
      "author": {
        "name": "Andrey Yurovsky",
        "email": "andrey@cozybit.com",
        "time": "Fri Oct 31 14:50:12 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:06:03 2008 -0500"
      },
      "message": "mac80211: disable BSSID filtering for mesh interfaces\n\nMesh interfaces are currently opened with the FIF_ALLMULTI rx filter flag set,\nhowever there is no BSSID in mesh so BSSID filtering should be disabled by\nsetting the FIF_OTHER_BSS flag as well.  Also explicitly call\nieee80211_configure_filter for mesh.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozbit.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "98aa9c80f1fee01e98dfdc484ab7316af45f8f17",
      "tree": "4b5597a5fe9b9d6267f774a6da0be519e6097129",
      "parents": [
        "9d2f4720971c00852a3fc8278a76f1a5e9add5c7"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Nov 21 04:37:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 04:37:27 2008 -0800"
      },
      "message": "pkt_sched: sch_drr: Fix qlen in drr_drop()\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "859ee3c43812051e21816c6d6d4cc04fb7ce9b2e",
      "tree": "ef3c3717038b5d4600065550f422fd8abf72de35",
      "parents": [
        "0eb3aa9bab20217fb42244ccdcb5bf8a002f504c"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:10:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:10:23 2008 -0800"
      },
      "message": "DCB: Add support for DCB BCN\n\nAdds an interface to configure the Backward Congestion Notification\n(BCN) feature.  In a BCN capabale network, congestion notifications\nfrom congested points out in the network can cause the end station\nlimit the rate of a given traffic flow.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eb3aa9bab20217fb42244ccdcb5bf8a002f504c",
      "tree": "b7d5a846b674a4f26ce4c1aa3b90f72fe9ce83d0",
      "parents": [
        "33dbabc4a7f7bd72313c73a3c199f31f3900336f"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:09:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:09:23 2008 -0800"
      },
      "message": "DCB: Add interface to query the state of PFC feature.\n\nAdds a netlink interface for Data Center Bridging (DCB) to get and set\nthe enable state of the Priority Flow Control (PFC) feature.\nPrimarily, this is a way to turn off PFC in the driver while DCB\nremains enabled.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33dbabc4a7f7bd72313c73a3c199f31f3900336f",
      "tree": "f56e24fec9369ca1d1ef12eb18e4000a09fb5c3e",
      "parents": [
        "46132188bf72e22ef097f16ed5c969ee8cea1e8b"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:08:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:08:19 2008 -0800"
      },
      "message": "DCB: Add interface to query # of TCs supported by device\n\nAdds interface for Data Center Bridging (DCB) to query (and set if\nsupported) the number of traffic classes currently supported by the\ndevice for the two (DCB) features: priority groups (PG) and priority\nflow control (PFC).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46132188bf72e22ef097f16ed5c969ee8cea1e8b",
      "tree": "e776ed8011b8314ff08abf4f3467c07d037fec4f",
      "parents": [
        "2f90b8657ec942d1880f720e0177ee71df7c8e3c"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:05:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:05:08 2008 -0800"
      },
      "message": "DCB: Add interface to query for the DCB capabilities of an device.\n\nAdds to the netlink interface for Data Center Bridging (DCB), allowing\nthe DCB capabilities supported by a device to be queried.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f90b8657ec942d1880f720e0177ee71df7c8e3c",
      "tree": "844114b22c548fedbab67e53b09b2efcf170563a",
      "parents": [
        "9db66bdcc83749affe61c61eb8ff3cf08f42afec"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "message": "ixgbe: this patch adds support for DCB to the kernel and ixgbe driver\n\nThis adds support for Data Center Bridging (DCB) features in the ixgbe\ndriver and adds an rtnetlink interface for configuring DCB to the\nkernel.  The DCB feature support included are Priority Grouping (PG) -\nwhich allows bandwidth guarantees to be allocated to groups to traffic\nbased on the 802.1q priority, and Priority Based Flow Control (PFC) -\nwhich introduces a new MAC control PAUSE frame which works at\ngranularity of the 802.1p priority instead of the link (IEEE 802.3x).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9db66bdcc83749affe61c61eb8ff3cf08f42afec",
      "tree": "81bb20e4f569d3b44731498428277db9d77fa7a9",
      "parents": [
        "b8c26a33c8b6f0a150e9cb38ed80b890be55395c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Nov 20 20:39:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:39:09 2008 -0800"
      },
      "message": "net: convert TCP/DCCP ehash rwlocks to spinlocks\n\nNow TCP \u0026 DCCP use RCU lookups, we can convert ehash rwlocks to spinlocks.\n\n/proc/net/tcp and other seq_file \u0027readers\u0027 can safely be converted to \u0027writers\u0027.\n\nThis should speedup writers, since spin_lock()/spin_unlock()\nonly use one atomic operation instead of two for write_lock()/write_unlock()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8c26a33c8b6f0a150e9cb38ed80b890be55395c",
      "tree": "cc370525dab23ecbf131fa9a6a6b49fc8fa6af25",
      "parents": [
        "1326c3d5a4b792a2b15877feb7fb691f8945d203"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:34:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:34:29 2008 -0800"
      },
      "message": "ipgre: convert to netdevice_ops\n\nConvert ipgre tunnel to netdevice ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1326c3d5a4b792a2b15877feb7fb691f8945d203",
      "tree": "ec87c30b83541f2f96c864e4fc7096fcec9490b3",
      "parents": [
        "23a12b14715e2dcd34dc8002927263ad3437344c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:33:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:33:56 2008 -0800"
      },
      "message": "ipv6: convert tunnels to net_device_ops\n\nLike IPV4, convert the tunnel virtual devices to use net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23a12b14715e2dcd34dc8002927263ad3437344c",
      "tree": "b35e56dc098e97153a8541ae43d90d50f0a155ea",
      "parents": [
        "748ff68fad9600593c6abe47856037602bd5d133"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:33:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:33:21 2008 -0800"
      },
      "message": "ipip: convert to net_device_ops\n\nConvert to network device ops. Needed to change to directly call\nthe init routine since two sides share same ops.  In the process\nfound by inspection a device ref count leak if register_netdevice failed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "748ff68fad9600593c6abe47856037602bd5d133",
      "tree": "96bc5e90ba9f66932562a7061f7403d17b316b61",
      "parents": [
        "fd8f4997e35f2c9a8bfc4d797ec09a6ae7858e04"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:32:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:32:15 2008 -0800"
      },
      "message": "hippi: convert driver to net_device_ops\n\nConvert the HIPPI infrastructure for use with net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "145186a39570244aead77dc2efc559e5cac90548",
      "tree": "fbb9797afeccbc27578d43fcc51737e273f10027",
      "parents": [
        "007c3838d9fdcc8fdaea87e4879ec3759f016ed5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:29:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:29:48 2008 -0800"
      },
      "message": "fddi: convert to new network device ops\n\nSimilar to ethernet. Convert infrastructure and the one lone FDDI\ndriver (for the one lone user of that hardware??). Compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "007c3838d9fdcc8fdaea87e4879ec3759f016ed5",
      "tree": "67f09220e48797dc2799a7db6b0b4f5cc8a99ac3",
      "parents": [
        "aa18e9e88c863a58f6ea63eeee0e740be071fdcf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:28:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:28:35 2008 -0800"
      },
      "message": "ipmr: convert ipmr virtual interface to net_device_ops\n\nConvert to new network device ops interface.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 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/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "23918b03060f6e572168fdde1798a905679d2e06",
      "tree": "4e95edb5030e461a1eb82e2f1fb9cb90a3b46013",
      "parents": [
        "0cb39aa0ac3a9dc64171b43a85d17e539d82f2d6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Nov 20 16:06:21 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:17:40 2008 -0800"
      },
      "message": "SUNRPC: Fix a performance regression in the RPC authentication code\n\nFix a regression reported by Max Kellermann whereby kernel profiling\nshowed that his clients were spending 45% of their time in\nrpcauth_lookup_credcache.\n\nIt turns out that although his processes had identical uid/gid/groups,\ngeneric_match() was failing to detect this, because the task-\u003egroup_info\npointers were not shared. This again lead to the creation of a huge number\nof identical credentials at the RPC layer.\n\nThe regression is fixed by comparing the contents of task-\u003egroup_info\nif the actual pointers are not identical.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dd61d92d7204788b93b064a679c9068fc5b8a5f",
      "tree": "90dc522b71d06a336773f919def0fd99d59156c9",
      "parents": [
        "95763dd52b4b9b3578d3428001ece1e11b016ffc",
        "5ece6c2ddd6f7da9e95dc325c742c0f5afbcecbe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:12:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:12:14 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (23 commits)\n  net: fix tiny output corruption of /proc/net/snmp6\n  atl2: don\u0027t request irq on resume if netif running\n  ipv6: use seq_release_private for ip6mr.c /proc entries\n  pkt_sched: fix missing check for packet overrun in qdisc_dump_stab()\n  smc911x: Fix printf format typo in smc911x driver.\n  asix: Fix asix-based cards connecting to 10/100Mbs LAN.\n  mv643xx_eth: fix recycle check bound\n  mv643xx_eth: fix the order of mdiobus_{unregister, free}() calls\n  sh: sh_eth: Update to change of mii_bus\n  TPROXY: supply a struct flowi-\u003eflags argument in inet_sk_rebuild_header()\n  TPROXY: fill struct flowi-\u003eflags in udp_sendmsg()\n  net: ipg.c fix bracing on endian swapping\n  phylib: Fix auto-negotiation restart avoidance\n  net: jme.c rxdesc.flags is __le16, other missing endian swaps\n  phylib: fix phy name example in documentation\n  net: Do not fire linkwatch events until the device is registered.\n  phonet: fix compilation with gcc-3.4\n  ixgbe: fix compilation with gcc-3.4\n  pktgen: fix multiple queue warning\n  net: fix ip_mr_init() error path\n  ...\n"
    },
    {
      "commit": "7be6065b39c3f1cfa796667eac1a2170465acc91",
      "tree": "973a5d4bc0782e25a29d96ecf99b216ab6175446",
      "parents": [
        "826dd0e1e3c83ce0cd8c295cd0f6e72b8b527809"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Thu Nov 20 04:26:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:26:21 2008 -0800"
      },
      "message": "netdevice wanrouter: Convert directly reference of netdev-\u003epriv\n\n1. Make device driver to allocate memory for netdev.\n2. Convert all directly reference of netdev-\u003epriv to netdev_priv().\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ece6c2ddd6f7da9e95dc325c742c0f5afbcecbe",
      "tree": "cf8ebb119403f92df8a296002b9316c9fa38a8a6",
      "parents": [
        "a849854fc7e200d5e5a437dec9c1d0e8b105e50f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Nov 20 04:20:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:20:10 2008 -0800"
      },
      "message": "net: fix tiny output corruption of /proc/net/snmp6\n\nBecause \"name\" is static, it can be occasionally be filled with\nsomewhat garbage if two processes read /proc/net/snmp6.\n\nAlso, remove useless casts and \"-1\" -- snprintf() correctly terminates it\u0027s\noutput.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eedd726efbc439dbed94fb8577e5533a986b341f",
      "tree": "5980fdeb7ad34e2cd3623fe8d3a477121c1e8dbb",
      "parents": [
        "3aa4614da741f10b09559a5675c79e2eff5cccd8"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Nov 20 04:16:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:16:12 2008 -0800"
      },
      "message": "ipv6: use seq_release_private for ip6mr.c /proc entries\n\nIn ip6mr.c, /proc entries /proc/net/ip6_mr_cache and /proc/net/ip6_mr_vif\nare opened with seq_open_private(), thus seq_release_private() should be \nused to release them.\nShould fix a small memory leak.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47a1a1d4be2910b13a8e90f75c17e253c39531ff",
      "tree": "c900f283bd96f0b26236152ada24f9a113f65e2b",
      "parents": [
        "b94c8afcba3ae6584653b98e315446ea83be6ea5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 19 08:03:09 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:14:28 2008 -0800"
      },
      "message": "pkt_sched: remove unnecessary xchg() in packet classifiers\n\nThe use of xchg() hasn\u0027t been necessary since 2.2.something when proper\nlocking was added to packet schedulers. In the case of classifiers they\nmostly weren\u0027t even necessary before that since they\u0027re mainly used\nto assign a NULL pointer to the filter root in the -\u003edestroy path;\nthe root is destroyed immediately after that.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b94c8afcba3ae6584653b98e315446ea83be6ea5",
      "tree": "377fcfaf74e3aa38243c736a440e45b378355d8e",
      "parents": [
        "c19d0369d4c791d90fe0b84d6040a897fe25cc14"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:11:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:11:36 2008 -0800"
      },
      "message": "pkt_sched: remove unnecessary xchg() in packet schedulers\n\nThe use of xchg() hasn\u0027t been necessary since 2.2.something when proper\nlocking was added to packet schedulers.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "13d2a1d2b032de08d7dcab6a1edcd47802681f96",
      "tree": "a60915e015f1dc7a9b5681ef5c5135c59167edb3",
      "parents": [
        "0c19b0adb8dd33dbd10ff48e41971231c486855c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:10:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:10:00 2008 -0800"
      },
      "message": "pkt_sched: add DRR scheduler\n\nAdd classful DRR scheduler as a more flexible replacement for SFQ.\n\nThe main difference to the algorithm described in \"Efficient Fair Queueing\nusing Deficit Round Robin\" is that this implementation doesn\u0027t drop packets\nfrom the longest queue on overrun because its classful and limits are\nhandled by each individual child qdisc.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3aa4614da741f10b09559a5675c79e2eff5cccd8",
      "tree": "0181c697123716bf574e7819854d373dc6ee18b8",
      "parents": [
        "f7f65d1e8bfaa92c1a419c2a52faeca835659295"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:07:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:07:14 2008 -0800"
      },
      "message": "pkt_sched: fix missing check for packet overrun in qdisc_dump_stab()\n\nnla_nest_start() might return NULL, causing a NULL pointer dereference.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7f65d1e8bfaa92c1a419c2a52faeca835659295",
      "tree": "b616a113bddb2728fca89ef3062c16b220cee620",
      "parents": [
        "eafdcb433f854c8cb06747a80fa3df7c72147be6",
        "4018517a1a69a85c3d61b20fa02f187b80773137"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:01:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:01:29 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "21d1a161f6b1fff154e3614a6b5a2111fa7a4191",
      "tree": "dac48eb0f355ec46e565577c43efa7cb9c8f8fb1",
      "parents": [
        "00b5e50549aa9da770f1161907b4ed68aa4ece3a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Nov 20 01:54:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:54:27 2008 -0800"
      },
      "message": "net: ip_sockglue.c add static, annotate ports\u0027 endianness\n\nFixes sparse warnings:\nnet/ipv4/ip_sockglue.c:146:15: warning: incorrect type in assignment (different base types)\nnet/ipv4/ip_sockglue.c:146:15:    expected restricted __be16 [assigned] [usertype] sin_port\nnet/ipv4/ip_sockglue.c:146:15:    got unsigned short [unsigned] [short] [usertype] \u003cnoident\u003e\nnet/ipv4/ip_sockglue.c:130:6: warning: symbol \u0027ip_cmsg_recv_dstaddr\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c82838458200ec4167ce7083b0a17474150c5bf7",
      "tree": "5498ee0aa72c28c8e712fe5a30cd5e48aac1b9bf",
      "parents": [
        "a134f85c131ffd56720e38af2967ec6265480757"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Nov 20 01:08:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:08:06 2008 -0800"
      },
      "message": "TPROXY: supply a struct flowi-\u003eflags argument in inet_sk_rebuild_header()\n\n    inet_sk_rebuild_header() does a new route lookup if the dst_entry\n    associated with a socket becomes stale. However inet_sk_rebuild_header()\n    didn\u0027t use struct flowi-\u003eflags, causing the route lookup to\n    fail for foreign-bound IP_TRANSPARENT sockets, causing an error\n    state to be set for the sockets in question.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a134f85c131ffd56720e38af2967ec6265480757",
      "tree": "855f671667da2643274af8d580e16843f4baa393",
      "parents": [
        "b88ed5cc884e4c28d787cf0912b8635376f16a87"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Nov 20 01:07:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:07:24 2008 -0800"
      },
      "message": "TPROXY: fill struct flowi-\u003eflags in udp_sendmsg()\n\n    udp_sendmsg() didn\u0027t fill struct flowi-\u003eflags, which means that\n    the route lookup would fail for non-local IPs even if the\n    IP_TRANSPARENT sockopt was set.\n\n    This prevents sendto() to work properly for UDP sockets, whereas\n    bind(foreign-ip) + connect() + send() worked fine.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d3e35aa78c9498eed3209c9d82376085ed0c36f",
      "tree": "76c349b4017f63ed8e0ac7f9d96ce5b64c8118b0",
      "parents": [
        "f4bdd264b43cc60dccb617afce2859dffdd7a935"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Nov 20 01:03:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:03:08 2008 -0800"
      },
      "message": "dccp: Fix bracing in dccp_feat_list_lookup.\n\nFrom: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d214c7537bbf2f247991fb65b3420b0b3d712c67",
      "tree": "11c26aa8c7c93d0bc15f206d65b3ddac3a6a8c33",
      "parents": [
        "68fd991020fdf51bc94327d288ae4ae5d0b8dced"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Nov 20 00:49:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 00:49:27 2008 -0800"
      },
      "message": "filter: add SKF_AD_NLATTR_NEST to look for nested attributes\n\nSKF_AD_NLATTR allows us to find the first matching attribute in a\nstream of netlink attributes from one offset to the end of the\nnetlink message. This is not suitable to look for a specific\nmatching inside a set of nested attributes.\n\nFor example, in ctnetlink messages, if we look for the CTA_V6_SRC\nattribute in a message that talks about an IPv4 connection,\nSKF_AD_NLATTR returns the offset of CTA_STATUS which has the same\nvalue of CTA_V6_SRC but outside the nest. To differenciate\nCTA_STATUS and CTA_V6_SRC, we would have to make assumptions on the\nsize of the attribute and the usual offset, resulting in horrible\nBSF code.\n\nThis patch adds SKF_AD_NLATTR_NEST, which is a variant of\nSKF_AD_NLATTR, that looks for an attribute inside the limits of\na nested attributes, but not further.\n\nThis patch validates that we have enough room to look for the\nnested attributes - based on a suggestion from Patrick McHardy.\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": "5caea4ea7088e80ac5410d04660346094608b909",
      "tree": "fad95133683c002d24ff5de7fb756dad806b41ed",
      "parents": [
        "d8b83c57a7e497cba9b5cb156e63176323035785"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Nov 20 00:40:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 00:40:07 2008 -0800"
      },
      "message": "net: listening_hash get a spinlock per bucket\n\nThis patch prepares RCU migration of listening_hash table for\nTCP/DCCP protocols.\n\nlistening_hash table being small (32 slots per protocol), we add\na spinlock for each slot, instead of a single rwlock for whole table.\n\nThis should reduce hold time of readers, and writers concurrency.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "656299f706e52e0409733d704c2761f1b12d6954",
      "tree": "fcf2013d86e552eda9e9576acc58a32912c616f4",
      "parents": [
        "5bc3eb7e2f0026f246d939851109df99e8e9f64a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:53:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:41 2008 -0800"
      },
      "message": "vlan: convert to net_device_ops\n\nConvert vlan devices and function pointers to net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\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": "a2dbb88210b9877f1c53d3798fd5d717a4d45256",
      "tree": "db296b53a801dc5e4f8c25d82a7aebee0309abf6",
      "parents": [
        "8dfcdf342d9e8294a3292005f9158022289dfd67"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:49:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:38 2008 -0800"
      },
      "message": "bridge: convert to net_device_ops\n\nConvert to net_device_ops function table.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccad637b0c57de1825ffd34c311bf71487545ac2",
      "tree": "fa5e54d6a4d8a414754efb7904685e5a83bff601",
      "parents": [
        "eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 22:42:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:31 2008 -0800"
      },
      "message": "netdev: expose ethernet address primitives\n\nWhen ethernet devices are converted, the function pointer setup\nby eth_setup() need to be done during intialization.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0",
      "tree": "082d1921a5783ef5b07b4cf666804d6509f25f1a",
      "parents": [
        "d314774cf2cd5dfeb39a00d37deee65d4c627927"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "message": "netdev: introduce dev_get_stats()\n\nIn order for the network device ops get_stats call to be immutable, the handling\nof the default internal network device stats block has to be changed. Add a new\nhelper function which replaces the old use of internal_get_stats.\n\nNote: change return code to make it clear that the caller should not\ngo changing the returned statistics.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d314774cf2cd5dfeb39a00d37deee65d4c627927",
      "tree": "1c7778b509cea814aa2b7115949667941037d07c",
      "parents": [
        "6b41e7dd90c6a628ab5fb8d781302d60a243b2ce"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:32:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:32:24 2008 -0800"
      },
      "message": "netdev: network device operations infrastructure\n\nThis patch changes the network device internal API to move adminstrative\noperations out of the network device structure and into a separate structure.\n\nThis patch involves some hackery to maintain compatablity between the\nnew and old model, so all 300+ drivers don\u0027t have to be changed at once.\nFor drivers that aren\u0027t converted yet, the netdevice_ops virt function list\nstill resides in the net_device structure. For old protocols, the new\nnet_device_ops are copied out to the old net_device pointers.\n\nAfter the transistion is completed the nag message can be changed to\nan WARN_ON, and the compatiablity code can be made configurable.\n\nSome function pointers aren\u0027t moved:\n* destructor can\u0027t be in net_device_ops because\n  it may need to be referenced after the module is unloaded.\n* neighbor setup is manipulated in a couple of places that need special\n  consideration\n* hard_start_xmit is in the fast path for transmit.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de11defebf00007677fb7ee91d9b089b78786fbb",
      "tree": "8219faf1b7992be77a612e778c2573c55f56cf19",
      "parents": [
        "cf7ee554f3a324e98181b0ea249d9d5be3a0acb8"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Nov 19 15:36:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:57 2008 -0800"
      },
      "message": "reintroduce accept4\n\nIntroduce a new accept4() system call.  The addition of this system call\nmatches analogous changes in 2.6.27 (dup3(), evenfd2(), signalfd4(),\ninotify_init1(), epoll_create1(), pipe2()) which added new system calls\nthat differed from analogous traditional system calls in adding a flags\nargument that can be used to access additional functionality.\n\nThe accept4() system call is exactly the same as accept(), except that\nit adds a flags bit-mask argument.  Two flags are initially implemented.\n(Most of the new system calls in 2.6.27 also had both of these flags.)\n\nSOCK_CLOEXEC causes the close-on-exec (FD_CLOEXEC) flag to be enabled\nfor the new file descriptor returned by accept4().  This is a useful\nsecurity feature to avoid leaking information in a multithreaded\nprogram where one thread is doing an accept() at the same time as\nanother thread is doing a fork() plus exec().  More details here:\nhttp://udrepper.livejournal.com/20407.html \"Secure File Descriptor Handling\",\nUlrich Drepper).\n\nThe other flag is SOCK_NONBLOCK, which causes the O_NONBLOCK flag\nto be enabled on the new open file description created by accept4().\n(This flag is merely a convenience, saving the use of additional calls\nfcntl(F_GETFL) and fcntl (F_SETFL) to achieve the same result.\n\nHere\u0027s a test program.  Works on x86-32.  Should work on x86-64, but\nI (mtk) don\u0027t have a system to hand to test with.\n\nIt tests accept4() with each of the four possible combinations of\nSOCK_CLOEXEC and SOCK_NONBLOCK set/clear in \u0027flags\u0027, and verifies\nthat the appropriate flags are set on the file descriptor/open file\ndescription returned by accept4().\n\nI tested Ulrich\u0027s patch in this thread by applying against 2.6.28-rc2,\nand it passes according to my test program.\n\n/* test_accept4.c\n\n  Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk\n       \u003cmtk.manpages@gmail.com\u003e\n\n  Licensed under the GNU GPLv2 or later.\n*/\n#define _GNU_SOURCE\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstring.h\u003e\n\n#define PORT_NUM 33333\n\n#define die(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n\n/**********************************************************************/\n\n/* The following is what we need until glibc gets a wrapper for\n  accept4() */\n\n/* Flags for socket(), socketpair(), accept4() */\n#ifndef SOCK_CLOEXEC\n#define SOCK_CLOEXEC    O_CLOEXEC\n#endif\n#ifndef SOCK_NONBLOCK\n#define SOCK_NONBLOCK   O_NONBLOCK\n#endif\n\n#ifdef __x86_64__\n#define SYS_accept4 288\n#elif __i386__\n#define USE_SOCKETCALL 1\n#define SYS_ACCEPT4 18\n#else\n#error \"Sorry -- don\u0027t know the syscall # on this architecture\"\n#endif\n\nstatic int\naccept4(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)\n{\n   printf(\"Calling accept4(): flags \u003d %x\", flags);\n   if (flags !\u003d 0) {\n       printf(\" (\");\n       if (flags \u0026 SOCK_CLOEXEC)\n           printf(\"SOCK_CLOEXEC\");\n       if ((flags \u0026 SOCK_CLOEXEC) \u0026\u0026 (flags \u0026 SOCK_NONBLOCK))\n           printf(\" \");\n       if (flags \u0026 SOCK_NONBLOCK)\n           printf(\"SOCK_NONBLOCK\");\n       printf(\")\");\n   }\n   printf(\"\\n\");\n\n#if USE_SOCKETCALL\n   long args[6];\n\n   args[0] \u003d fd;\n   args[1] \u003d (long) sockaddr;\n   args[2] \u003d (long) addrlen;\n   args[3] \u003d flags;\n\n   return syscall(SYS_socketcall, SYS_ACCEPT4, args);\n#else\n   return syscall(SYS_accept4, fd, sockaddr, addrlen, flags);\n#endif\n}\n\n/**********************************************************************/\n\nstatic int\ndo_test(int lfd, struct sockaddr_in *conn_addr,\n       int closeonexec_flag, int nonblock_flag)\n{\n   int connfd, acceptfd;\n   int fdf, flf, fdf_pass, flf_pass;\n   struct sockaddr_in claddr;\n   socklen_t addrlen;\n\n   printf(\"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\\n\");\n\n   connfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n   if (connfd \u003d\u003d -1)\n       die(\"socket\");\n   if (connect(connfd, (struct sockaddr *) conn_addr,\n               sizeof(struct sockaddr_in)) \u003d\u003d -1)\n       die(\"connect\");\n\n   addrlen \u003d sizeof(struct sockaddr_in);\n   acceptfd \u003d accept4(lfd, (struct sockaddr *) \u0026claddr, \u0026addrlen,\n                      closeonexec_flag | nonblock_flag);\n   if (acceptfd \u003d\u003d -1) {\n       perror(\"accept4()\");\n       close(connfd);\n       return 0;\n   }\n\n   fdf \u003d fcntl(acceptfd, F_GETFD);\n   if (fdf \u003d\u003d -1)\n       die(\"fcntl:F_GETFD\");\n   fdf_pass \u003d ((fdf \u0026 FD_CLOEXEC) !\u003d 0) \u003d\u003d\n              ((closeonexec_flag \u0026 SOCK_CLOEXEC) !\u003d 0);\n   printf(\"Close-on-exec flag is %sset (%s); \",\n           (fdf \u0026 FD_CLOEXEC) ? \"\" : \"not \",\n           fdf_pass ? \"OK\" : \"failed\");\n\n   flf \u003d fcntl(acceptfd, F_GETFL);\n   if (flf \u003d\u003d -1)\n       die(\"fcntl:F_GETFD\");\n   flf_pass \u003d ((flf \u0026 O_NONBLOCK) !\u003d 0) \u003d\u003d\n              ((nonblock_flag \u0026 SOCK_NONBLOCK) !\u003d0);\n   printf(\"nonblock flag is %sset (%s)\\n\",\n           (flf \u0026 O_NONBLOCK) ? \"\" : \"not \",\n           flf_pass ? \"OK\" : \"failed\");\n\n   close(acceptfd);\n   close(connfd);\n\n   printf(\"Test result: %s\\n\", (fdf_pass \u0026\u0026 flf_pass) ? \"PASS\" : \"FAIL\");\n   return fdf_pass \u0026\u0026 flf_pass;\n}\n\nstatic int\ncreate_listening_socket(int port_num)\n{\n   struct sockaddr_in svaddr;\n   int lfd;\n   int optval;\n\n   memset(\u0026svaddr, 0, sizeof(struct sockaddr_in));\n   svaddr.sin_family \u003d AF_INET;\n   svaddr.sin_addr.s_addr \u003d htonl(INADDR_ANY);\n   svaddr.sin_port \u003d htons(port_num);\n\n   lfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n   if (lfd \u003d\u003d -1)\n       die(\"socket\");\n\n   optval \u003d 1;\n   if (setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, \u0026optval,\n                  sizeof(optval)) \u003d\u003d -1)\n       die(\"setsockopt\");\n\n   if (bind(lfd, (struct sockaddr *) \u0026svaddr,\n            sizeof(struct sockaddr_in)) \u003d\u003d -1)\n       die(\"bind\");\n\n   if (listen(lfd, 5) \u003d\u003d -1)\n       die(\"listen\");\n\n   return lfd;\n}\n\nint\nmain(int argc, char *argv[])\n{\n   struct sockaddr_in conn_addr;\n   int lfd;\n   int port_num;\n   int passed;\n\n   passed \u003d 1;\n\n   port_num \u003d (argc \u003e 1) ? atoi(argv[1]) : PORT_NUM;\n\n   memset(\u0026conn_addr, 0, sizeof(struct sockaddr_in));\n   conn_addr.sin_family \u003d AF_INET;\n   conn_addr.sin_addr.s_addr \u003d htonl(INADDR_LOOPBACK);\n   conn_addr.sin_port \u003d htons(port_num);\n\n   lfd \u003d create_listening_socket(port_num);\n\n   if (!do_test(lfd, \u0026conn_addr, 0, 0))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, SOCK_CLOEXEC, 0))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, 0, SOCK_NONBLOCK))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, SOCK_CLOEXEC, SOCK_NONBLOCK))\n       passed \u003d 0;\n\n   close(lfd);\n\n   exit(passed ? EXIT_SUCCESS : EXIT_FAILURE);\n}\n\n[mtk.manpages@gmail.com: rewrote changelog, updated test program]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nTested-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \u003clinux-api@vger.kernel.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b41e7dd90c6a628ab5fb8d781302d60a243b2ce",
      "tree": "87f1d679eb02bae2a9313c872d45729ab9254661",
      "parents": [
        "d171235e712c11c0a0f47f62619024bf726125e1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 19 15:48:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 15:48:09 2008 -0800"
      },
      "message": "net: af_unix should use KERN_INFO instead of KERN_DEBUG\n\nAs spotted by Joe Perches, we should use KERN_INFO in unix_sock_destructor()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07f0757a6808f2f36a0e58c3a54867ccffdb8dc9",
      "tree": "e04b573c3f1471ff21c6b2499682a620f4db7eae",
      "parents": [
        "a7a0d6a87b70f7b2bab5281fc0fd443772bd0795"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Nov 19 15:44:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 15:44:53 2008 -0800"
      },
      "message": "include/net net/ - csum_partial - remove unnecessary casts\n\nThe first argument to csum_partial is const void *\ncasts to char/u8 * are not necessary\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7a0d6a87b70f7b2bab5281fc0fd443772bd0795",
      "tree": "adb4978c449d9ae570e848910ac777dd513277ac",
      "parents": [
        "14e943db133489c98d426a0dcfce4a99c6e8ad97"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 19 15:43:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 15:43:27 2008 -0800"
      },
      "message": "net: inet_diag_handler structs can be const\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b47300168e770b60ab96c8924854c3b0eb4260eb",
      "tree": "8dcdf57ff27c503cf365ae5a98cf30626612b381",
      "parents": [
        "566521d63720ab47576afb85147e5652993bf1e6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 15:33:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 15:33:54 2008 -0800"
      },
      "message": "net: Do not fire linkwatch events until the device is registered.\n\nSeveral device drivers try to do things like netif_carrier_off()\nbefore register_netdev() is invoked.  This is bogus, but too many\ndrivers do this to fix them all up in one go.\n\nReported-by: Folkert van Heusden \u003cfolkert@vanheusden.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14e943db133489c98d426a0dcfce4a99c6e8ad97",
      "tree": "892ae3f726e9f71fb120eb262ab249d36dedb14e",
      "parents": [
        "3680453c8be54fff0d23fdf33e8961a48e1f2cd6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 19 15:14:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 15:14:01 2008 -0800"
      },
      "message": "net: make /proc/net/protocols namespace aware\n\nConverting /proc/net/protocols to be namespace aware is quite easy\nand permits us to use sock_prot_inuse_get().\n\nThis provides seperate counters for each protocol. For example\nwe can really count TCPv6 sockets and TCPv4 sockets, while previously,\nwe had the same value, and this value was not namespace aware.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3680453c8be54fff0d23fdf33e8961a48e1f2cd6",
      "tree": "a51fe155df61483cb64255ed3cf58bb52b1daaff",
      "parents": [
        "198d6ba4d7f48c94f990f4604f0b3d73925e0ded"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 19 14:25:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 14:25:35 2008 -0800"
      },
      "message": "net: af_packet should update its inuse counter\n\nThis patch is a preparation to namespace conversion of /proc/net/protocols\n\nIn order to have relevant information for PACKET protocols, we should use\nsock_prot_inuse_add() to update a (percpu and pernamespace) counter of\ninuse sockets.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "566521d63720ab47576afb85147e5652993bf1e6",
      "tree": "d9c0d776182aeff7c3e061522d9fedee3d8f09cf",
      "parents": [
        "79aefa45b20940cbb9104464548ff74f80f2395e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Nov 19 14:17:41 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 14:17:41 2008 -0800"
      },
      "message": "phonet: fix compilation with gcc-3.4\n\n  CC [M]  net/phonet/af_phonet.o\nnet/phonet/af_phonet.c: In function `pn_socket_create\u0027:\nnet/phonet/af_phonet.c:38: sorry, unimplemented: inlining failed in call to \u0027phonet_proto_put\u0027: function body not available\nnet/phonet/af_phonet.c:99: sorry, unimplemented: called from here\nmake[3]: *** [net/phonet/af_phonet.o] Error 1\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfdbc0acadcc761b94814d78f0acec90f0d760de",
      "tree": "663acbd95be8072e4dfc75ee418796135dfce8dd",
      "parents": [
        "c3e388964baa00d8c3960f23e8c8a1fb3966759e"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "robert.olsson@its.uu.se",
        "time": "Wed Nov 19 14:09:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 14:09:47 2008 -0800"
      },
      "message": "pktgen: fix multiple queue warning\n\nAs number of TX queues in unrelated to number of CPU\u0027s we remove this test\nand just make sure nxtq never gets exceeded.\n\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3e388964baa00d8c3960f23e8c8a1fb3966759e",
      "tree": "29014a69e1702a641bd782838050db47b7de9c19",
      "parents": [
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Nov 19 14:07:41 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 14:07:41 2008 -0800"
      },
      "message": "net: fix ip_mr_init() error path\n\nSimilarly to IPv6 ip6_mr_init() (fixed last week), the order of cleanup\noperations in the error/exit section of ip_mr_init() is completely \ninversed. It should be the other way around.\nAlso a del_timer() is missing in the error path.\n\nI should have guessed last week that this same error existed in ipmr.c\ntoo, as ip6mr.c is largely inspired by ipmr.c.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "198d6ba4d7f48c94f990f4604f0b3d73925e0ded",
      "tree": "56bbdf8ba2553c23c8099da9344a8f1d1aba97ab",
      "parents": [
        "9a57f7fabd383920585ed8b74eacd117c6551f2d",
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 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/isdn/i4l/isdn_net.c\n\tfs/cifs/connect.c\n"
    },
    {
      "commit": "8e3bad65a59915f2ddc40f62a180ad81695d8440",
      "tree": "d54daf1d8d09192afdccfe913c0a22a6b0c0c5f5",
      "parents": [
        "9b44fb89cab6e01816cdc05d6b59fdcf8100b8c3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 17 10:59:59 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 18 17:26:26 2008 -0500"
      },
      "message": "mac80211: remove ieee80211_notify_mac\n\nBefore ieee80211_notify_mac() was added, it was presented with the\nuse case of using it to tell mac80211 that the association may\nhave been lost because the firmware crashed/reset.\n\nSince then, it has also been used by iwlwifi to (slightly) speed\nup re-association after resume, a workaround around the fact that\nmac80211 has no suspend/resume handling yet. It is also not used\nby any other drivers, so clearly it cannot be necessary for \"good\nenough\" suspend/resume.\n\nUnfortunately, the callback suffers from a severe problem: It only\nworks for station mode. If suspend/resume happens while in IBSS or\nany other mode (but station), then the callback is pointless.\n\nRecently, it has created a number of locking issues, first because\nit required rtnl locking rather than RCU due to calling sleeping\nfunctions within the critical section, and now because it\u0027s called\nby iwlwifi from the mac80211 workqueue that may not use the rtnl\nbecause it is flushed under rtnl.\n(cf. http://bugzilla.kernel.org/show_bug.cgi?id\u003d12046)\n\nI think, therefore, that we should take a step back, remove it\nentirely for now and add the small feature it provided properly.\nFor suspend and resume we will need to introduce new hooks, and for\nthe case where the firmware was reset the driver will probably\nsimply just pretend it has done a suspend/resume cycle to get\nmac80211 to reprogram the hardware completely, not just try to\nconnect to the current AP again in station mode. When doing so, we\nwill need to take into account locking issues and possibly defer\nto schedule_work from within mac80211 for the resume operation,\nwhile the suspend operation must be done directly.\n\nProper suspend/resume should also not necessarily try to reconnect\nto the current AP, the time spent in suspend may have been short\nenough to not be disconnected from the AP, mac80211 will detect\nthat the AP went out of range quickly if it did, and if the\nassociation is lost then the AP will disassoc as soon as a data\nframe is sent. We might also take into account WWOL then, and\nhave mac80211 program the hardware into such a mode where it is\navailable and requested.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9a57f7fabd383920585ed8b74eacd117c6551f2d",
      "tree": "893f953e3b4f7cad6a227c5f5dc2209966b2761d",
      "parents": [
        "a8076d8db98de6da61394b2e942320e4612643ac"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 17 02:41:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 17 02:41:00 2008 -0800"
      },
      "message": "net: sctp should update its inuse counter\n\nThis patch is a preparation to namespace conversion of /proc/net/protocols\n\nIn order to have relevant information for SCTP protocols, we should use\nsock_prot_inuse_add() to update a (percpu and pernamespace) counter of\ninuse sockets.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8076d8db98de6da61394b2e942320e4612643ac",
      "tree": "c1c0e52d635197e86b017fe09850a0f6ad261785",
      "parents": [
        "248969ae31e1b3276fc4399d67ce29a5d81e6fd9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 17 02:38:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 17 02:38:49 2008 -0800"
      },
      "message": "net: af_unix should update its inuse counter\n\nThis patch is a preparation to namespace conversion of /proc/net/protocols\n\nIn order to have relevant information for UNIX protocol, we should use\nsock_prot_inuse_add() to update a (percpu and pernamespace) counter of\ninuse sockets.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "248969ae31e1b3276fc4399d67ce29a5d81e6fd9",
      "tree": "13b57b061262af3cb2fba0aa8384d67f999ba7c2",
      "parents": [
        "c3ccc12339afa2633c72131e2aa97d52d9ca1b8a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 17 00:00:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 17 00:00:30 2008 -0800"
      },
      "message": "net: af_unix can make unix_nr_socks visbile in /proc\n\nCurrently, /proc/net/protocols displays socket counts only for TCP/TCPv6\nprotocols\n\nWe can provide unix_nr_socks for free here, this counter being\nalready maintained in af_unix\n\nBefore patch :\n\n# grep UNIX /proc/net/protocols\nUNIX       428     -1      -1   NI       0   yes  kernel\n\nAfter patch :\n\n# grep UNIX /proc/net/protocols\nUNIX       428     98      -1   NI       0   yes  kernel\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f9021cfdc3524a4c5e3d7ae2d049eb7adcd6776",
      "tree": "53e42bd9bb7db0858af5c1de4dd47e0af3ad3c47",
      "parents": [
        "584c650b4e6fa16f9ab45d382f86ad6d9c625227"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Nov 16 23:20:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 23:20:31 2008 -0800"
      },
      "message": "rtnetlink: propagate error from dev_change_flags in do_setlink()\n\nUnlike ifconfig, iproute doesn\u0027t report an error when setting\nan interface up fails:\n\n(example: put wireless network mac80211 interface into repeater mode\nwith iwconfig but do not set a peer MAC address, it should fail with\n-ENOLINK)\n\nwithout patch:\n# ip link set wlan0 up ; echo $?\n0\n# \n\nwith patch:\n# ip link set wlan0 up ; echo $?\nRTNETLINK answers: Link has been severed\n2\n# \n\nPropagate the return value from dev_change_flags() to fix this.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nTested-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d24b52ac5085ef8a264d044f1b302b7c029887a",
      "tree": "3842c484d49f97bc441ef9e6a31de09fa2f683f5",
      "parents": [
        "6eba6a372b501aa3cdfb7df21a8364099125b9c4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Nov 16 23:01:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 23:01:49 2008 -0800"
      },
      "message": "ematch: simpler tcf_em_unregister()\n\nSimply delete ops from list and let list debugging do the job.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6eba6a372b501aa3cdfb7df21a8364099125b9c4",
      "tree": "0ba82e1cc565584a82a4ddd3dd2c2a99dec0cdd4",
      "parents": [
        "191029963630719e867d8bd0c315d32c822622cb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 22:58:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:58:44 2008 -0800"
      },
      "message": "net: Cleanup of af_unix\n\nThis is a pure cleanup of net/unix/af_unix.c to meet current code\nstyle standards\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "191029963630719e867d8bd0c315d32c822622cb",
      "tree": "fb8284951c59eb8f3547c9cde09c189c07b702c1",
      "parents": [
        "dd9c0e363cef32b7d6f23d4c87e8dfe4f91fd1c5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:56:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:56:55 2008 -0800"
      },
      "message": "dccp: Tidy up setsockopt calls\n\nThis splits the setsockopt calls into two groups, depending on whether an\ninteger argument (val) is required and whether routines being called do\ntheir own locking.\n\nSome options (such as setting the CCID) use u8 rather than int, so that for\nthese the test with regard to integer-sizeof can not be used.\n\nThe second switch-case statement now only has those statements which need\nlocking and which make use of `val\u0027.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nReviewed-by: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd9c0e363cef32b7d6f23d4c87e8dfe4f91fd1c5",
      "tree": "2ae48a033a925169f0fd71bdc18a683a308f46c4",
      "parents": [
        "29450559849da7066813601effb7666966869853"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:55:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:55:08 2008 -0800"
      },
      "message": "dccp: Deprecate Ack Ratio sysctl\n\nThis patch deprecates the Ack Ratio sysctl, since\n * Ack Ratio is entirely ignored by CCID-3 and CCID-4,\n * Ack Ratio currently doesn\u0027t work in CCID-2 (i.e. is always set to 1);\n * even if it would work in CCID-2, there is no point for a user to change it:\n   - Ack Ratio is constrained by cwnd (RFC 4341, 6.1.2),\n   - if Ack Ratio \u003e cwnd, the system resorts to spurious RTO timeouts\n     (since waiting for Acks which will never arrive in this window),\n   - cwnd is not a user-configurable value.\n\nThe only reasonable place for Ack Ratio is to print it for debugging. It is\nplanned to do this later on, as part of e.g. dccp_probe.\n\nWith this patch Ack Ratio is now under full control of feature negotiation:\n * Ack Ratio is resolved as a dependency of the selected CCID;\n * if the chosen CCID supports it (i.e. CCID \u003d\u003d CCID-2), Ack Ratio is set to\n   the default of 2, following RFC 4340, 11.3 - \"New connections start with Ack\n   Ratio 2 for both endpoints\";\n * what happens then is part of another patch set, since it concerns the\n   dynamic update of Ack Ratio while the connection is in full flight.\n\nThanks to Tomasz Grobelny for discussion leading up to this patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29450559849da7066813601effb7666966869853",
      "tree": "5a55d997460a85da733e1960bc74de0f170e8106",
      "parents": [
        "49aebc66d6b896f9c7c5739d85c4548c00015aa7"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:53:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:53:48 2008 -0800"
      },
      "message": "dccp: Feature negotiation for minimum-checksum-coverage\n\nThis provides feature negotiation for server minimum checksum coverage\nwhich so far has been missing.\n\nSince sender/receiver coverage values range only from 0...15, their\ntype has also been reduced in size from u16 to u4.\n\nFeature-negotiation options are now generated for both sender and receiver\ncoverage, i.e. when the peer has `forgotten\u0027 to enable partial coverage\nthen feature negotiation will automatically enable (negotiate) the partial\ncoverage value for this connection.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49aebc66d6b896f9c7c5739d85c4548c00015aa7",
      "tree": "0b12afdd2e742c3eb481aef8d2adcb7b1aeca9f1",
      "parents": [
        "0c1168398ecbfacbb27203b281bde20ec9f78017"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:51:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:51:23 2008 -0800"
      },
      "message": "dccp: Deprecate old setsockopt framework\n\nThe previous setsockopt interface, which passed socket options via struct\ndccp_so_feat, is complicated/difficult to use. Continuing to support it leads to\nugly code since the old approach did not distinguish between NN and SP values.\n\nThis patch removes the old setsockopt interface and replaces it with two new\nfunctions to register NN/SP values for feature negotiation. \nThese are essentially wrappers around the internal __feat_register functions,\nwith checking added to avoid\n\n * wrong usage (type);\n * changing values while the connection is in progress.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c1168398ecbfacbb27203b281bde20ec9f78017",
      "tree": "3298379e950bba174b46e53102f265829340fa6d",
      "parents": [
        "3f2c31d90327f21d76d296af34aa4ca547932ff4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:49:52 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:49:52 2008 -0800"
      },
      "message": "dccp: Mechanism to resolve CCID dependencies\n\nThis adds a hook to resolve features whose value depends on the choice of\nCCID. It is done at the server since it can only be done after the CCID\nvalues have been negotiated; i.e. the client will add its CCID preference\nlist on the Change options sent in the Request, which will be reconciled\nwith the local preference list of the server.\n\nThe concept is documented on\nhttp://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\\\n\t\t\t\timplementation_notes.html#ccid_dependencies\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "908cd2dabbfbbefb02f6b908a1188a62e685136a",
      "tree": "bea68faa1827e077c125a35b23fa41bec863b1df",
      "parents": [
        "5635c10d976716ef47ae441998aeae144c7e7387"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Nov 16 19:50:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:50:35 2008 -0800"
      },
      "message": "net: use %pF for /proc/net/ptype\n\nTechnically, patch changes format for modules, but I think nobody cares.\n\n\t-86dd          :ipv6:ipv6_rcv+0x0\n\t+86dd          ipv6_rcv+0x0/0x400 [ipv6]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ebfe92ca65c780334bdf847ddc4eca15835bd9c0",
      "tree": "6def944664e96f8394bcc9e268c5ee8e9d64ee16",
      "parents": [
        "eb7c3adb1ca92450870dbb0d347fc986cd5e2af4"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Sun Nov 16 19:48:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:48:49 2008 -0800"
      },
      "message": "Phonet: refuse to send bigger than MTU packets\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "3ab5aee7fe840b5b1b35a8d1ac11c3de5281e611",
      "tree": "468296b7be813643248d4ca67497d6ddb6934fc6",
      "parents": [
        "88ab1932eac721c6e7336708558fa5ed02c85c80"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:40:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:40:17 2008 -0800"
      },
      "message": "net: Convert TCP \u0026 DCCP hash tables to use RCU / hlist_nulls\n\nRCU was added to UDP lookups, using a fast infrastructure :\n- sockets kmem_cache use SLAB_DESTROY_BY_RCU and dont pay the\n  price of call_rcu() at freeing time.\n- hlist_nulls permits to use few memory barriers.\n\nThis patch uses same infrastructure for TCP/DCCP established\nand timewait sockets.\n\nThanks to SLAB_DESTROY_BY_RCU, no slowdown for applications\nusing short lived TCP connections. A followup patch, converting\nrwlocks to spinlocks will even speedup this case.\n\n__inet_lookup_established() is pretty fast now we dont have to\ndirty a contended cache line (read_lock/read_unlock)\n\nOnly established and timewait hashtable are converted to RCU\n(bind table and listen table are still using traditional locking)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88ab1932eac721c6e7336708558fa5ed02c85c80",
      "tree": "c8788a1e3de08100bca341fa4180adfe5d02880f",
      "parents": [
        "bbaffaca4810de1a25e32ecaf836eeaacc7a3d11"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:39:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:39:21 2008 -0800"
      },
      "message": "udp: Use hlist_nulls in UDP RCU code\n\nThis is a straightforward patch, using hlist_nulls infrastructure.\n\nRCUification already done on UDP two weeks ago.\n\nUsing hlist_nulls permits us to avoid some memory barriers, both\nat lookup time and delete time.\n\nPatch is large because it adds new macros to include/net/sock.h.\nThese macros will be used by TCP \u0026 DCCP in next patch.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8b2dfe9b4501ed0047459b2756ba26e5a940a69",
      "tree": "6f7d497284a8951b8681517f7866851b32a7b02e",
      "parents": [
        "8164f1b79731ad8ad9c713dc53d587a3b746f82f"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Sun Nov 16 19:32:39 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:32:39 2008 -0800"
      },
      "message": "TPROXY: implemented IP_RECVORIGDSTADDR socket option\n\nIn case UDP traffic is redirected to a local UDP socket,\nthe originally addressed destination address/port\ncannot be recovered with the in-kernel tproxy.\n\nThis patch adds an IP_RECVORIGDSTADDR sockopt that enables\na IP_ORIGDSTADDR ancillary message in recvmsg(). This\nancillary message contains the original destination address/port\nof the packet being received.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8164f1b79731ad8ad9c713dc53d587a3b746f82f",
      "tree": "d9e9cf462fccbfbc217b064dcf41789033faf7e9",
      "parents": [
        "6ea7ae1d0fc02a6c4ccd27e43346f67c44226e7a"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Sun Nov 16 19:19:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:19:38 2008 -0800"
      },
      "message": "ipv4: Fix ARP behavior with many mac-vlans\n\nBen Greear wrote:\n\u003e I have 500 mac-vlans on a system talking to 500 other\n\u003e mac-vlans.  My problem is that the arp-table gets extremely\n\u003e huge because every time an arp-request comes in on all mac-vlans,\n\u003e a stale arp entry is added for each mac-vlan.  I have filtering\n\u003e turned on, but that doesn\u0027t help because the neigh_event_ns call\n\u003e below will cause a stale neighbor entry to be created regardless\n\u003e of whether a replay will be sent or not.\n\u003e Maybe the neigh_event code should be below the checks for dont_send,\n\u003e and only create check neigh_event_ns if we are !dont_send?\n\nThe attached patch makes it work much better for me.  The patch\nwill cause the code to NOT create a stale neighbor entry if we\nare not going to respond to the ARP request.  The old code\n*would* create a stale entry even if we are not going to respond.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5421ae0153b4ba0469967cfd8de96144e3bf3979",
      "tree": "99a47894d513e8726cc96b5eff26b16adfc619b9",
      "parents": [
        "d8c3e23d06c1020f38b7b6290135a9522a2e3052"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Nov 14 14:51:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 14 14:51:45 2008 -0800"
      },
      "message": "scm: fix scm_fp_list-\u003elist initialization made in wrong place\n\nThis is the next page of the scm recursion story (the commit \nf8d570a4 net: Fix recursive descent in __scm_destroy()).\n\nIn function scm_fp_dup(), the INIT_LIST_HEAD(\u0026fpl-\u003elist) of newly\ncreated fpl is done *before* the subsequent memcpy from the old \nstructure and thus the freshly initialized list is overwritten.\n\nBut that\u0027s OK, since this initialization is not required at all,\nsince the fpl-\u003elist is list_add-ed at the destruction time in any\ncase (and is unused in other code), so I propose to drop both\ninitializations, rather than moving it after the memcpy.\n\nPlease, correct me if I miss something significant.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef711cf1d156428d4c2911b8c86c6ce90519dc45",
      "tree": "3c5f5f34d70585d7bd2455f288fe7efe4b272710",
      "parents": [
        "f30ab418a1d3c5a8b83493e7d70d6876a74aa0ce"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 14 00:53:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 14 00:53:54 2008 -0800"
      },
      "message": "net: speedup dst_release()\n\nDuring tbench/oprofile sessions, I found that dst_release() was in third position.\n\nCPU: Core 2, speed 2999.68 MHz (estimated)\nCounted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000\nsamples  %        symbol name\n483726    9.0185  __copy_user_zeroing_intel\n191466    3.5697  __copy_user_intel\n185475    3.4580  dst_release\n175114    3.2648  ip_queue_xmit\n153447    2.8608  tcp_sendmsg\n108775    2.0280  tcp_recvmsg\n102659    1.9140  sysenter_past_esp\n101450    1.8914  tcp_current_mss\n95067     1.7724  __copy_from_user_ll\n86531     1.6133  tcp_transmit_skb\n\nOf course, all CPUS fight on the dst_entry associated with 127.0.0.1 \n\nInstead of first checking the refcount value, then decrement it,\nwe use atomic_dec_return() to help CPU to make the right memory transaction\n(ie getting the cache line in exclusive mode)\n\ndst_release() is now at the fifth position, and tbench a litle bit faster ;)\n\nCPU: Core 2, speed 3000.1 MHz (estimated)\nCounted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000\nsamples  %        symbol name\n647107    8.8072  __copy_user_zeroing_intel\n258840    3.5229  ip_queue_xmit\n258302    3.5155  __copy_user_intel\n209629    2.8531  tcp_sendmsg\n165632    2.2543  dst_release\n149232    2.0311  tcp_current_mss\n147821    2.0119  tcp_recvmsg\n137893    1.8767  sysenter_past_esp\n127473    1.7349  __copy_from_user_ll\n121308    1.6510  ip_finish_output\n118510    1.6129  tcp_transmit_skb\n109295    1.4875  tcp_v4_rcv\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8f6fbf62de37cbc2e179176ac7010d5f4396b67",
      "tree": "ac22d719c3c93d24b7eeda395b3271be60bfc661",
      "parents": [
        "1fa989e80a9a104bf3b81842a5f4c1867d7aa9c4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 01:38:36 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 13 23:19:10 2008 -0800"
      },
      "message": "lockdep: include/linux/lockdep.h - fix warning in net/bluetooth/af_bluetooth.c\n\nfix this warning:\n\n  net/bluetooth/af_bluetooth.c:60: warning: ‘bt_key_strings’ defined but not used\n  net/bluetooth/af_bluetooth.c:71: warning: ‘bt_slock_key_strings’ defined but not used\n\nthis is a lockdep macro problem in the !LOCKDEP case.\n\nWe cannot convert it to an inline because the macro works on multiple types,\nbut we can mark the parameter used.\n\n[ also clean up a misaligned tab in sock_lock_init_class_and_name() ]\n\n[ also remove #ifdefs from around af_family_clock_key strings - which\n  were certainly added to get rid of the ugly build warnings. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f30ab418a1d3c5a8b83493e7d70d6876a74aa0ce",
      "tree": "271f0d093d2436b0d0ebdff151fc4f5b1fb15f21",
      "parents": [
        "38a7ddffa4b79d7b1fbc9bf2fa82b21b72622858"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Nov 13 22:56:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 13 22:56:30 2008 -0800"
      },
      "message": "pkt_sched: Remove qdisc-\u003eops-\u003erequeue() etc.\n\nAfter implementing qdisc-\u003eops-\u003epeek() and changing sch_netem into\nclassless qdisc there are no more qdisc-\u003eops-\u003erequeue() users. This\npatch removes this method with its wrappers (qdisc_requeue()), and\nalso unused qdisc-\u003erequeue structure. There are a few minor fixes of\nwarnings (htb_enqueue()) and comments btw.\n\nThe idea to kill -\u003erequeue() and a similar patch were first developed\nby David S. Miller.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "524ad0a79126efabf58d0a49eace6155ab5b4549",
      "tree": "927e79d7d28d2c563c5beba74f06527df564e31c",
      "parents": [
        "8f15ea42b64941001a401cf855a0869e24f3a845"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Wed Nov 12 23:39:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 23:39:10 2008 -0800"
      },
      "message": "netdevice: safe convert to netdev_priv() #part-4\n\nWe have some reasons to kill netdev-\u003epriv:\n1. netdev-\u003epriv is equal to netdev_priv().\n2. netdev_priv() wraps the calculation of netdev-\u003epriv\u0027s offset, obviously\n   netdev_priv() is more flexible than netdev-\u003epriv.\nBut we cann\u0027t kill netdev-\u003epriv, because so many drivers reference to it\ndirectly.\n\nThis patch is a safe convert for netdev-\u003epriv to netdev_priv(netdev).\nSince all of the netdev-\u003epriv is only for read.\nBut it is too big to be sent in one mail.\nI split it to 4 parts and make every part smaller than 100,000 bytes,\nwhich is max size allowed by vger.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fa989e80a9a104bf3b81842a5f4c1867d7aa9c4",
      "tree": "ba93b3290e87e302e295f6bd981f159127a36ee5",
      "parents": [
        "9c0188acf6dd6990bac9cd906cd554a1476c6d12"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Nov 12 11:05:17 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 23:33:57 2008 -0800"
      },
      "message": "9p: restrict RDMA usage\n\nMake 9p\u0027s RDMA option depend on INET since it uses Infiniband rdma_*\nfunctions and that code depends on INET.  Otherwise 9p can try to\nuse symbols which don\u0027t exist.\n\nERROR: \"rdma_destroy_id\" [net/9p/9pnet_rdma.ko] undefined!\nERROR: \"rdma_connect\" [net/9p/9pnet_rdma.ko] undefined!\nERROR: \"rdma_create_id\" [net/9p/9pnet_rdma.ko] undefined!\nERROR: \"rdma_create_qp\" [net/9p/9pnet_rdma.ko] undefined!\nERROR: \"rdma_resolve_route\" [net/9p/9pnet_rdma.ko] undefined!\nERROR: \"rdma_disconnect\" [net/9p/9pnet_rdma.ko] undefined!\nERROR: \"rdma_resolve_addr\" [net/9p/9pnet_rdma.ko] undefined!\n\nI used an if/endif block so that the menu items would remain\npresented together.\n\nAlso correct an article adjective.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a12122c7a00347da9669cfcde82954c9e3d6f5e",
      "tree": "d428eca1cae725f4224288607460fce5c9925266",
      "parents": [
        "2378982487c492541d17adc0a870e7e83b07ba43"
      ],
      "author": {
        "name": "Arnaud Ebalard",
        "email": "arno@natisbad.org",
        "time": "Wed Nov 12 23:28:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 23:28:15 2008 -0800"
      },
      "message": "net: Remove unused parameter of xfrm_gen_index()\n\nIn commit 2518c7c2b3d7f0a6b302b4efe17c911f8dd4049f (\"[XFRM]: Hash\npolicies when non-prefixed.\"), the last use of xfrm_gen_policy() first\nargument was removed, but the argument was left behind in the\nprototype.\n\nSigned-off-by: Arnaud Ebalard \u003carno@natisbad.org\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c0188acf6dd6990bac9cd906cd554a1476c6d12",
      "tree": "100ef7c91c64efeb05b3c304d1f8a18dfcb3f941",
      "parents": [
        "6e093d9dfffc9a02cd54d36904c62f705f09900a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Nov 12 23:23:51 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 23:23:51 2008 -0800"
      },
      "message": "net: shy netns_ok check\n\nFailure to pass netns_ok check is SILENT, except some MIB counter is\nincremented somewhere.\n\nAnd adding \"netns_ok \u003d 1\" (after long head-scratching session) is\nusually the last step in making some protocol netns-ready...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e093d9dfffc9a02cd54d36904c62f705f09900a",
      "tree": "b9250d24821ffa8edb55fee50e0d695afd23a6f9",
      "parents": [
        "b2af2c1d3e4ddeea9d02c46d0df0c322cc7b7061"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Wed Nov 12 22:59:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 22:59:21 2008 -0800"
      },
      "message": "ipv6: routing header fixes\n\nThis patch fixes two bugs:\n\n1. setsockopt() of anything but a Type 2 routing header should return\nEINVAL instead of EPERM.  Noticed by Shan Wei\n(shanwei@cn.fujitsu.com).\n\n2. setsockopt()/sendmsg() of a Type 2 routing header with invalid\nlength or segments should return EINVAL.  These values are statically\nfixed in RFC 3775, unlike the variable Type 0 was.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddd535c713c788f3c23c6548c4ba985a7593113c",
      "tree": "bb7ed2fc52c1e99803c47e4c2134ced01161f1f2",
      "parents": [
        "e23a59e1ca6d177a57a7791b3629db93ff1d9813",
        "f7cd168645dda3e9067f24fabbfa787f9a237488"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 14:37:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 14:37:29 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "db7fb86b0ca565cf3537401612581a8158025cc2",
      "tree": "67da233b8a1958328eb73d39ceecf6fc11c8b30a",
      "parents": [
        "8f7c41d4cec91cdbfa89b4a77d5a628938875366"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Nov 11 11:28:04 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 12 16:49:53 2008 -0500"
      },
      "message": "mac80211: fix notify_mac function\n\nThe ieee80211_notify_mac() function uses ieee80211_sta_req_auth() which\nin turn calls ieee80211_set_disassoc() which calls a few functions that\nneed to be able to sleep, so ieee80211_notify_mac() cannot use RCU\nlocking for the interface list and must use rtnl locking instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d35aac10eb7bcb3b80bef16b60844af0313f47f7",
      "tree": "643428ea3f2d78cf9feb7470d812818f4a8dc690",
      "parents": [
        "8f65b5354b1a34a536641bd915958662e8af5320"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Wed Nov 12 01:54:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 01:54:56 2008 -0800"
      },
      "message": "net: put_cmsg_compat + SO_TIMESTAMP[NS]: use same name for value as caller\n\nIn __sock_recv_timestamp() the additional SCM_TIMESTAMP[NS] is used. This\nhas the same value as SO_TIMESTAMP[NS], so this is a purely cosmetic change.\n\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f65b5354b1a34a536641bd915958662e8af5320",
      "tree": "2870ccd815f0d8524487c1d33aa6349244e33b16",
      "parents": [
        "d809a1595610a7c0b0bd55f159e5dc37def0ac28"
      ],
      "author": {
        "name": "Doug Leith",
        "email": "doug.leith@nuim.ie",
        "time": "Wed Nov 12 01:41:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 01:41:09 2008 -0800"
      },
      "message": "tcp_htcp: last_cong bug fix\n\nThis patch fixes a minor bug in tcp_htcp.c which has been\nhighlighted by Lachlan Andrew and Lawrence Stewart.  Currently, the\ntime since the last congestion event, which is stored in variable\nlast_cong, is reset whenever there is a state change into\nTCP_CA_Open.  This includes transitions of the type\nTCP_CA_Open-\u003eTCP_CA_Disorder-\u003eTCP_CA_Open which are not associated\nwith backoff of cwnd.  The patch changes last_cong to be updated\nonly on transitions into TCP_CA_Open that occur after experiencing\nthe congestion-related states TCP_CA_Loss, TCP_CA_Recovery,\nTCP_CA_CWR.\n\nSigned-off-by: Doug Leith \u003cdoug.leith@nuim.ie\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e42ea986e4a4cab4209d982feffcaf50f21e80e3",
      "tree": "da674327f247cf325320caef87df6af5a0af8fd6",
      "parents": [
        "7a9546ee354ec6f23af403992b8c07baa50a23d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 12 00:54:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:54:54 2008 -0800"
      },
      "message": "net: Cleanup of neighbour code\n\nUsing read_pnet() and write_pnet() in neighbour code ease the reading\nof code.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a9546ee354ec6f23af403992b8c07baa50a23d2",
      "tree": "8536e2f4aa79921c0b2666795cdff91be80a2057",
      "parents": [
        "8f424b5f32d78b4f353b3cddca9804808ef063eb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 12 00:54:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:54:20 2008 -0800"
      },
      "message": "net: ib_net pointer should depends on CONFIG_NET_NS\n\nWe can shrink size of \"struct inet_bind_bucket\" by 50%, using\nread_pnet() and write_pnet()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9eca0a47dee201a73967026985b5f0a79a46bd36",
      "tree": "beb39fbd3c28865705d7409aa35fd59914257da9",
      "parents": [
        "d90ebcbfa7f5a8b4e20518c9f94c5c4e4cd3c2e5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Nov 12 00:48:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:48:44 2008 -0800"
      },
      "message": "dccp: Resolve dependencies of features on choice of CCID\n\nThis provides a missing link in the code chain, as several features implicitly\ndepend and/or rely on the choice of CCID. Most notably, this is the Send Ack Vector\nfeature, but also Ack Ratio and Send Loss Event Rate (also taken care of).\n\nFor Send Ack Vector, the situation is as follows:\n * since CCID2 mandates the use of Ack Vectors, there is no point in allowing \n   endpoints which use CCID2 to disable Ack Vector features such a connection;\n\n * a peer with a TX CCID of CCID2 will always expect Ack Vectors, and a peer\n   with a RX CCID of CCID2 must always send Ack Vectors (RFC 4341, sec. 4);\n\n * for all other CCIDs, the use of (Send) Ack Vector is optional and thus\n   negotiable. However, this implies that the code negotiating the use of Ack\n   Vectors also supports it (i.e. is able to supply and to either parse or\n   ignore received Ack Vectors). Since this is not the case (CCID-3 has no Ack\n   Vector support), the use of Ack Vectors is here disabled, with a comment\n   in the source code.\n\nAn analogous consideration arises for the Send Loss Event Rate feature,\nsince the CCID-3 implementation does not support the loss interval options\nof RFC 4342. To make such use explicit, corresponding feature-negotiation\noptions are inserted which signal the use of the loss event rate option,\nas it is used by the CCID3 code.\n\nLastly, the values of the Ack Ratio feature are matched to the choice of CCID.\n\nThe patch implements this as a function which is called after the user has\nmade all other registrations for changing default values of features.\n\nThe table is variable-length, the reserved (and hence for feature-negotiation\ninvalid, confirmed by considering section 19.4 of RFC 4340) feature number `0\u0027\nis used to mark the end of the table.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d90ebcbfa7f5a8b4e20518c9f94c5c4e4cd3c2e5",
      "tree": "b1fb407c7ee1adbe8215311675d133a83a2d55b5",
      "parents": [
        "e8ef967a54f401ac5e8637b7f7f8bddb006144c4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Nov 12 00:47:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:47:26 2008 -0800"
      },
      "message": "dccp: Query supported CCIDs\n\nThis provides a data structure to record which CCIDs are locally supported\nand three accessor functions:\n - a test function for internal use which is used to validate CCID requests\n   made by the user;\n - a copy function so that the list can be used for feature-negotiation;   \n - documented getsockopt() support so that the user can query capabilities.\n\nThe data structure is a table which is filled in at compile-time with the\nlist of available CCIDs (which in turn depends on the Kconfig choices).\n\nUsing the copy function for cloning the list of supported CCIDs is useful for\nfeature negotiation, since the negotiation is now with the full list of available\nCCIDs (e.g. {2, 3}) instead of the default value {2}. This means negotiation \nwill not fail if the peer requests to use CCID3 instead of CCID2. \n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8ef967a54f401ac5e8637b7f7f8bddb006144c4",
      "tree": "37f7e6b384f27f30158e8f5d750fa3235951265d",
      "parents": [
        "f74e91b6cca5889e667193c7e794186db73c2000"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Nov 12 00:43:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:43:40 2008 -0800"
      },
      "message": "dccp: Registration routines for changing feature values\n\nTwo registration routines, for SP and NN features, are provided by this patch,\nreplacing a previous routine which was used for both feature types.\n\nThese are internal-only routines and therefore start with `__feat_register\u0027.\n\nIt further exports the known limits of Sequence Window and Ack Ratio as symbolic\nconstants.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f74e91b6cca5889e667193c7e794186db73c2000",
      "tree": "10f6a612d97b3ab5ba4ecd75b6decb669f178d76",
      "parents": [
        "6bb3ce25d05f2990c8a19adaf427531430267c1f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Nov 12 00:42:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:42:58 2008 -0800"
      },
      "message": "dccp: Limit feature negotiation to connection setup phase\n\nThis patch limits feature (capability) negotation to the connection setup phase:\n\n 1. Although it is theoretically possible to perform feature negotiation at any\n    time (and RFC 4340 supports this), in practice this is prohibitively complex,\n    as it requires to put traffic on hold for each new negotiation.\n 2. As a byproduct of restricting feature negotiation to connection setup, the\n    feature-negotiation retransmit timer is no longer required. This part is now\n    mapped onto the protocol-level retransmission.\n    Details indicating why timers are no longer needed can be found on\n    http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\\\n\t                                      implementation_notes.html\n\nThis patch disables anytime negotiation, subsequent patches work out full\nfeature negotiation support for connection setup.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6bb3ce25d05f2990c8a19adaf427531430267c1f",
      "tree": "38c19e4776b36163b9d100258139d58287475f6b",
      "parents": [
        "9b739ba5e66c96938fbc07a4dbd9da5b81eac56f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 11 17:25:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 17:25:22 2008 -0800"
      },
      "message": "net: remove struct dst_entry::entry_size\n\nUnused after kmem_cache_zalloc() conversion.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b739ba5e66c96938fbc07a4dbd9da5b81eac56f",
      "tree": "7a9fe83f69aac8b870144ee90a2b6071a3f96165",
      "parents": [
        "7e452baf6b96b5aeba097afd91501d33d390cc97"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 11 16:47:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 16:47:44 2008 -0800"
      },
      "message": "net: remove struct neigh_table::pde\n\n-\u003epde isn\u0027t actually needed, since name is stashed in -\u003eid.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e452baf6b96b5aeba097afd91501d33d390cc97",
      "tree": "9b0e062d3677d50d731ffd0fba47423bfdee9253",
      "parents": [
        "3ac38c3a2e7dac3f8f35a56eb85c27881a4c3833",
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 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/message/fusion/mptlan.c\n\tdrivers/net/sfc/ethtool.c\n\tnet/mac80211/debugfs_sta.c\n"
    },
    {
      "commit": "0a4cf2c8786219b4871c37240ab9787a61d843ee",
      "tree": "a126516733f3a757711754bbac189417c79d8bcb",
      "parents": [
        "4694516d1987303dd83bfd0efdd36fa5b65d701b",
        "df02c6ff2e3937379b31ea161b53229134fe92f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:20:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:20:29 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  dsa: fix master interface allmulti/promisc handling\n  dsa: fix skb-\u003epkt_type when mac address of slave interface differs\n  net: fix setting of skb-\u003etail in skb_recycle_check()\n  net: fix /proc/net/snmp as memory corruptor\n  mac80211: fix a buffer overrun in station debug code\n  netfilter: payload_len is be16, add size of struct rather than size of pointer\n  ipv6: fix ip6_mr_init error path\n  [4/4] dca: fixup initialization dependency\n  [3/4] I/OAT: fix async_tx.callback checking\n  [2/4] I/OAT: fix dma_pin_iovec_pages() error handling\n  [1/4] I/OAT: fix channel resources free for not allocated channels\n  ssb: Fix DMA-API compilation for non-PCI systems\n  SSB: hide empty sub menu\n  vlan: Fix typos in proc output string\n  [netdrvr] usb/hso: Cleanup rfkill error handling\n  sfc: Correct address of gPXE boot configuration in EEPROM\n  el3_common_init() should be __devinit, not __init\n  hso: rfkill type should be WWAN\n  mlx4_en: Start port error flow bug fix\n  af_key: mark policy as dead before destroying\n"
    }
  ],
  "next": "df02c6ff2e3937379b31ea161b53229134fe92f7"
}
