)]}'
{
  "log": [
    {
      "commit": "bf7394ccc13fe291d9258f01113b4c61214ddeae",
      "tree": "0ed848f769bf5117fd96f03ffdc3bf0ec8a8e2b2",
      "parents": [
        "b380b0d4f7dffcc235c0facefa537d4655619101"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 12:38:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 12:38:09 2008 -0700"
      },
      "message": "Revert \"mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM\"\n\nThis reverts commit 087d833e5a9f67ba933cb32eaf5a2279c1a5b47c, which was\nreported to break wireless at least in some combinations with 32bit user\nspace and a 64bit kernel.  Alex Williamnson bisected it to this commit.\n\nReported-and-bisected-by: Alex Williamson \u003calex.williamson@hp.com\u003e\nAcked-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "316343e2cfd9a4bb4c70d0e1991e7a74840fe29e",
      "tree": "3608312dfc3c6af92c9abb79f0b8984d0473feee",
      "parents": [
        "ec0c15afb41fd9ad45b53468b60db50170e22346",
        "fca1287a3a9246d4facc27a0a455fada18fd1164"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 03 16:21:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 03 16:21:02 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  bnx2x: Accessing un-mapped page\n  ath9k: Fix TX control flag use for no ACK and RTS/CTS\n  ath9k: Fix TX status reporting\n  iwlwifi: fix STATUS_EXIT_PENDING is not set on pci_remove\n  iwlwifi: call apm stop on exit\n  iwlwifi: fix Tx cmd memory allocation failure handling\n  iwlwifi: fix rx_chain computation\n  iwlwifi: fix station mimo power save values\n  iwlwifi: remove false rxon if rx chain changes\n  iwlwifi: fix hidden ssid discovery in passive channels\n  iwlwifi: W/A for the TSF correction in IBSS\n  netxen: Remove workaround for chipset quirk\n  pcnet-cs, axnet_cs: add new IDs, remove dup ID with less info\n  ixgbe: initialize interrupt throttle rate\n  net/usb/pegasus: avoid hundreds of diagnostics\n  tipc: Don\u0027t use structure names which easily globally conflict.\n"
    },
    {
      "commit": "6c00055a819ce8a6e2c3af2f65d4ea1a8559c491",
      "tree": "10a99e61740723be45ba056b2edd623d237c0207",
      "parents": [
        "37b08e34a98c664bea86e3fae718ac45a46b7276"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 23:38:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 23:38:32 2008 -0700"
      },
      "message": "tipc: Don\u0027t use structure names which easily globally conflict.\n\nAndrew Morton reported a build failure on sparc32, because TIPC\nuses names like \"struct node\" and there is a like named data\nstructure defined in linux/node.h\n\nThis just regexp replaces \"struct node*\" to \"struct tipc_node*\"\nto avoid this and any future similar problems.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d26acd92fa990764b72608a68224f46fac377032",
      "tree": "2f14b3669e2efcd403c5309a3dc71b9551718e8c",
      "parents": [
        "fbb16e243887332dd5754e48ffe5b963378f3cd2",
        "37b08e34a98c664bea86e3fae718ac45a46b7276"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 21:02:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 21:02:14 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  ipsec: Fix deadlock in xfrm_state management.\n  ipv: Re-enable IP when MTU \u003e 68\n  net/xfrm: Use an IS_ERR test rather than a NULL test\n  ath9: Fix ath_rx_flush_tid() for IRQs disabled kernel warning message.\n  ath9k: Incorrect key used when group and pairwise ciphers are different.\n  rt2x00: Compiler warning unmasked by fix of BUILD_BUG_ON\n  mac80211: Fix debugfs union misuse and pointer corruption\n  wireless/libertas/if_cs.c: fix memory leaks\n  orinoco: Multicast to the specified addresses\n  iwlwifi: fix 64bit platform firmware loading\n  iwlwifi: fix apm_stop (wrong bit polarity for FLAG_INIT_DONE)\n  iwlwifi: workaround interrupt handling no some platforms\n  iwlwifi: do not use GFP_DMA in iwl_tx_queue_init\n  net/wireless/Kconfig: clarify the description for CONFIG_WIRELESS_EXT_SYSFS\n  net: Unbreak userspace usage of linux/mroute.h\n  pkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()\n  ipv6: When we droped a packet, we should return NET_RX_DROP instead of 0\n"
    },
    {
      "commit": "37b08e34a98c664bea86e3fae718ac45a46b7276",
      "tree": "8d0cc32bdbfda4d992177aeda56700bea0f918dd",
      "parents": [
        "06770843c2f0f929a6e0c758dc433902a01aabfb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 20:14:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 20:14:15 2008 -0700"
      },
      "message": "ipsec: Fix deadlock in xfrm_state management.\n\nEver since commit 4c563f7669c10a12354b72b518c2287ffc6ebfb3\n(\"[XFRM]: Speed up xfrm_policy and xfrm_state walking\") it is\nillegal to call __xfrm_state_destroy (and thus xfrm_state_put())\nwith xfrm_state_lock held.  If we do, we\u0027ll deadlock since we\nhave the lock already and __xfrm_state_destroy() tries to take\nit again.\n\nFix this by pushing the xfrm_state_put() calls after the lock\nis dropped.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06770843c2f0f929a6e0c758dc433902a01aabfb",
      "tree": "b579cbcf3f960289cfe5c586f7e38a03abc88df6",
      "parents": [
        "9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a"
      ],
      "author": {
        "name": "Breno Leitao",
        "email": "leitao@linux.vnet.ibm.com",
        "time": "Tue Sep 02 17:28:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 17:28:58 2008 -0700"
      },
      "message": "ipv: Re-enable IP when MTU \u003e 68\n\nRe-enable IP when the MTU gets back to a valid size. \n\nThis patch just checks if the in_dev is NULL on a NETDEV_CHANGEMTU event\nand if MTU is valid (bigger than 68), then re-enable in_dev. \n\nAlso a function that checks valid MTU size was created.\n\nSigned-off-by: Breno Leitao \u003cleitao@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a",
      "tree": "a079c58127d8aae4977c0650e5327859e93e22e9",
      "parents": [
        "773b4e02be28220e9ead80a5fdb180031361439a"
      ],
      "author": {
        "name": "Julien Brunel",
        "email": "brunel@diku.dk",
        "time": "Tue Sep 02 17:24:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 17:24:28 2008 -0700"
      },
      "message": "net/xfrm: Use an IS_ERR test rather than a NULL test\n\nIn case of error, the function xfrm_bundle_create returns an ERR\npointer, but never returns a NULL pointer. So a NULL test that comes\nafter an IS_ERR test should be deleted.\n\nThe semantic match that finds this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@match_bad_null_test@\nexpression x, E;\nstatement S1,S2;\n@@\nx \u003d  xfrm_bundle_create(...)\n... when !\u003d x \u003d E\n*  if (x !\u003d NULL) \nS1 else S2\n// \u003c/smpl\u003e\n\nSigned-off-by: Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b58b209399844995ad48e421267e359e16c03db",
      "tree": "25f04fc9b6efa005666fff54f0ccecc38fa32b83",
      "parents": [
        "9a52028e534b0567913a4144060e774891c00a37"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Thu Aug 28 15:12:06 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 02 17:39:50 2008 -0400"
      },
      "message": "mac80211: Fix debugfs union misuse and pointer corruption\n\ndebugfs union in struct ieee80211_sub_if_data is misused by including a\ncommon default_key dentry as a union member. This ends occupying the same\nmemory area with the first dentry in other union members (structures;\nusually drop_unencrypted). Consequently, debugfs operations on\ndefault_key symlinks and drop_unencrypted entry are using the same\ndentry pointer even though they are supposed to be separate ones. This\ncan lead to removing entries incorrectly or potentially leaving\nsomething behind since one of the dentry pointers gets lost.\n\nFix this by moving the default_key dentry to a new struct\n(common_debugfs) that contains dentries (more to be added in future)\nthat are shared by all vif types. The debugfs union must only be used\nfor vif type-specific entries to avoid this type of pointer corruption.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d9664741e0e2216770d6e52646474d3982b8eb55",
      "tree": "19892a41a970bbda679a44dc2bbb974aad2d6d81",
      "parents": [
        "7c19a3d280297d43ef5ff7c6b205dc208a16d3d1"
      ],
      "author": {
        "name": "Florian Mickler",
        "email": "florian@mickler.org",
        "time": "Tue Sep 02 15:26:34 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 02 15:03:19 2008 -0400"
      },
      "message": "net/wireless/Kconfig: clarify the description for CONFIG_WIRELESS_EXT_SYSFS\n\nCurrent setup with hal and NetworkManager will fail to work\nwithout newest hal version with this config option disabled.\n\nAlthough this will solve itself by time, at the moment it is\ndishonest to say that we don\u0027t know any software that uses it,\nif there are many many people relying on old hal versions.\n\nSigned-off-by: Florian Mickler \u003cflorian@mickler.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e77295dc9e6b52281ae85af4068f13752524e9f4",
      "tree": "fca6b723f6c91f2af79b28f05c05e114720fbe66",
      "parents": [
        "1136cf11066a32d4ac2a476dac302858d763703d",
        "91b80969ba466ba4b915a4a1d03add8c297add3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 10:58:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 10:58:11 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: fix buffer overrun decoding NFSv4 acl\n  sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports\n  nfsd: fix compound state allocation error handling\n  svcrdma: Fix race between svc_rdma_recvfrom thread and the dto_tasklet\n"
    },
    {
      "commit": "27df6f25ff218072e0e879a96beeb398a79cdbc8",
      "tree": "92156018e74a963b2abb94bd51a7e7d6b6a72f34",
      "parents": [
        "c228c24bf1138d4757dbe20615df655815446da3"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Sun Aug 31 19:25:49 2008 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 01 14:24:24 2008 -0400"
      },
      "message": "sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports\n\nVegard Nossum reported\n----------------------\n\u003e I noticed that something weird is going on with /proc/sys/sunrpc/transports.\n\u003e This file is generated in net/sunrpc/sysctl.c, function proc_do_xprt(). When\n\u003e I \"cat\" this file, I get the expected output:\n\u003e    $ cat /proc/sys/sunrpc/transports\n\u003e    tcp 1048576\n\u003e    udp 32768\n\n\u003e But I think that it does not check the length of the buffer supplied by\n\u003e userspace to read(). With my original program, I found that the stack was\n\u003e being overwritten by the characters above, even when the length given to\n\u003e read() was just 1.\n\nDavid Wagner added (among other things) that copy_to_user could be\nprobably used here.\n\nIngo Oeser suggested to use simple_read_from_buffer() here.\n\nThe conclusion is that proc_do_xprt doesn\u0027t check for userside buffer\nsize indeed so fix this by using Ingo\u0027s suggestion.\n\nReported-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCC: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Greg Banks \u003cgnb@sgi.com\u003e\nCc: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "102396ae65108b026e4e1868e30fa013f45a169e",
      "tree": "1164f9020a3fa47460a2ab72e07c3308be2290ee",
      "parents": [
        "3cc76caa98b092a8fb3e7b4303c70f847db0651f"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Aug 29 14:21:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 14:27:52 2008 -0700"
      },
      "message": "pkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()\n\nUse qdisc_root_sleeping_lock() instead of qdisc_root_lock() where\nappropriate. The only difference is while dev is deactivated, when\ncurrently we can use a sleeping qdisc with the lock of noop_qdisc.\nThis shouldn\u0027t be dangerous since after deactivation root lock could\nbe used only by gen_estimator code, but looks wrong anyway.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cc76caa98b092a8fb3e7b4303c70f847db0651f",
      "tree": "ef2380db53d72de84c498c86a4db78b2abe942f4",
      "parents": [
        "d97240552cd98c4b07322f30f66fd9c3ba4171de"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Fri Aug 29 14:06:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 14:27:51 2008 -0700"
      },
      "message": "ipv6: When we droped a packet, we should return NET_RX_DROP instead of 0\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d97240552cd98c4b07322f30f66fd9c3ba4171de",
      "tree": "61a8fd1ace711bcf2c832d0c453d8fbf6f8f3003",
      "parents": [
        "328fc47ea0bcc27d9afa69c3ad6e52431cadd76c"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Aug 27 16:09:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 16:09:49 2008 -0700"
      },
      "message": "sctp: fix random memory dereference with SCTP_HMAC_IDENT option.\n\nThe number of identifiers needs to be checked against the option\nlength.  Also, the identifier index provided needs to be verified\nto make sure that it doesn\u0027t exceed the bounds of the array.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "328fc47ea0bcc27d9afa69c3ad6e52431cadd76c",
      "tree": "5969688468a63ee01db68be4adff671bd9aa85c8",
      "parents": [
        "f2455eb176ac87081bbfc9a44b21c7cd2bc1967e"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Aug 27 16:08:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 16:08:54 2008 -0700"
      },
      "message": "sctp: correct bounds check in sctp_setsockopt_auth_key\n\nThe bonds check to prevent buffer overlflow was not exactly\nright.  It still allowed overflow of up to 8 bytes which is\nsizeof(struct sctp_authkey).\n\nSince optlen is already checked against the size of that struct,\nwe are guaranteed not to cause interger overflow either.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c36810a731a422535d838cdb440f332c1d91017",
      "tree": "ec8c129bbd7b1277cb947621a930ef7dce03d943",
      "parents": [
        "df69471290cbec7714f6d1fabd14f4e41219cee1",
        "576fdeaef631976c3afcb1d78ef196051282611d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 04:29:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 04:29:50 2008 -0700"
      },
      "message": "Merge branch \u0027no-iwlwifi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "d994af0d50efc96b2077978fe9f066992639d525",
      "tree": "5f69b70980175e386815da3ac35d08ed27e8a7a0",
      "parents": [
        "7982d5e1b350acb96aa156916c44c25ef87bb809"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Aug 27 02:35:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:35:18 2008 -0700"
      },
      "message": "ipv4: mode 0555 in ipv4_skeleton\n\nvpnc on today\u0027s kernel says Cannot open \"/proc/sys/net/ipv4/route/flush\":\nd--------- 0 root root 0 2008-08-26 11:32 /proc/sys/net/ipv4/route\nd--------- 0 root root 0 2008-08-26 19:16 /proc/sys/net/ipv4/neigh\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7982d5e1b350acb96aa156916c44c25ef87bb809",
      "tree": "d1af9ffefd6137a2972b203296ea3961282f5ae8",
      "parents": [
        "fe439dd09d3e4da6a44d35df7371b9c6a2661b99"
      ],
      "author": {
        "name": "Philip Love",
        "email": "love_phil@emc.com",
        "time": "Wed Aug 27 02:33:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:33:50 2008 -0700"
      },
      "message": "tcp: fix tcp header size miscalculation when window scale is unused\n\nThe size of the TCP header is miscalculated when the window scale ends\nup being 0. Additionally, this can be induced by sending a SYN to a\npassive open port with a window scale option with value 0.\n\nSigned-off-by: Philip Love \u003clove_phil@emc.com\u003e\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6f9b93f1624206c802ac9162c9302edaf59bfd9",
      "tree": "643bd211bf909118311138e588a78834fad7a40d",
      "parents": [
        "f7a54c13c7b072d9426bd5cec1cdb8306df5ef55"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 27 02:25:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:25:17 2008 -0700"
      },
      "message": "pkt_sched: Fix gen_estimator locks\n\nWhile passing a qdisc root lock to gen_new_estimator() and\ngen_replace_estimator() dev could be deactivated or even before\ngrafting proper root qdisc as qdisc_sleeping (e.g. qdisc_create), so\nusing qdisc_root_lock() is not enough. This patch adds\nqdisc_root_sleeping_lock() for this, plus additional checks, where\nnecessary.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7a54c13c7b072d9426bd5cec1cdb8306df5ef55",
      "tree": "12134183d09f0826e0488fd281e6c0b830270d37",
      "parents": [
        "666d9bbedfff7c2c37eab92e715641922dee6864"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 27 02:22:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:22:07 2008 -0700"
      },
      "message": "pkt_sched: Use rcu_assign_pointer() to change dev_queue-\u003eqdisc\n\nThese pointers are RCU protected, so proper primitives should be used.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "666d9bbedfff7c2c37eab92e715641922dee6864",
      "tree": "5df5a04cad7fb147fca45fa3afc45703765ecc7d",
      "parents": [
        "c2d42545774c4bba7232521d836d0793330e3a4e"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 27 02:12:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:15:20 2008 -0700"
      },
      "message": "pkt_sched: Fix dev_graft_qdisc() locking\n\nDuring dev_graft_qdisc() dev is deactivated, so qdisc_root_lock()\nreturns wrong lock of noop_qdisc instead of qdisc_sleeping.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "576fdeaef631976c3afcb1d78ef196051282611d",
      "tree": "2b4c3172e6627b749ae59ea50f3c55edcbb52ee2",
      "parents": [
        "8ab65b03b7893da4a49009e7e356e36e27b0c407"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:33:34 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:33:34 2008 -0400"
      },
      "message": "mac80211: quiet chatty IBSS merge message\n\nIt seems obvious that this #ifndef should be the opposite polarity...\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8ab65b03b7893da4a49009e7e356e36e27b0c407",
      "tree": "7e5fd53f9e580996ffc1d0447de7866fb4d8be6b",
      "parents": [
        "93015f0f34e81a47c4126329746ce5f364bafd11"
      ],
      "author": {
        "name": "Jan-Espen Pettersen",
        "email": "sigsegv@radiotube.org",
        "time": "Mon Aug 25 20:29:22 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:06:33 2008 -0400"
      },
      "message": "mac80211: don\u0027t send empty extended rates IE\n\nThe association request includes a list of supported data rates.\n\n802.11b: 4 supported rates.\n802.11g: 12 (8 + 4) supported rates.\n802.11a: 8 supported rates.\n\nThe rates tag of the assoc request has room for only 8 rates. In case of\n802.11g an extended rate tag is appended. However in net/wireless/mlme.c\nan extended (empty) rate tag is also appended if the number of rates is\nexact 8. This empty (length\u003d0) extended rates tag causes some APs to\ndeny association with code 18 (unsupported rates). These APs include my\nZyXEL G-570U, and according to Tomas Winkler som Cisco APs.\n\n\u0027If count \u003d\u003d 8\u0027 has been used to check for the need for an extended rates\ntag. But count would also be equal to 8 if the for loop exited because of\nno more supported rates. Therefore a check for count being less than\nrates_len would seem more correct.\n\nThanks to:\n * Dan Williams for newbie guidance\n * Tomas Winkler for confirming the problem\n\nSigned-off-by: Jan-Espen Pettersen \u003csigsegv@radiotube.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "93015f0f34e81a47c4126329746ce5f364bafd11",
      "tree": "a65755403354d28148f8b85627ddf0dd544c9277",
      "parents": [
        "667d8af9af775a5fea203890978037ea750816cc"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Mon Aug 25 11:57:06 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:06:33 2008 -0400"
      },
      "message": "mac80211: Fix debugfs file add/del for netdev\n\nPrevious version was using incorrect union structures for non-AP\ninterfaces when adding and removing max_ratectrl_rateidx and\nforce_unicast_rateidx entries. Depending on the vif type, this ended\nup in corrupting debugfs entries since the dentries inside different\nunion structures ended up going being on top of eachother.. As the\nend result, debugfs files were being left behind with references to\nfreed data (instant kernel oops on access) and directories were not\nremoved properly when unloading mac80211 drivers. This patch fixes\nthose issues by using only a single union structure based on the vif\ntype.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "667d8af9af775a5fea203890978037ea750816cc",
      "tree": "5bdc41ed57b9a5080fd63fafe17c0d5bbd0b0508",
      "parents": [
        "087d833e5a9f67ba933cb32eaf5a2279c1a5b47c"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Aug 23 18:27:38 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:06:32 2008 -0400"
      },
      "message": "net/mac80211/mesh.c: correct the argument to __mesh_table_free\n\nIn the function mesh_table_grow, it is the new table not the argument table\nthat should be freed if the function fails (cf commit\nbd9b448f4c0a514559bdae4ca18ca3e8cd999c6d)\n\nThe semantic match that detects this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nexpression E,f;\nposition p1,p2,p3;\nidentifier l;\nstatement S;\n@@\n\nx \u003d mesh_table_alloc@p1(...)\n...\nif (x \u003d\u003d NULL) S\n... when !\u003d E \u003d x\n    when !\u003d mesh_table_free(x)\ngoto@p2 l;\n... when !\u003d E \u003d x\n    when !\u003d f(...,x,...)\n    when any\n(\nreturn \\(0\\|x\\);\n|\nreturn@p3 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\np3 \u003c\u003c r.p3;\n@@\n\nprint \"%s: call on line %s not freed or saved before return on line %s via line %s\" % (p1[0].file,p1[0].line,p3[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "087d833e5a9f67ba933cb32eaf5a2279c1a5b47c",
      "tree": "4fec52d3c6628184bb5d6ac417fa5409f04d22e6",
      "parents": [
        "988b02f1bf5b608ef91a9d98c7170d037d0f12e3"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Aug 19 10:54:32 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:06:32 2008 -0400"
      },
      "message": "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM\n\nThe previous code was using IWEVCUSTOM to report IEs from AssocReq and\nAssocResp frames into user space. This can easily hit the 256 byte\nlimit (IW_CUSTOM_MAX) with APs that include number of vendor IEs in\nAssocResp. This results in the event message not being sent and dmesg\nshowing \"wlan0 (WE) : Wireless Event too big (366)\" type of errors.\n\nConvert mac80211 to use IWEVASSOCREQIE/IWEVASSOCRESPIE to avoid the\nissue of being unable to send association IEs as wireless events. These\nnewer event types use binary encoding and larger maximum size\n(IW_GENERIC_IE_MAX \u003d 1024), so the likelyhood of not being able to send\nthe IEs is much smaller than with IWEVCUSTOM. As an extra benefit, the\ncode is also quite a bit simpler since there is no need to allocate an\nextra buffer for hex encoding.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "988b02f1bf5b608ef91a9d98c7170d037d0f12e3",
      "tree": "649b8dbc86bb25edef876efbe2c706b2bb098a54",
      "parents": [
        "67d2e2dfab31b4c0497ce8a84d63efc931f10bb7"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "felipe.balbi@nokia.com",
        "time": "Mon Aug 18 22:56:53 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:06:31 2008 -0400"
      },
      "message": "net: rfkill: add missing line break\n\nTrivial patch adding a missing line break on\nrfkill_claim_show().\n\nSigned-off-by: Felipe Balbi \u003cfelipe.balbi@nokia.com\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.co\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ce3113ec57abcd41cc5a2fed02474aee3f63d12c",
      "tree": "33c5eeb01120aeb013f351e9327d05f3e6f9e827",
      "parents": [
        "2f4520d35d89ca6c5cd129c38e3b11f0283b7d1b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 15:18:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 25 15:18:15 2008 -0700"
      },
      "message": "ipv6: sysctl fixes\n\nBraino: net.ipv6 in ipv6 skeleton has no business in rotable\nclass\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f4520d35d89ca6c5cd129c38e3b11f0283b7d1b",
      "tree": "06038a77e1c4f81a7f349a0c49c6a61061b65922",
      "parents": [
        "30c2235cbc477d4629983d440cdc4f496fec9246"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 15:17:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 25 15:17:44 2008 -0700"
      },
      "message": "ipv4: sysctl fixes\n\nnet.ipv4.neigh should be a part of skeleton to avoid ordering problems\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30c2235cbc477d4629983d440cdc4f496fec9246",
      "tree": "c280fcf36c472f1a21a58f74a2dc76dbf337859e",
      "parents": [
        "f410a1fba7afa79d2992620e874a343fdba28332"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Aug 25 15:16:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 25 15:16:19 2008 -0700"
      },
      "message": "sctp: add verification checks to SCTP_AUTH_KEY option\n\nThe structure used for SCTP_AUTH_KEY option contains a\nlength that needs to be verfied to prevent buffer overflow\nconditions.  Spoted by Eugene Teo \u003ceteo@redhat.com\u003e.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f410a1fba7afa79d2992620e874a343fdba28332",
      "tree": "5e08d30678cfadd65a8dfe20bc12160a23faa43d",
      "parents": [
        "fdc0bde90a689b9145f2b6f271c03f4c99d09667"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sat Aug 23 05:16:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 23 05:16:46 2008 -0700"
      },
      "message": "ipv6: protocol for address routes\n\nThis fixes a problem spotted with zebra, but not sure if it is\nnecessary a kernel problem.  With IPV6 when an address is added to an\ninterface, Zebra creates a duplicate RIB entry, one as a connected\nroute, and other as a kernel route.\n\nWhen an address is added to an interface the RTN_NEWADDR message\ncauses Zebra to create a connected route. In IPV4 when an address is\nadded to an interface a RTN_NEWROUTE message is set to user space with\nthe protocol RTPROT_KERNEL. Zebra ignores these messages, because it\nalready has the connected route.\n\nThe problem is that route created in IPV6 has route protocol \u003d\u003d\nRTPROT_BOOT.  Was this a design decision or a bug? This fixes it. Same\npatch applies to both net-2.6 and stable.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdc0bde90a689b9145f2b6f271c03f4c99d09667",
      "tree": "f29db0a155cee7349f20862d0e1601a5696979df",
      "parents": [
        "f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Aug 23 04:43:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 23 04:43:33 2008 -0700"
      },
      "message": "icmp: icmp_sk() should not use smp_processor_id() in preemptible code\n\nPass namespace into icmp_xmit_lock, obtain socket inside and return\nit as a result for caller.\n\nThanks Alexey Dobryan for this report:\n\nSteps to reproduce:\n\n\tCONFIG_PREEMPT\u003dy\n\tCONFIG_DEBUG_PREEMPT\u003dy\n\ttracepath \u003csomething\u003e\n\nBUG: using smp_processor_id() in preemptible [00000000] code: tracepath/3205\ncaller is icmp_sk+0x15/0x30\nPid: 3205, comm: tracepath Not tainted 2.6.27-rc4 #1\n\nCall Trace:\n [\u003cffffffff8031af14\u003e] debug_smp_processor_id+0xe4/0xf0\n [\u003cffffffff80409405\u003e] icmp_sk+0x15/0x30\n [\u003cffffffff8040a17b\u003e] icmp_send+0x4b/0x3f0\n [\u003cffffffff8025a415\u003e] ? trace_hardirqs_on_caller+0xd5/0x160\n [\u003cffffffff8025a4ad\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff8023a475\u003e] ? local_bh_enable_ip+0x95/0x110\n [\u003cffffffff804285b9\u003e] ? _spin_unlock_bh+0x39/0x40\n [\u003cffffffff8025a26c\u003e] ? mark_held_locks+0x4c/0x90\n [\u003cffffffff8025a4ad\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff8025a415\u003e] ? trace_hardirqs_on_caller+0xd5/0x160\n [\u003cffffffff803e91b4\u003e] ip_fragment+0x8d4/0x900\n [\u003cffffffff803e7030\u003e] ? ip_finish_output2+0x0/0x290\n [\u003cffffffff803e91e0\u003e] ? ip_finish_output+0x0/0x60\n [\u003cffffffff803e6650\u003e] ? dst_output+0x0/0x10\n [\u003cffffffff803e922c\u003e] ip_finish_output+0x4c/0x60\n [\u003cffffffff803e92e3\u003e] ip_output+0xa3/0xf0\n [\u003cffffffff803e68d0\u003e] ip_local_out+0x20/0x30\n [\u003cffffffff803e753f\u003e] ip_push_pending_frames+0x27f/0x400\n [\u003cffffffff80406313\u003e] udp_push_pending_frames+0x233/0x3d0\n [\u003cffffffff804067d1\u003e] udp_sendmsg+0x321/0x6f0\n [\u003cffffffff8040d155\u003e] inet_sendmsg+0x45/0x80\n [\u003cffffffff803b967f\u003e] sock_sendmsg+0xdf/0x110\n [\u003cffffffff8024a100\u003e] ? autoremove_wake_function+0x0/0x40\n [\u003cffffffff80257ce5\u003e] ? validate_chain+0x415/0x1010\n [\u003cffffffff8027dc10\u003e] ? __do_fault+0x140/0x450\n [\u003cffffffff802597d0\u003e] ? __lock_acquire+0x260/0x590\n [\u003cffffffff803b9e55\u003e] ? sockfd_lookup_light+0x45/0x80\n [\u003cffffffff803ba50a\u003e] sys_sendto+0xea/0x120\n [\u003cffffffff80428e42\u003e] ? _spin_unlock_irqrestore+0x42/0x80\n [\u003cffffffff803134bc\u003e] ? __up_read+0x4c/0xb0\n [\u003cffffffff8024e0c6\u003e] ? up_read+0x26/0x30\n [\u003cffffffff8020b8bb\u003e] system_call_fastpath+0x16/0x1b\n\nicmp6_sk() is similar.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b",
      "tree": "9d6e3c97a81869fde3958cdbcf431ee3739f9b2c",
      "parents": [
        "2540e0511ea17e25831be543cdf9381e6209950d"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Aug 22 03:24:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 22 03:31:39 2008 -0700"
      },
      "message": "pkt_sched: Fix qdisc list locking\n\nSince some qdiscs call qdisc_tree_decrease_qlen() (so qdisc_lookup())\nwithout rtnl_lock(), adding and deleting from a qdisc list needs\nadditional locking. This patch adds global spinlock qdisc_list_lock\nand wrapper functions for modifying the list. It is considered as a\ntemporary solution until hfsc_dequeue(), netem_dequeue() and\ntbf_dequeue() (or qdisc_tree_decrease_qlen()) are redone.\n\nWith feedback from Herbert Xu and David S. Miller.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2540e0511ea17e25831be543cdf9381e6209950d",
      "tree": "31c505b9957d82125cd7e779d83da0d389f9d336",
      "parents": [
        "5e739d1752aca4e8f3e794d431503bfca3162df4"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Aug 21 05:11:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 21 05:11:14 2008 -0700"
      },
      "message": "pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race\n\ndev_deactivate() can skip rescheduling of a qdisc by qdisc_watchdog()\nor other timer calling netif_schedule() after dev_queue_deactivate().\nWe prevent this checking aliveness before scheduling the timer. Since\nduring deactivation the root qdisc is available only as qdisc_sleeping\nadditional accessor qdisc_root_sleeping() is created.\n\nWith feedback from Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e739d1752aca4e8f3e794d431503bfca3162df4",
      "tree": "c5bdef49d12fbd4bb0eae6fca102607346390cb5",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Aug 21 03:34:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 21 03:34:25 2008 -0700"
      },
      "message": "sctp: fix potential panics in the SCTP-AUTH API.\n\nAll of the SCTP-AUTH socket options could cause a panic\nif the extension is disabled and the API is envoked.\n\nAdditionally, there were some additional assumptions that\ncertain pointers would always be valid which may not\nalways be the case.\n\nThis patch hardens the API and address all of the crash\nscenarios.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "195648bbc5ae0848e82f771ecf4cd7497054c212",
      "tree": "644bc8685cab5f83225558888a4398cd0c93c919",
      "parents": [
        "d2805395aadc105d7228511eb0f42d9eea912003"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 19 04:00:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 19 04:00:36 2008 -0700"
      },
      "message": "pkt_sched: Prevent livelock in TX queue running.\n\nIf dev_deactivate() is trying to quiesce the queue, it\nis theoretically possible for another cpu to livelock\ntrying to process that queue.  This happens because\ndev_deactivate() grabs the queue spinlock as it checks\nthe queue state, whereas net_tx_action() does a trylock\nand reschedules the qdisc if it hits the lock.\n\nThis breaks the livelock by adding a check on\n__QDISC_STATE_DEACTIVATED to net_tx_action() when\nthe trylock fails.\n\nBased upon feedback from Herbert Xu and Jarek Poplawski.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2805395aadc105d7228511eb0f42d9eea912003",
      "tree": "a97b491304831cfc809d1f3d1bcf5280b15bbe8d",
      "parents": [
        "f3b9605d744df537dee10fd06630f35a62b343ec",
        "63fbd24e5102eecfc9d049ed7f4be7f9a25f814f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 19 01:33:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 19 01:33:25 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6\n"
    },
    {
      "commit": "f3b9605d744df537dee10fd06630f35a62b343ec",
      "tree": "ca59a163fa700b36620358940f57f88057db7d8a",
      "parents": [
        "deb3abf15fb92a608fba630da2e8719862731714"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 22:33:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 22:33:05 2008 -0700"
      },
      "message": "Revert \"pkt_sched: Add BH protection for qdisc_stab_lock.\"\n\nThis reverts commit 1cfa26661a85549063e369e2b40275eeaa7b923c.\n\nqdisc_destroy() runs fully under RTNL again and not from softint any\nlonger, so this change is no longer needed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "deb3abf15fb92a608fba630da2e8719862731714",
      "tree": "1a9dddd682bef08a3fddffd647d7d0ee12b08fa5",
      "parents": [
        "e5befbd9525d92bb074b70192eb2c69aae65fc60"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 22:32:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 22:32:10 2008 -0700"
      },
      "message": "Revert \"pkt_sched: Protect gen estimators under est_lock.\"\n\nThis reverts commit d4766692e72422f3b0f0e9ac6773d92baad07d51.\n\nqdisc_destroy() now runs in RTNL fully again, so this\nchange is no longer needed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5befbd9525d92bb074b70192eb2c69aae65fc60",
      "tree": "ad9a3ce178096938f3ccb8c4445d71ace63f3e61",
      "parents": [
        "9f593653742d1dd816c4e94c6e5154a57ccba6d1"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Aug 18 22:30:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 22:30:01 2008 -0700"
      },
      "message": "pkt_sched: remove bogus block (cleanup)\n\n...Last block local var got just deleted.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f593653742d1dd816c4e94c6e5154a57ccba6d1",
      "tree": "1e71181cc80da8dc3d6e1da202943482b9eb5500",
      "parents": [
        "fab00c5d15091546be681426c60b2ed2c10513bf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 18 21:32:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:32:32 2008 -0700"
      },
      "message": "nf_nat: use secure_ipv4_port_ephemeral() for NAT port randomization\n\nUse incoming network tuple as seed for NAT port randomization.\nThis avoids concerns of leaking net_random() bits, and also gives better\nport distribution. Don\u0027t have NAT server, compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n\n[ added missing EXPORT_SYMBOL_GPL ]\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fab00c5d15091546be681426c60b2ed2c10513bf",
      "tree": "b2b2933ae23fdc33410b48f00c0b7a5f6fc76bad",
      "parents": [
        "cb1cb5c47457ff2b604dac2da44cab4d39d11459"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Mon Aug 18 21:31:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:31:46 2008 -0700"
      },
      "message": "netfilter: ctnetlink: sleepable allocation with spin lock bh\n\nThis patch removes a GFP_KERNEL allocation while holding a spin lock with\nbottom halves disabled in ctnetlink_change_helper().\n\nThis problem was introduced in 2.6.23 with the netfilter extension\ninfrastructure.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb1cb5c47457ff2b604dac2da44cab4d39d11459",
      "tree": "3bd23533d093a73d69c748c97486b292786fbc57",
      "parents": [
        "1575e7ea018fec992b94a12a1a491ce693ae9eac"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Mon Aug 18 21:31:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:31:24 2008 -0700"
      },
      "message": "netfilter: ctnetlink: fix sleep in read-side lock section\n\nFix allocation with GFP_KERNEL in ctnetlink_create_conntrack() under\nread-side lock sections.\n\nThis problem was introduced in 2.6.25.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1575e7ea018fec992b94a12a1a491ce693ae9eac",
      "tree": "5a93c71ea8ac0cb1ad0703c0ee03cd52aa268707",
      "parents": [
        "46faec9858e8943226464dac50e205bf210d9174"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Mon Aug 18 21:30:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:30:55 2008 -0700"
      },
      "message": "netfilter: ctnetlink: fix double helper assignation for NAT\u0027ed conntracks\n\nIf we create a conntrack that has NAT handlings and a helper, the helper\nis assigned twice. This happens because nf_nat_setup_info() - via\nnf_conntrack_alter_reply() - sets the helper before ctnetlink, which\nindeed does not check if the conntrack already has a helper as it thinks that\nit is a brand new conntrack.\n\nThe fix moves the helper assignation before the set of the status flags.\nThis avoids a bogus assertion in __nf_ct_ext_add (if netfilter assertions are\nenabled) which checks that the conntrack must not be confirmed.\n\nThis problem was introduced in 2.6.23 with the netfilter extension\ninfrastructure.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "46faec9858e8943226464dac50e205bf210d9174",
      "tree": "548640a9a13c8c9d5c06289d2ea249e0195eb994",
      "parents": [
        "8e0f36ec371ef4804da46d962d5272b3efb04481"
      ],
      "author": {
        "name": "Anders Grafström",
        "email": "grfstrm@users.sourceforge.net",
        "time": "Mon Aug 18 21:29:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:29:57 2008 -0700"
      },
      "message": "netfilter: ipt_addrtype: Fix matching of inverted destination address type\n\nThis patch fixes matching of inverted destination address type.\n\nSigned-off-by: Anders Grafström \u003cgrfstrm@users.sourceforge.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e0f36ec371ef4804da46d962d5272b3efb04481",
      "tree": "7207bb6ffa31c1fe6bf7cddb33561a4ebebd5cc4",
      "parents": [
        "d28934ad8a4e87203a95de9c376611de8bc2f013",
        "3eb75aac8907e7ea36f0d078b2cc7393986001cf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:15:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:15:44 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "d28934ad8a4e87203a95de9c376611de8bc2f013",
      "tree": "4ee2a055492d3c462101edd9945e199450497f30",
      "parents": [
        "4d8863a29c4755a0461cd31b6865026187d6c43a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Aug 18 21:14:20 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:14:20 2008 -0700"
      },
      "message": "dccp: Fix panic caused by too early termination of retransmission mechanism\n\nThanks is due to Wei Yongjun for the detailed analysis and description of this\nbug at http://marc.info/?l\u003ddccp\u0026m\u003d121739364909199\u0026w\u003d2\n\nThe problem is that invalid packets received by a client in state REQUEST cause\nthe retransmission timer for the DCCP-Request to be reset. This includes freeing\nthe Request-skb ( in dccp_rcv_request_sent_state_process() ). As a consequence,\n * the arrival of further packets cause a double-free, triggering a panic(),\n * the connection then may hang, since further retransmissions are blocked.\n\nThis patch changes the order of statements so that the retransmission timer is\nreset, and the pending Request freed, only if a valid Response has arrived (or\nthe number of sysctl-retries has been exhausted).\n\nFurther changes:\n----------------\nTo be on the safe side, replaced __kfree_skb with kfree_skb so that if due to\nunexpected circumstances the sk_send_head is NULL the WARN_ON is used instead.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "4d8863a29c4755a0461cd31b6865026187d6c43a",
      "tree": "502b355314b1ff2e6cef52bf3778aba3bdae80cd",
      "parents": [
        "25bfcd5a78a377ea4c54a3c21e44590e2fc478a6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:03:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:06:19 2008 -0700"
      },
      "message": "pkt_sched: Don\u0027t hold qdisc lock over qdisc_destroy().\n\nBased upon reports by Denys Fedoryshchenko, and feedback\nand help from Jarek Poplawski and Herbert Xu.\n\nWe always either:\n\n1) Never made an external reference to this qdisc.\n\nor\n\n2) Did a dev_deactivate() which purged all asynchronous\n   references.\n\nSo do not lock the qdisc when we call qdisc_destroy(),\nit\u0027s illegal anyways as when we drop the lock this is\nfree\u0027d memory.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25bfcd5a78a377ea4c54a3c21e44590e2fc478a6",
      "tree": "6abe3cb036c724206ec0996351aa8eec12d12b42",
      "parents": [
        "8608db031b4d2932d645709e2cfe8fbcd91a7305"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 18 20:53:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:06:09 2008 -0700"
      },
      "message": "pkt_sched: Add lockdep annotation for qdisc locks\n\nQdisc locks are initialized in the same function, qdisc_alloc(), so\nlockdep can\u0027t distinguish tx qdisc lock from rx and reports \"possible\nrecursive locking detected\" when both these locks are taken eg. while\nusing act_mirred with ifb. This looks like a false positive. Anyway,\nafter this patch these locks will be reported more exactly.\n\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8608db031b4d2932d645709e2cfe8fbcd91a7305",
      "tree": "01b2e63f9f28dddcb5c0dd72e9c8c5b73c866685",
      "parents": [
        "69747650c814a8a79fef412c7416adf823293a3e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 20:51:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:05:56 2008 -0700"
      },
      "message": "pkt_sched: Never schedule non-root qdiscs.\n\nBased upon initial discovery and patch by Jarek Poplawski.\n\nThe qdisc watchdogs can be attached to any qdisc, not just the root,\nso make sure we schedule the correct one.\n\nCBQ has a similar bug.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61dae1f784f0c4ced0d47721c0efc7033231522",
      "tree": "ec180a4272c17607a695b6c9fc040b985b14e28e",
      "parents": [
        "37465c8a3ec7279e3314623d1e2d2a50c10cf79f"
      ],
      "author": {
        "name": "Ron Rindjunsky",
        "email": "ron.rindjunsky@intel.com",
        "time": "Sun Aug 10 00:54:34 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 18 11:05:13 2008 -0400"
      },
      "message": "mac80211: update new sta\u0027s rx timestamp\n\nThis patch fixes needless probe request caused by zero value in\nsta-\u003elast_rx inside ieee80211_associated flow\n\nSigned-off-by: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e10e0dfe3ba358cfb442cc3bf0d3f2068785bf5c",
      "tree": "9921c44240e39f07bf825ede5777f72fbdfe40d0",
      "parents": [
        "aaa1553512b9105699113ea7e2ea726f3d9d4de2"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 14:56:25 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 18 11:05:12 2008 -0400"
      },
      "message": "rfkill: protect suspended rfkill controllers\n\nGuard rfkill controllers attached to a rfkill class against state changes\nafter class suspend has been issued.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "63fbd24e5102eecfc9d049ed7f4be7f9a25f814f",
      "tree": "9ead3c67300ce8bcdbe26d02ba264e84baea930a",
      "parents": [
        "90855d7b725d764d6d70503bcc1b494cf10ddc98"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "message": "[Bluetooth] Consolidate maintainers information\n\nThe Bluetooth entries for the MAINTAINERS file are a little bit too\nmuch. Consolidate them into two entries. One for Bluetooth drivers and\nanother one for the Bluetooth subsystem.\n\nAlso the MODULE_AUTHOR should indicate the current maintainer of the\nmodule and actually not the original author. Fix all Bluetooth modules\nto provide current maintainer information.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "90855d7b725d764d6d70503bcc1b494cf10ddc98",
      "tree": "bad737fb7b8ee6593b3fcddce0233f0eb207ea25",
      "parents": [
        "9bfa35fe422c74882e27cc54450a5f76c96aad68"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "message": "[Bluetooth] Fix userspace breakage due missing class links\n\nThe Bluetooth adapters and connections are best presented via a class\nin sysfs. The removal of the links inside the Bluetooth class broke\nassumptions by userspace programs on how to find attached adapters.\n\nThis patch creates adapters and connections as part of the Bluetooth\nclass, but it uses different device types to distinguish them. The\nuserspace programs can now easily navigate in the sysfs device tree.\n\nThe unused platform device and bus have been removed to keep the\ncode simple and clean.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "69747650c814a8a79fef412c7416adf823293a3e",
      "tree": "c1c83e9ae903b0e93029f0071fdca544d2add340",
      "parents": [
        "96d203169d1d851ac1468f7d4459a09581be364c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 23:55:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 00:39:41 2008 -0700"
      },
      "message": "pkt_sched: Fix return value corruption in HTB and TBF.\n\nBased upon a bug report by Josip Rodin.\n\nPacket schedulers should only return NET_XMIT_DROP iff\nthe packet really was dropped.  If the packet does reach\nthe device after we return NET_XMIT_DROP then TCP can\ncrash because it depends upon the enqueue path return\nvalues being accurate.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96d203169d1d851ac1468f7d4459a09581be364c",
      "tree": "779c9a942452b2bd0f5d7d42cdbc6fa9ca3b14c9",
      "parents": [
        "13601cd8e44aab332cedff1d6dc10786ec890b7b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 23:37:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 23:37:16 2008 -0700"
      },
      "message": "pkt_sched: Fix missed RCU unlock in dev_queue_xmit()\n\nNoticed by Jarek Poplawski.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13601cd8e44aab332cedff1d6dc10786ec890b7b",
      "tree": "8a0477e6b8a958f070db4c35c93b385e478d8a95",
      "parents": [
        "4cf7cb280e4fcfcd7ae7429e17d798d3a44087af"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Sun Aug 17 23:21:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 23:21:52 2008 -0700"
      },
      "message": "ipv6: Fix the return interface index when get it while no message is received.\n\nWhen get receiving interface index while no message is received,\nthe bounded device\u0027s index of the socket should be returned.\n\nRFC 3542:\n   Issuing getsockopt() for the above options will return the sticky\n   option value i.e., the value set with setsockopt().  If no sticky\n   option value has been set getsockopt() will return the following\n   values:\n\n   -  For the IPV6_PKTINFO option, it will return an in6_pktinfo\n      structure with ipi6_addr being in6addr_any and ipi6_ifindex being\n      zero.\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4cf7cb280e4fcfcd7ae7429e17d798d3a44087af",
      "tree": "d0635d3fa1dcb475efb576b25818be66aa99e479",
      "parents": [
        "0d40b6e564bad2047b57a9afc48b701ef3243b89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:45:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:45:17 2008 -0700"
      },
      "message": "sch_prio: Use NET_XMIT_SUCCESS instead of \"0\" constant.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d40b6e564bad2047b57a9afc48b701ef3243b89",
      "tree": "66ec0052d32deacef2892a1cb9c3708b8add5027",
      "parents": [
        "1e0d5a5747772182d1bb2525d8153da640fdfb58"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sun Aug 17 22:43:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:43:56 2008 -0700"
      },
      "message": "sch_prio: Use return value from inner qdisc requeue\n\nUse return value from inner qdisc requeue when value returned isn\u0027t\nNET_XMIT_SUCCESS, instead of always returning NET_XMIT_DROP.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e0d5a5747772182d1bb2525d8153da640fdfb58",
      "tree": "266a7c3e9a01728f7661d5b2976cc33d106b463c",
      "parents": [
        "3a76e3716b4e571f5d91a20b6afb412560599083"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:31:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:31:26 2008 -0700"
      },
      "message": "pkt_sched: No longer destroy qdiscs from RCU.\n\nWe can now kill them synchronously with all of the\nprevious dev_deactivate() cures.\n\nThis makes netdev destruction and shutdown saner as\nthe qdiscs hold references to the device.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a76e3716b4e571f5d91a20b6afb412560599083",
      "tree": "caf2e5e493774bef0bcf82eb489c00b68a0144bf",
      "parents": [
        "4335cd2da1e8986fa8aff21a91144d986cb0a5fc"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Aug 17 22:02:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:02:11 2008 -0700"
      },
      "message": "pkt_sched: Grab correct lock in notify_and_destroy().\n\nFrom: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\n\nWhen we are destroying non-root qdiscs, we need to lock\nthe root of the qdisc tree not the the qdisc itself.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4335cd2da1e8986fa8aff21a91144d986cb0a5fc",
      "tree": "7c39163199086fedc39adad6c733526658d4bc86",
      "parents": [
        "def82a1db1fdc4f861c77009e2ee86870c3743b0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:58:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:58:07 2008 -0700"
      },
      "message": "pkt_sched: Simplify dev_deactivate() polling loop.\n\nThe condition under which the previous qdisc has no more references\nafter we\u0027ve attached \u0026noop_qdisc is that both RUNNING and SCHED\nare both seen clear while holding the root lock.\n\nSo just make specifically that check in the polling loop, instead\nof this overly complex \"check without then check with lock held\"\nsequence.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "def82a1db1fdc4f861c77009e2ee86870c3743b0",
      "tree": "da2164c77beda2d5b0b4083969e8a2eeff837ff5",
      "parents": [
        "a9312ae89324438b0edc554eb36c3ec6bf927d04"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Aug 17 21:54:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:54:43 2008 -0700"
      },
      "message": "net: Change handling of the __QDISC_STATE_SCHED flag in net_tx_action().\n\nChange handling of the __QDISC_STATE_SCHED flag in net_tx_action() to\nenable proper control in dev_deactivate(). Now, if this flag is seen\nas unset under root_lock means a qdisc can\u0027t be netif_scheduled.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9312ae89324438b0edc554eb36c3ec6bf927d04",
      "tree": "8a440aa75a9ac5aba1447082ec43ed48951aa121",
      "parents": [
        "08013fa353fdcfc0a03cae805393abfc56722387"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:51:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:51:03 2008 -0700"
      },
      "message": "pkt_sched: Add \u0027deactivated\u0027 state.\n\nThis new state lets dev_deactivate() mark a qdisc as having been\ndeactivated.\n\ndev_queue_xmit() and ing_filter() check for this bit and do not\ntry to process the qdisc if the bit is set.\n\ndev_deactivate() polls the qdisc after setting the bit, waiting\nfor both __QDISC_STATE_RUNNING and __QDISC_STATE_SCHED to clear.\n\nThis isn\u0027t perfect yet, but subsequent changesets will make it so.\nThis part is just one piece of the puzzle.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db543c1f973cd1d557cc32ceee76737c1e4d2898",
      "tree": "a87f3d359895b08648362f785a01559adbb30b24",
      "parents": [
        "e3b99556975907530aeb9745e7b3945a0da48f17"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Aug 15 15:13:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 19:52:30 2008 -0700"
      },
      "message": "net: skb_copy_datagram_from_iovec()\n\nThere\u0027s an skb_copy_datagram_iovec() to copy out of a paged skb, but\nnothing the other way around (because we don\u0027t do that).\n\nWe want to allocate big skbs in tun.c, so let\u0027s add the function.\nIt\u0027s a carbon copy of skb_copy_datagram_iovec() with enough changes to\nbe annoying.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f85a124d819e1cf33b16d064a6a656fd448a735",
      "tree": "237334a15ed58f709ad947b303fc9c641bfcfa9a",
      "parents": [
        "7447ef63cf2dfdc444f4c72ae13f604350b2e25f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Aug 15 14:55:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 19:51:36 2008 -0700"
      },
      "message": "net: Preserve netfilter attributes in skb_gso_segment using __copy_skb_header\n\nskb_gso_segment didn\u0027t preserve some attributes in the original skb\nsuch as the netfilter fields.  This was harmless until they were used\nwhich is the case for packets going through lo.\n\nThis patch makes it call __copy_skb_header which also picks up some\nother missing attributes.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4119a43187139736750bad5d694c6a839df045d",
      "tree": "345492438de9049b25f8fec36efc6017928ce2a8",
      "parents": [
        "23197916c447a1623d196e6547781180905f0bb2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Aug 15 19:51:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 19:51:07 2008 -0700"
      },
      "message": "bridge: show offload settings\n\nAdd more ethtool generic operations to dump the bridge offload\nsettings.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6153b5b77650879d78dec76414213c76dd8d574",
      "tree": "05f4d13104c1dd6dd7c0f04d3815aededec323b8",
      "parents": [
        "323c048836f73a11ded6f9743feda21c00465cb0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Aug 15 13:44:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 13:44:31 2008 -0700"
      },
      "message": "ipv4: Disable route secret interval on zero interval\n\nLet me first state that disabling the route cache hash rebuild\nshould not be done without extensive analysis on the risk profile\nand careful deliberation.\n\nHowever, there are times when this can be done safely or for\ntesting.  For example, when you have mechanisms for ensuring\nthat offending parties do not exist in your network.\n\nThis patch lets the user disable the rebuild if the interval is\nset to zero.  This also incidentally fixes a divide-by-zero error\nwith name-spaces.\n\nIn addition, this patch makes the effect of an interval change\nimmediate rather than it taking effect at the next rebuild as\nis currently the case.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "323c048836f73a11ded6f9743feda21c00465cb0",
      "tree": "2cbb7cf162da13586df959919739dd8f852ecf44",
      "parents": [
        "191cd582500f49b32a63040fedeebb0168c720af"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Aug 14 17:01:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 14 17:01:10 2008 -0700"
      },
      "message": "pkt_sched: Fix unlocking in tc_ctl_tfilter()\n\nFix a bug with spin_lock_bh() inserted instead of spin_unlock_bh() by\nsome recent patch. \n\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "191cd582500f49b32a63040fedeebb0168c720af",
      "tree": "173ce9682d77798c6e4ca7e14af57ea2f46c55b8",
      "parents": [
        "0eb8b1fe9238ca4c1797e4c105d5790abda1726f"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Thu Aug 14 15:33:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 14 15:33:21 2008 -0700"
      },
      "message": "netns: Add network namespace argument to rt6_fill_node() and ipv6_dev_get_saddr()\n\nipv6_dev_get_saddr() blindly de-references dst_dev to get the network\nnamespace, but some callers might pass NULL.  Change callers to pass a\nnamespace pointer instead.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "877acedc0d3ea07f7b36573ed2f1f479c2c1eefd",
      "tree": "572dfad981cfd3f32e4661cb89cfc88def25bdf8",
      "parents": [
        "1bb5bd2c713cdf19794996fafd7b48da4c4b0113"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Aug 13 16:15:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 16:15:57 2008 -0700"
      },
      "message": "netns: Fix crash by making igmp per namespace\n\nThis patch makes the multicast socket to be per namespace.\n\nWhen a network namespace is created, other than the init_net and a\nmulticast packet is received, the kernel goes to a hang or a kernel panic.\n\nHow to reproduce ?\n\n * create a child network namespace\n * create a pair virtual device veth\n    * ip link add type veth\n * move one side to the pair network device to the child namespace\n    * ip link set netns \u003cchildpid\u003e dev veth1\n * ping -I veth0 224.0.0.1\n\nThe bug appears because the function ip_mc_init_dev does not initialize\nthe different multicast fields as it exits because it is not the init_net.\n\nBUG: soft lockup - CPU#0 stuck for 61s! [avahi-daemon:2695]\nModules linked in:\nirq event stamp: 50350\nhardirqs last  enabled at (50349): [\u003cc03ee949\u003e] _spin_unlock_irqrestore+0x34/0x39\nhardirqs last disabled at (50350): [\u003cc03ec639\u003e] schedule+0x9f/0x5ff\nsoftirqs last  enabled at (45712): [\u003cc0374d4b\u003e] ip_setsockopt+0x8e7/0x909\nsoftirqs last disabled at (45710): [\u003cc03ee682\u003e] _spin_lock_bh+0x8/0x27\n\nPid: 2695, comm: avahi-daemon Not tainted (2.6.27-rc2-00029-g0872073 #3)\nEIP: 0060:[\u003cc03ee47c\u003e] EFLAGS: 00000297 CPU: 0\nEIP is at __read_lock_failed+0x8/0x10\nEAX: c4f38810 EBX: c4f38810 ECX: 00000000 EDX: c04cc22e\nESI: fb0000e0 EDI: 00000011 EBP: 0f02000a ESP: c4e3faa0\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nCR0: 8005003b CR2: 44618a40 CR3: 04e37000 CR4: 000006d0\nDR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\nDR6: ffff0ff0 DR7: 00000400\n [\u003cc02311f8\u003e] ? _raw_read_lock+0x23/0x25\n [\u003cc0390666\u003e] ? ip_check_mc+0x1c/0x83\n [\u003cc036d478\u003e] ? ip_route_input+0x229/0xe92\n [\u003cc022e2e4\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc0104c9c\u003e] ? do_IRQ+0x69/0x7d\n [\u003cc0102e64\u003e] ? restore_nocheck_notrace+0x0/0xe\n [\u003cc036fdba\u003e] ? ip_rcv+0x227/0x505\n [\u003cc0358764\u003e] ? netif_receive_skb+0xfe/0x2b3\n [\u003cc03588d2\u003e] ? netif_receive_skb+0x26c/0x2b3\n [\u003cc035af31\u003e] ? process_backlog+0x73/0xbd\n [\u003cc035a8cd\u003e] ? net_rx_action+0xc1/0x1ae\n [\u003cc01218a8\u003e] ? __do_softirq+0x7b/0xef\n [\u003cc0121953\u003e] ? do_softirq+0x37/0x4d\n [\u003cc035b50d\u003e] ? dev_queue_xmit+0x3d4/0x40b\n [\u003cc0122037\u003e] ? local_bh_enable+0x96/0xab\n [\u003cc035b50d\u003e] ? dev_queue_xmit+0x3d4/0x40b\n [\u003cc012181e\u003e] ? _local_bh_enable+0x79/0x88\n [\u003cc035fcb8\u003e] ? neigh_resolve_output+0x20f/0x239\n [\u003cc0373118\u003e] ? ip_finish_output+0x1df/0x209\n [\u003cc0373364\u003e] ? ip_dev_loopback_xmit+0x62/0x66\n [\u003cc0371db5\u003e] ? ip_local_out+0x15/0x17\n [\u003cc0372013\u003e] ? ip_push_pending_frames+0x25c/0x2bb\n [\u003cc03891b8\u003e] ? udp_push_pending_frames+0x2bb/0x30e\n [\u003cc038a189\u003e] ? udp_sendmsg+0x413/0x51d\n [\u003cc038a1a9\u003e] ? udp_sendmsg+0x433/0x51d\n [\u003cc038f927\u003e] ? inet_sendmsg+0x35/0x3f\n [\u003cc034f092\u003e] ? sock_sendmsg+0xb8/0xd1\n [\u003cc012d554\u003e] ? autoremove_wake_function+0x0/0x2b\n [\u003cc022e6de\u003e] ? copy_from_user+0x32/0x5e\n [\u003cc022e6de\u003e] ? copy_from_user+0x32/0x5e\n [\u003cc034f238\u003e] ? sys_sendmsg+0x18d/0x1f0\n [\u003cc0175e90\u003e] ? pipe_write+0x3cb/0x3d7\n [\u003cc0170347\u003e] ? do_sync_write+0xbe/0x105\n [\u003cc012d554\u003e] ? autoremove_wake_function+0x0/0x2b\n [\u003cc03503b2\u003e] ? sys_socketcall+0x176/0x1b0\n [\u003cc01085ea\u003e] ? syscall_trace_enter+0x6c/0x7b\n [\u003cc0102e1a\u003e] ? syscall_call+0x7/0xb\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4766692e72422f3b0f0e9ac6773d92baad07d51",
      "tree": "e2868d937716e6e3d185cf37150204a64c62764c",
      "parents": [
        "b9a3b1102bc80b4044224494100f67de132d5448"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 13 15:20:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 15:20:24 2008 -0700"
      },
      "message": "pkt_sched: Protect gen estimators under est_lock.\n\ngen_kill_estimator() required rtnl_lock() protection, but since it is\nmoved to an RCU callback __qdisc_destroy() let\u0027s use est_lock instead.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9a3b1102bc80b4044224494100f67de132d5448",
      "tree": "26d693207ad5c5e9ea79a2b21de48b1e409f628e",
      "parents": [
        "26b284de54a5ca3dfbe2fd9a51ac1923e80085a2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 15:18:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 15:18:38 2008 -0700"
      },
      "message": "pkt_sched: Fix queue quiescence testing in dev_deactivate().\n\nBased upon discussions with Jarek P. and Herbert Xu.\n\nFirst, we\u0027re testing the wrong qdisc.  We just reset the device\nqueue qdiscs to \u0026noop_qdisc and checking it\u0027s state is completely\npointless here.\n\nWe want to wait until the previous qdisc that was sitting at\nthe -\u003eqdisc pointer is not busy any more.  And that would be\n-\u003eqdisc_sleeping.\n\nBecause of how we propagate the samples qdisc pointer down into\nqdisc_run and friends via per-cpu -\u003eoutput_queue and netif_schedule,\nwe have to wait also for the __QDISC_STATE_SCHED bit to clear as\nwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26b284de54a5ca3dfbe2fd9a51ac1923e80085a2",
      "tree": "949d06bd4dca0b43cb7247c2013c89337a8ca18b",
      "parents": [
        "64c00d81b5c2491bd140b3c8eb2e8c351513f971"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 13 15:16:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 15:16:43 2008 -0700"
      },
      "message": "pkt_sched: Fix oops in htb_delete.\n\nRecent changes introduced a bug in htb_delete(): cl-\u003eparent-\u003echildren\ncounter update misses checking cl-\u003eparent for NULL, which is used for\nroot classes, so deleting them causes an oops.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64c00d81b5c2491bd140b3c8eb2e8c351513f971",
      "tree": "28f2122cab0dc9d1e228a96aedd178ed53f12456",
      "parents": [
        "3e8a0a559c66ee9e7468195691a56fefc3589740"
      ],
      "author": {
        "name": "Andrew Gallatin",
        "email": "gallatin@myri.com",
        "time": "Wed Aug 13 15:16:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 15:16:00 2008 -0700"
      },
      "message": "pktgen: prevent pktgen from using bad tx queue\n\nWith the new multi-queue transmit code, it is possible to accidentally\nmake pktgen pick a non-existing tx queue simply by using a stale\nscript to drive pktgen.  Access to this non-existing tx queue will\nthen trigger a bad memory access and kill the machine.\n\nFor example, setting \"queue_map_max 2\" will cause my machine to die\nwhen accessing a garbage spinlock in the non-existing tx queue:\n\nBUG: spinlock bad magic on CPU#0, kpktgend_0/564\n  lock: ffff88001ddf6718, .magic: ffffffff, .owner: /-1, .owner_cpu: 0\nPid: 564, comm: kpktgend_0 Not tainted 2.6.27-rc3 #35\n\nCall Trace:\n  [\u003cffffffff803a1228\u003e] spin_bug+0xa4/0xac\n  [\u003cffffffff803a1253\u003e] _raw_spin_lock+0x23/0x123\n  [\u003cffffffff8055b06f\u003e] _spin_lock_bh+0x17/0x1b\n  [\u003cffffffff804cb57d\u003e] pktgen_thread_worker+0xa97/0x1002\n  [\u003cffffffff8022874d\u003e] ? finish_task_switch+0x38/0x97\n  [\u003cffffffff80242077\u003e] ? autoremove_wake_function+0x0/0x36\n  [\u003cffffffff80242077\u003e] ? autoremove_wake_function+0x0/0x36\n  [\u003cffffffff804caae6\u003e] ? pktgen_thread_worker+0x0/0x1002\n  [\u003cffffffff80241a40\u003e] kthread+0x44/0x6d\n  [\u003cffffffff8020c399\u003e] child_rip+0xa/0x11\n  [\u003cffffffff802419fc\u003e] ? kthread+0x0/0x6d\n  [\u003cffffffff8020c38f\u003e] ? child_rip+0x0/0x11\n\nThe attached patch adds some sanity checking to prevent\nthese sorts of configuration errors.\n\nSigned-off-by: Andrew Gallatin \u003cgallatin@myri.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24b8b44780a2c53ecb738f4a1c08d114f5eda27c",
      "tree": "f772e59438783c6230158ea65bd5aeb3f84f4202",
      "parents": [
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Aug 13 11:05:41 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Aug 13 16:57:31 2008 -0400"
      },
      "message": "svcrdma: Fix race between svc_rdma_recvfrom thread and the dto_tasklet\n\nRDMA_READ completions are kept on a separate queue from the general\nI/O request queue. Since a separate lock is used to protect the RDMA_READ\ncompletion queue, a race exists between the dto_tasklet and the\nsvc_rdma_recvfrom thread where the dto_tasklet sets the XPT_DATA\nbit and adds I/O to the read-completion queue. Concurrently, the\nrecvfrom thread checks the generic queue, finds it empty and resets\nthe XPT_DATA bit. A subsequent svc_xprt_enqueue will fail to enqueue\nthe transport for I/O and cause the transport to \"stall\".\n\nThe fix is to protect both lists with the same lock and set the XPT_DATA\nbit with this lock held.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3e8a0a559c66ee9e7468195691a56fefc3589740",
      "tree": "cc54fecf644c138c38dd29b960c7dc42cbe6b558",
      "parents": [
        "c1e24df27fb1058739789126db6ad1b1ef719346"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Aug 13 13:48:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 13:48:39 2008 -0700"
      },
      "message": "dccp: change L/R must have at least one byte in the dccpsf_val field\n    \nThanks to Eugene Teo for reporting this problem.\n    \nSigned-off-by: Eugene Teo \u003ceugenete@kernel.sg\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1e24df27fb1058739789126db6ad1b1ef719346",
      "tree": "57409e48ad8fb506975e1207af63bbd51495575f",
      "parents": [
        "36723873b664fb6b5cfe06d291df948126e43f50"
      ],
      "author": {
        "name": "Jean-Christophe DUBOIS",
        "email": "jcd@tribudubois.net",
        "time": "Wed Aug 13 13:35:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 13:35:37 2008 -0700"
      },
      "message": "xfrm: remove unnecessary variable in xfrm_output_resume() 2nd try\n\nSmall fix removing an unnecessary intermediate variable.\n\nSigned-off-by: Jean-Christophe DUBOIS \u003cjcd@tribudubois.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36723873b664fb6b5cfe06d291df948126e43f50",
      "tree": "fa4fdae50b25ff2ce8dd57cc9cb59ede897d4017",
      "parents": [
        "f97017cdefefdb6a0e19266024b0c6f9fd411eeb"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Wed Aug 13 02:41:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 02:41:45 2008 -0700"
      },
      "message": "net-sched: fix Action flushing return code\n\nFlushing must consistently return ENOMEM on failure of any allocation\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f97017cdefefdb6a0e19266024b0c6f9fd411eeb",
      "tree": "d223eabc477ff3bd172aac7dd9ab83e1566acf17",
      "parents": [
        "34093d055e09d1bb549efc11c8d448373437bbe4"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Wed Aug 13 02:41:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 02:41:22 2008 -0700"
      },
      "message": "net-sched: Fix actions flushing\n\nFlushing of actions has been broken since we changed\nthe semantics of netlink parsed tb[X] to mean X is an attribute type.\nThis makes the flushing work.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "34093d055e09d1bb549efc11c8d448373437bbe4",
      "tree": "c2197fb6b066087a8a4ae707e32317d33574768f",
      "parents": [
        "317900cb010f4aca0e3cb14a02d0ddcc44ddafa7"
      ],
      "author": {
        "name": "Julien Brunel",
        "email": "brunel@diku.dk",
        "time": "Wed Aug 13 02:40:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 02:40:48 2008 -0700"
      },
      "message": "net/rxrpc: Use an IS_ERR test rather than a NULL test\n\nIn case of error, the function rxrpc_get_transport returns an ERR\npointer, but never returns a NULL pointer. So after a call to this\nfunction, a NULL test should be replaced by an IS_ERR test.\n\nA simplified version of the semantic patch that makes this change is\nas follows: \n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@correct_null_test@\nexpression x,E;\nstatement S1, S2;\n@@\nx \u003d  rxrpc_get_transport(...)\n\u003c... when !\u003d x \u003d E\nif (\n(\n- x@p2 !\u003d NULL\n+ ! IS_ERR ( x )\n|\n- x@p2 \u003d\u003d NULL\n+ IS_ERR( x )\n)\n )\nS1\nelse S2\n...\u003e\n? x \u003d E;\n// \u003c/smpl\u003e\n\nSigned-off-by: Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "317900cb010f4aca0e3cb14a02d0ddcc44ddafa7",
      "tree": "57953187ee4cb208f29c880e4429da3ac8b2f823",
      "parents": [
        "6bf90b2bf4084a64bbcf96a0b93dc64c77288028"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Wed Aug 13 02:39:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 02:39:56 2008 -0700"
      },
      "message": "wext: Send name on events\n\nIn the minimal the wireless extensions oughta send at least\nthe name in addition to the ifindex.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ced0b3f1e1c089caf8798485423a093744b6a48",
      "tree": "debbd49b15de9ec4669138fb7fe138bf1c1c2b3d",
      "parents": [
        "83f36f3f35f4f83fa346bfff58a5deabc78370e5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Aug 13 02:32:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 02:32:06 2008 -0700"
      },
      "message": "net/tipc/subscr.c: don\u0027t use ___constant_swab32\n\nIt\u0027s an internal implementation detail which we _should_ be free to change. \nSo we did, and it promptly broke.\n\nThe compiler shold be able to work out when to use the __constant version\nanyway.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e0115e500fe9dd2ca11e6f92db9123204f1327a",
      "tree": "951ad51ba761be1bf8e79b54d9a7ff160a4720be",
      "parents": [
        "987c402ac31988f7ecdb38b657bcfeea5831d479"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Wed Aug 13 01:58:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 01:58:57 2008 -0700"
      },
      "message": "ipv6: Fix OOPS, ip -f inet6 route get fec0::1, linux-2.6.26, ip6_route_output, rt6_fill_node+0x175\n\nAlexey Dobriyan wrote:\n\u003e On Thu, Aug 07, 2008 at 07:00:56PM +0200, John Gumb wrote:\n\u003e\u003e Scenario: no ipv6 default route set.\n\u003e \n\u003e\u003e # ip -f inet6 route get fec0::1\n\u003e\u003e\n\u003e\u003e BUG: unable to handle kernel NULL pointer dereference at 00000000\n\u003e\u003e IP: [\u003cc0369b85\u003e] rt6_fill_node+0x175/0x3b0\n\u003e\u003e EIP is at rt6_fill_node+0x175/0x3b0\n\u003e \n\u003e 0xffffffff80424dd3 is in rt6_fill_node (net/ipv6/route.c:2191).\n\u003e 2186                    } else\n\u003e 2187    #endif\n\u003e 2188                            NLA_PUT_U32(skb, RTA_IIF, iif);\n\u003e 2189            } else if (dst) {\n\u003e 2190                    struct in6_addr saddr_buf;\n\u003e 2191      \u003d\u003d\u003d\u003d\u003e         if (ipv6_dev_get_saddr(ip6_dst_idev(\u0026rt-\u003eu.dst)-\u003edev,\n\u003e\t\t\t\t\t       ^^^^^^^^^^^^^^^^^^^^^^^^\n\u003e\t\t\t\t\t\t\t\t\t\t\tNULL\n\u003e \n\u003e 2192                                           dst, 0, \u0026saddr_buf) \u003d\u003d 0)\n\u003e 2193                            NLA_PUT(skb, RTA_PREFSRC, 16, \u0026saddr_buf);\n\u003e 2194            }\n\nThe commit that changed this can\u0027t be reverted easily, but the patch\nbelow works for me.\n\nFix NULL de-reference in rt6_fill_node() when there\u0027s no IPv6 input\ndevice present in the dst entry.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1cfa26661a85549063e369e2b40275eeaa7b923c",
      "tree": "c2d10164ad6b46cd9ac4123a7b2e7b4e2e6ac745",
      "parents": [
        "0a37c10ed460872d41259659f7f589edebdc42b7"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 11 18:11:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 11 18:11:06 2008 -0700"
      },
      "message": "pkt_sched: Add BH protection for qdisc_stab_lock.\n\nSince qdisc_stab_lock is used in qdisc_put_stab(), which is called in\nBH context from __qdisc_destroy() RCU callback, softirq safe locking\nis needed.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a37c10ed460872d41259659f7f589edebdc42b7",
      "tree": "526d5bc97d37b0836cadf5564547903a3bde8b21",
      "parents": [
        "37cc6780170f6f4fc3f9746d6a9bb2da1d999d7b",
        "e93615d0866a974afc7148172f8382e2af48c985"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 11 18:04:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 11 18:04:35 2008 -0700"
      },
      "message": "Merge branch \u0027stealer/ipvs/for-davem\u0027 of git://git.stealer.net/linux-2.6\n"
    },
    {
      "commit": "e93615d0866a974afc7148172f8382e2af48c985",
      "tree": "f07e57c99390cc3b535c4bf4ae3c3f5a94da1579",
      "parents": [
        "519e49e888458649dde453d36c08b7f3432525dc"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Aug 11 17:19:14 2008 +1000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 14:00:55 2008 +0200"
      },
      "message": "ipvs: Explictly clear ip_vs_stats members\n\nIn order to align the coding styles of ip_vs_zero_stats() and\nits child-function ip_vs_zero_estimator(), clear ip_vs_stats\nmembers explicitlty rather than doing a limited memset().\n\nThis was chosen over modifying ip_vs_zero_estimator() to use\nmemset() as it is more robust against changes in members\nin the relevant structures. memset() would be prefered if\nall members of the structure were to be cleared.\n\nCc: Sven Wegener \u003csven.wegener@stealer.net\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\n"
    },
    {
      "commit": "519e49e888458649dde453d36c08b7f3432525dc",
      "tree": "10f71cce8b9fe0a7ec0a764a24cdadc4f7446a2c",
      "parents": [
        "3a14a313f9b406c37ab7e3f855b060eb8587b8c7"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 18:24:41 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 14:00:46 2008 +0200"
      },
      "message": "ipvs: No need to zero out ip_vs_stats during initialization\n\nIt\u0027s a global variable and automatically initialized to zero. And now we can\nalso initialize the lock at compile time.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "3a14a313f9b406c37ab7e3f855b060eb8587b8c7",
      "tree": "86dbebf182b9f8dc66cfce4e3defb79fb9e279cb",
      "parents": [
        "5587da55fbf332ab8d1b37637536f94bc373867f"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 18:24:41 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 14:00:43 2008 +0200"
      },
      "message": "ipvs: Embed estimator object into stats object\n\nThere\u0027s no reason for dynamically allocating an estimator object for every\nstats object. Directly embed an estimator object into every stats object and\nswitch to using the kernel-provided list implementation. This makes the code\nmuch simpler and faster, as we do not need to traverse the list of all\nestimators to find the one belonging to a stats object. There\u0027s no need to use\nan rwlock, as we only have one reader. Also reorder the members of the\nestimator structure slightly to avoid padding overhead. This can\u0027t be done\nwith the stats object as the members are currently copied to our user space\nobject via memcpy() and changing it would break ABI.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "5587da55fbf332ab8d1b37637536f94bc373867f",
      "tree": "438cb4cd638a0c8f8f70100567407deafabb1388",
      "parents": [
        "048cf48b897bcae9e6fa8b46b6976dab5e710e3c"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 18:24:40 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:46:27 2008 +0200"
      },
      "message": "ipvs: Mark net_vs_ctl_path const\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "048cf48b897bcae9e6fa8b46b6976dab5e710e3c",
      "tree": "444c1c2164892286d1d3005f0ec1d0c44dd9d58f",
      "parents": [
        "d149ccc9cf85cdf089c1b2189ade111305712b0c"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 18:24:35 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:46:18 2008 +0200"
      },
      "message": "ipvs: Annotate init functions with __init\n\nBeing able to discard these functions saves a couple of bytes at runtime. The\ncleanup functions can\u0027t be annotated with __exit as they are also called from\ninit functions.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d149ccc9cf85cdf089c1b2189ade111305712b0c",
      "tree": "b6ed306fa7433aac1672c64ff317d92a885eaa81",
      "parents": [
        "66a0be47200fff30f8c482ea584052c6affb08cb"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 09:18:02 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:46:06 2008 +0200"
      },
      "message": "ipvs: Initialize schedulers\u0027 struct list_head at compile time\n\nNo need to do it at runtime and this saves a couple of bytes in the text\nsection.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "66a0be47200fff30f8c482ea584052c6affb08cb",
      "tree": "66785f09491c3e9b744ba886b978efba6baf65c2",
      "parents": [
        "afdd614071aef652f5a3e2a06965de049dd8339b"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 09:18:02 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:45:57 2008 +0200"
      },
      "message": "ipvs: Use list_empty() instead of open-coding the same functionality\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "8ab19ea36c5c5340ff598e4d15fc084eb65671dc",
      "tree": "031f48201a1e3a07a22a8f6734d0bb1c806b2c28",
      "parents": [
        "bc0fde2fad007a81ecffceb25a893a6c3f1ed767"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 09:17:59 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:45:40 2008 +0200"
      },
      "message": "ipvs: Fix possible deadlock in estimator code\n\nThere is a slight chance for a deadlock in the estimator code. We can\u0027t call\ndel_timer_sync() while holding our lock, as the timer might be active and\nspinning for the lock on another cpu. Work around this issue by using\ntry_to_del_timer_sync() and releasing the lock. We could actually delete the\ntimer outside of our lock, as the add and kill functions are only every called\nfrom userspace via [gs]etsockopt() and are serialized by a mutex, but better\nmake this explicit.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nCc: stable \u003cstable@kernel.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "bc0fde2fad007a81ecffceb25a893a6c3f1ed767",
      "tree": "961823abcc7cabcfde900fdc58d8a19178c0c5a7",
      "parents": [
        "8123b421e8ed944671d7241323ed3198cccb4041"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 10 09:14:05 2008 +0000"
      },
      "committer": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Aug 11 11:44:38 2008 +0200"
      },
      "message": "ipvs: Fix possible deadlock in sync code\n\nCommit 998e7a76804b7a273a0460c2cdd5a51fa9856717 (\"ipvs: Use kthread_run()\ninstead of doing a double-fork via kernel_thread()\") introduced a possible\ndeadlock in the sync code. We need to use the _bh versions for the lock, as the\nlock is also accessed from a bottom half.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d97106ea52aa57e63ff40d04479016836bbb5a4e",
      "tree": "5969603d7af02a5672f61c84c2017a6e064472f5",
      "parents": [
        "8123b421e8ed944671d7241323ed3198cccb4041"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Aug 09 00:35:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 09 00:35:05 2008 -0700"
      },
      "message": "udp: Drop socket lock for encapsulated packets\n\nThe socket lock is there to protect the normal UDP receive path.\nEncapsulation UDP sockets don\u0027t need that protection.  In fact\nthe locking is deadly for them as they may contain another UDP\npacket within, possibly with the same addresses.\n\nAlso the nested bit was copied from TCP.  TCP needs it because\nof accept(2) spawning sockets.  This simply doesn\u0027t apply to UDP\nso I\u0027ve removed it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8123b421e8ed944671d7241323ed3198cccb4041",
      "tree": "fb9e5634b36cce181781e764e71406c972dd2e8c",
      "parents": [
        "76aab2c1eae491a5d73ac83deec97dd28ebac584"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 08 23:23:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 08 23:23:39 2008 -0700"
      },
      "message": "pkt_sched: Fix ingress deletion and filter attachment.\n\nBased upon bug reports by Stephen Hemminger.\n\nWe still had some cases using -\u003eqdisc instead of -\u003eqdisc_sleeping.\n\nAlso, qdisc_lookup() should return ingress qdiscs.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76aab2c1eae491a5d73ac83deec97dd28ebac584",
      "tree": "ba680489b5dc20cc1afad6c5c0fef36b31918d9a",
      "parents": [
        "4ab84d450e24b3a309608182a8d8e30626b46f8f"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Thu Aug 07 20:37:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 07 20:37:22 2008 -0700"
      },
      "message": "pkt_sched: Fix actions referencing\n\nWhen an action is added several times with the same exact index\nit gets deleted on every even-numbered attempt.\nThis fixes that issue.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1c6c11a6860c8135fd0d923c3d49fb368889b10",
      "tree": "7d58008c7cf943b7b6d07f5a26d59ca9e0bdab6d",
      "parents": [
        "2aaab9a0ccfd2ccf1c957cc2120da8d5593955c5",
        "cfeb414537b1d7c23ba202f198fa4154cd5a4856"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 07 20:28:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 07 20:28:46 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6\n"
    },
    {
      "commit": "2aaab9a0ccfd2ccf1c957cc2120da8d5593955c5",
      "tree": "7ac56f0461d1ed84b7210aae1670373786e80ea6",
      "parents": [
        "827ebd6410005b05b3c930ef6a116666c6986886"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Thu Aug 07 20:27:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 07 20:27:45 2008 -0700"
      },
      "message": "tcp: (whitespace only) fix confusing indentation\n\nThe indentation in part of tcp_minisocks makes it look like one of the if\nstatements is much more important than it actually is.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "827ebd6410005b05b3c930ef6a116666c6986886"
}
