)]}'
{
  "log": [
    {
      "commit": "ffb208479bd62ab26c29a242faeb1de1c6d5fcdc",
      "tree": "a825cbc6d7ec125cab86e32008acf816c7bb2bc8",
      "parents": [
        "ff2a79a5a934fe0dbb136ffad61f79b5c6385614"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Aug 05 18:46:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 05 18:46:57 2008 -0700"
      },
      "message": "AX.25: Fix sysctl registration if !CONFIG_AX25_DAMA_SLAVE\n\nSince 49ffcf8f99e8d33ec8afb450956804af518fd788 (\"sysctl: update\nsysctl_check_table\") setting struct ctl_table.procname \u003d NULL does no\nlonger work as it used to the way the AX.25 code is expecting it to\nresulting in the AX.25 sysctl registration code to break if\nCONFIG_AX25_DAMA_SLAVE was not set as in some distribution kernels.\nKernel releases from 2.6.24 are affected.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff2a79a5a934fe0dbb136ffad61f79b5c6385614",
      "tree": "99a75b0d03143e95f0a26ac4e9590e3b94585b0f",
      "parents": [
        "1211a64554065316e02b3c62b320088ad4f63260"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "robert.olsson@its.uu.se",
        "time": "Tue Aug 05 18:45:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 05 18:45:05 2008 -0700"
      },
      "message": "pktgen: mac count\n\ndst_mac_count and src_mac_count patch from Eneas Hunguana\nWe have sent one mac address to much.\n\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1211a64554065316e02b3c62b320088ad4f63260",
      "tree": "58522cdfcd5ee11409f39f32135234a28c883095",
      "parents": [
        "ef647f1300d69adb8223d970554d59d7e244db6d"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "robert.olsson@its.uu.se",
        "time": "Tue Aug 05 18:44:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 05 18:44:26 2008 -0700"
      },
      "message": "pktgen: random flow \n\nRandom flow generation has not worked. This fixes it.\n\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef647f1300d69adb8223d970554d59d7e244db6d",
      "tree": "627503820872ec530049ad0bcfd16d09c9008b3f",
      "parents": [
        "33e334950abda8e42c3b6e6f280fad0d4ab92141"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Aug 05 18:42:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 05 18:42:51 2008 -0700"
      },
      "message": "bridge: Eliminate unnecessary forward delay\n\nFrom: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n\nBased upon original patch by Herbert Xu, which contained\nthe following problem description:\n\n--------------------\nWhen the forward delay is set to zero, we still delay the setting\nof the forwarding state by one or possibly two timers depending\non whether STP is enabled.  This could either turn out to be\ninstantaneous, or horribly slow depending on the load of the\nmachine.\n\nAs there is nothing preventing us from enabling forwarding straight\naway, this patch eliminates this potential delay by executing the\ncode directly if the forward delay is zero.\n\nThe effect of this problem is that immediately after the carrier\ncomes on a port, the bridge will drop all packets received from\nthat port until it enters forwarding mode, thus causing unnecessary\npacket loss.\n\nNote that this patch doesn\u0027t fully remove the delay due to the\nlink watcher.  We should also check the carrier state when we\nare about to drop an incoming packet because the port is disabled.\nBut that\u0027s for another patch.\n--------------------\n\nThis version of the fix takes a different approach, in that\nit just does the state change directly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33e334950abda8e42c3b6e6f280fad0d4ab92141",
      "tree": "7d52e5d4772f578c499200f38cfc54b79e3357fb",
      "parents": [
        "ad619800e4e034cad44299b2a22df9eebb043ac3",
        "3e2236c108792c3afbbfbe3f373ee7fdd68eda8e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 05 01:28:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 05 01:28:35 2008 -0700"
      },
      "message": "Merge branch \u0027no-ath9k\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "ad619800e4e034cad44299b2a22df9eebb043ac3",
      "tree": "b9da3feca98b06c40793c2bd8be738f1582768a7",
      "parents": [
        "95c3e8bfcdea8676e2d4d61910c379f4502049bf"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Aug 05 01:21:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 05 01:21:22 2008 -0700"
      },
      "message": "bridge: fix compile warning in net/bridge/br_netfilter.c\n\nThis patch fixes the following warning due to incompatible pointer\nassignment:\n\nnet/bridge/br_netfilter.c: In function \u0027br_netfilter_rtable_init\u0027:\nnet/bridge/br_netfilter.c:116: warning: assignment from incompatible\npointer type\n\nThis warning is due to commit 4adf0af6818f3ea52421dc0bae836cfaf20ef72a\nfrom July 30 (send correct MTU value in PMTU (revised)).\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c27f339af90bb874a7a9c680b17abfd32d4a727b",
      "tree": "5af236e0b3835976c70c1d5daa2f30be11adf35b",
      "parents": [
        "378a2f090f7a478704a372a4869b8a9ac206234e"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 04 22:39:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 04 22:39:11 2008 -0700"
      },
      "message": "net_sched: Add qdisc __NET_XMIT_BYPASS flag\n\nPatrick McHardy \u003ckaber@trash.net\u003e noticed that it would be nice to\nhandle NET_XMIT_BYPASS by NET_XMIT_SUCCESS with an internal qdisc flag\n__NET_XMIT_BYPASS and to remove the mapping from dev_queue_xmit().\n\nDavid Miller \u003cdavem@davemloft.net\u003e spotted a serious bug in the first\nversion of this patch.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "378a2f090f7a478704a372a4869b8a9ac206234e",
      "tree": "cf324a45a9dc21231d1d3225c51c9d5d2b57bbee",
      "parents": [
        "6e583ce5242f32e925dcb198f7123256d0798370"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 04 22:31:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 04 22:31:03 2008 -0700"
      },
      "message": "net_sched: Add qdisc __NET_XMIT_STOLEN flag\n\nPatrick McHardy \u003ckaber@trash.net\u003e noticed:\n\"The other problem that affects all qdiscs supporting actions is\nTC_ACT_QUEUED/TC_ACT_STOLEN getting mapped to NET_XMIT_SUCCESS\neven though the packet is not queued, corrupting upper qdiscs\u0027\nqlen counters.\"\n\nand later explained:\n\"The reason why it translates it at all seems to be to not increase\nthe drops counter. Within a single qdisc this could be avoided by\nother means easily, upper qdiscs would still increase the counter\nwhen we return anything besides NET_XMIT_SUCCESS though.\n\nThis means we need a new NET_XMIT return value to indicate this to\nthe upper qdiscs. So I\u0027d suggest to introduce NET_XMIT_STOLEN,\nreturn that to upper qdiscs and translate it to NET_XMIT_SUCCESS\nin dev_queue_xmit, similar to NET_XMIT_BYPASS.\"\n\nDavid Miller \u003cdavem@davemloft.net\u003e noticed:\n\"Maybe these NET_XMIT_* values being passed around should be a set of\nbits. They could be composed of base meanings, combined with specific\nattributes.\n\nSo you could say \"NET_XMIT_DROP | __NET_XMIT_NO_DROP_COUNT\"\n\nThe attributes get masked out by the top-level -\u003eenqueue() caller,\nsuch that the base meanings are the only thing that make their\nway up into the stack. If it\u0027s only about communication within the\nqdisc tree, let\u0027s simply code it that way.\"\n\nThis patch is trying to realize these ideas.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c43e0d0ecd5196ed5c67f64ed2f1860770eed34",
      "tree": "f25047f729c2d3bc2e82db51c1b7f4a3cb094b77",
      "parents": [
        "6041e2a08c50e3fcaf1e56422bfafda62c597cea"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Mon Aug 04 16:00:39 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 04 15:09:12 2008 -0400"
      },
      "message": "iwlwifi: HW bug fixes\n\nThis patch adds few HW bug fixes.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "80693ceb78b08baa3b66a900d9225b2cf9c6f0ed",
      "tree": "fb1a3060d10cb05affc2990b1eeb866172ccf8a5",
      "parents": [
        "b5d7be5e665f29274cfe6645b661acb38cb1d19b"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@gentoo.org",
        "time": "Sat Jul 19 23:31:17 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 04 15:09:10 2008 -0400"
      },
      "message": "mac80211: automatic IBSS channel selection\n\nWhen joining an ad-hoc network, the user is currently required to specify\nthe channel. The network will not be joined otherwise, unless it happens\nto be sitting on the currently active channel.\n\nThis patch implements automatic channel selection when the user has not\nlocked the interface onto a specific channel.\n\nSigned-off-by: Daniel Drake \u003cdsd@gentoo.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea95bba41e69c616bb1512cf59d22f33266b8568",
      "tree": "fe3d17351465189b041bf20c0c9f6c4835d63997",
      "parents": [
        "98f7dfd86cbbd377e2cbc293529681b914296f68"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Fri Jul 18 13:53:00 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 04 15:09:07 2008 -0400"
      },
      "message": "mac80211: make listen_interval be limited by low level driver\n\nThis patch makes possible for a driver to specify maximal listen interval\nThe possibility for user to configure listen interval is not implemented\nyet, currently the maximum provided by the driver or 1 is used.\nMac80211 uses config handler to set listen interval for to the driver.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "98f7dfd86cbbd377e2cbc293529681b914296f68",
      "tree": "cce0e06183ae4b8ce0aa845cb56cf9ca90984749",
      "parents": [
        "298df1f62aa69881528bf0f1c3c14395bc447846"
      ],
      "author": {
        "name": "Emmanuel Grumbach",
        "email": "emmanuel.grumbach@intel.com",
        "time": "Fri Jul 18 13:52:59 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 04 15:09:07 2008 -0400"
      },
      "message": "mac80211: pass dtim_period to low level driver\n\nThis patch adds the dtim_period in ieee80211_bss_conf, this allows the low\nlevel driver to know the dtim_period, and to plan power save accordingly.\n\nSigned-off-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6e583ce5242f32e925dcb198f7123256d0798370",
      "tree": "9bf826ddc1c2826015a6d59141f7c53e094b0204",
      "parents": [
        "283d07ac201ee9f8aa6dc6f7519436b48760baff"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sun Aug 03 21:29:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 21:29:57 2008 -0700"
      },
      "message": "net: eliminate refcounting in backlog queue\n\nAvoid the overhead of atomic increment/decrement on each received packet.\nThis helps performance of non-NAPI devices (like loopback).\nUse cleanup function to walk queue on each cpu and clean out any\nleft over packets.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "283d07ac201ee9f8aa6dc6f7519436b48760baff",
      "tree": "73587f8b3a2ad3c2f7b5eb188edbd63577c7f638",
      "parents": [
        "f880374c2fe37aad3fa62253a4bc125d7a933aad"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Aug 03 21:15:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 21:15:59 2008 -0700"
      },
      "message": "ipv6: Do not drop packet if skb-\u003elocal_df is set to true\n\nThe old code will drop IPv6 packet if ipfragok is not set, since\nipfragok is obsoleted, will be instead by used skb-\u003elocal_df, so this\ncheck must be changed to skb-\u003elocal_df.\n\nThis patch fix this problem and not drop packet if skb-\u003elocal_df is\nset to true.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f880374c2fe37aad3fa62253a4bc125d7a933aad",
      "tree": "7ff62dfd04689f09c0c27b24340479fc92de5e0d",
      "parents": [
        "cfb266c0ee0ea0b7bfa8189e3a3a80344dec6112"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 03 21:15:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 21:15:08 2008 -0700"
      },
      "message": "sctp: Drop ipfargok in sctp_xmit function\n\nThe ipfragok flag controls whether the packet may be fragmented\neither on the local host on beyond.  The latter is only valid on\nIPv4.\n\nIn fact, we never want to do the latter even on IPv4 when PMTU is\nenabled.  This is because even though we can\u0027t fragment packets\nwithin SCTP due to the prtocol\u0027s inherent faults, we can still\nfragment it at IP layer.  By setting the DF bit we will improve\nthe PMTU process.\n\nRFC 2960 only says that we SHOULD clear the DF bit in this case,\nso we\u0027re compliant even if we set the DF bit.  In fact RFC 4960\nno longer has this statement.\n\nOnce we make this change, we only need to control the local\nfragmentation.  There is already a bit in the skb which controls\nthat, local_df.  So this patch sets that instead of using the\nipfragok argument.\n\nThe only complication is that there isn\u0027t a struct sock object\nper transport, so for IPv4 we have to resort to changing the\npmtudisc field for every packet.  This should be safe though\nas the protocol is single-threaded.\n\nNote that after this patch we can remove ipfragok from the rest\nof the stack too.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfb266c0ee0ea0b7bfa8189e3a3a80344dec6112",
      "tree": "89989c670a92740f511486dd60e5aa14397d44b1",
      "parents": [
        "1730554f253deb65fe5112c54b2f898d5318a328"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Sun Aug 03 18:16:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 18:16:15 2008 -0700"
      },
      "message": "ipv6: Fix the return value of Set Hop-by-Hop options header with NULL data pointer\n\nWhen Set Hop-by-Hop options header with NULL data \npointer and optlen is not zero use setsockopt(),\nthe kernel successfully return 0 instead of \nreturn error EINVAL or EFAULT.\n\nThis patch fix the problem.\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1730554f253deb65fe5112c54b2f898d5318a328",
      "tree": "7e729db3456bd61fa477fc94e38586c97a3beabb",
      "parents": [
        "adf044c8778de98dae29c5ce9973b7e43964674f"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sun Aug 03 18:13:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 18:13:44 2008 -0700"
      },
      "message": "ipv6: syncookies: free reqsk on xfrm_lookup error\n\ncookie_v6_check() did not call reqsk_free() if xfrm_lookup() fails,\nleaking the request sock.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf044c8778de98dae29c5ce9973b7e43964674f",
      "tree": "aca4e834cf1a9d15d348f9c23905dcf9f443ca85",
      "parents": [
        "e5a4a72d4f88f4389e9340d383ca67031d1b8536"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Sun Aug 03 14:06:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 14:06:44 2008 -0700"
      },
      "message": "net: Add missing extra2 parameter for ip_default_ttl sysctl\n\nCommit 76e6ebfb40a2455c18234dcb0f9df37533215461 (\"netns: add namespace\nparameter to rt_cache_flush\") acceses the extra2 parameter of the\nip_default_ttl ctl_table, but it is never set to a meaningful\nvalue. When e84f84f276473dcc673f360e8ff3203148bdf0e2 (\"netns: place\nrt_genid into struct net\") is applied, we\u0027ll oops in\nrt_cache_invalidate(). Set extra2 to init_net, to avoid that.\n\nReported-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nTested-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5a4a72d4f88f4389e9340d383ca67031d1b8536",
      "tree": "487fe8cf472a5b47007830a2666120c8ea5df51c",
      "parents": [
        "745e203164a9057e0de769ff4649e6e455daf753"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@marvell.com",
        "time": "Sun Aug 03 01:23:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 01:23:10 2008 -0700"
      },
      "message": "net: use software GSO for SG+CSUM capable netdevices\n\nIf a netdevice does not support hardware GSO, allowing the stack to\nuse GSO anyway and then splitting the GSO skb into MSS-sized pieces\nas it is handed to the netdevice for transmitting is likely still\na win as far as throughput and/or CPU usage are concerned, since it\nreduces the number of trips through the output path.\n\nThis patch enables the use of GSO on any netdevice that supports SG.\nIf a GSO skb is then sent to a netdevice that supports SG but does not\nsupport hardware GSO, net/core/dev.c:dev_hard_start_xmit() will take\ncare of doing the necessary GSO segmentation in software.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "745e203164a9057e0de769ff4649e6e455daf753",
      "tree": "477d9342196113fdbbeceebcbf4968aafe463646",
      "parents": [
        "bff69732c9947f821a64a8477f7dcaa9c30e6a69"
      ],
      "author": {
        "name": "Chris Larson",
        "email": "clarson@mvista.com",
        "time": "Sun Aug 03 01:10:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 01:10:55 2008 -0700"
      },
      "message": "net: fix missing pneigh entries in the neighbor seq_file code\n\nWhen pneigh entries exist, but the user\u0027s read buffer isn\u0027t sufficient to\nhold them all, one of the pneigh entries will be missing from the results.\n\nIn neigh_get_idx_any, the number of elements which neigh_get_idx\nencountered is not correctly subtracted from the position number before\nthe call to pneigh_get_idx.  neigh_get_idx reduces the position by 1 for\neach call to neigh_get_next, but it does not reduce it by one for the\nfirst element (neigh_get_first). The patch alters the neigh_get_idx and\npneigh_get_idx functions to subtract one from pos, for the first element,\nwhen pos is non-zero.\n\nSigned-off-by: Chris Larson \u003cclarson@mvista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bff69732c9947f821a64a8477f7dcaa9c30e6a69",
      "tree": "58c09d4d29ff15e39c87d9acedf3d8df42a24bb0",
      "parents": [
        "7e43f1128d4c4bd91786ca6abff45a91e88f9776"
      ],
      "author": {
        "name": "Chris Larson",
        "email": "clarson@mvista.com",
        "time": "Sun Aug 03 01:02:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 01:02:41 2008 -0700"
      },
      "message": "net: in the first call to neigh_seq_next, call neigh_get_first, not neigh_get_idx.\n\nneigh_seq_next won\u0027t be called both with *pos \u003e 0 \u0026\u0026 v \u003d\u003d\nSEQ_START_TOKEN, so there\u0027s no point calling neigh_get_idx when we\u0027re\non the start token, just call neigh_get_first directly.\n\nSigned-off-by: Chris Larson \u003cclarson@mvista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35ed4e75989c4e84a44b25569bbf09b98f923880",
      "tree": "db12e24912d7525dde5d1c50f0159ccdeab7076e",
      "parents": [
        "5fb662297b8a4bdadd60371c34b760efca948ebc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 02 23:25:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 02 23:25:50 2008 -0700"
      },
      "message": "mac80211: Use queue_lock() in ieee80211_ht_agg_queue_remove().\n\nqdisc_root_lock() is only %100 safe to use when the RTNL\nsemaphore is held.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fb662297b8a4bdadd60371c34b760efca948ebc",
      "tree": "ef1def70cfa440ab3d367f6f67d466227ffdf0ef",
      "parents": [
        "82f97b8d3cb3982ec97e081598c671fab2c321b0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 02 20:02:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 02 20:02:43 2008 -0700"
      },
      "message": "pkt_sched: Use qdisc_lock() on already sampled root qdisc.\n\nBased upon a bug report by Jeff Kirsher.\n\nDon\u0027t use qdisc_root_lock() in these cases as the root\nqdisc could have been changed, and we\u0027d thus lock the\nwrong object.\n\nTested by Emil S Tantilov who confirms that this seems\nto fix the problem.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9e80ea5f2129e135e3a6fa260314b1c6d99b19a",
      "tree": "db20dc85b0e620ea3fcaf86a9026d6df7cb2e168",
      "parents": [
        "2b12a4c524812fb3f6ee590a02e65b95c8c32229",
        "56decd3c5758b0d776c073f65f777beb7a05ac0a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 01 22:08:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 01 22:08:51 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "f8e79ddd31c3615ddca26b9a469c44a7adbd4e13",
      "tree": "befabd77386f496a3a5049bace1d335fcd8f8148",
      "parents": [
        "dc1968e7b7862bcd2d358c1be6119c011992bdd2"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Thu Jul 24 18:46:44 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 01 15:31:33 2008 -0400"
      },
      "message": "mac80211: fix fragmentation kludge\n\nThis patch make mac80211 transmit correctly fragmented packet after\nqueue was stopped\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96185664f10e79d038c084305d3cacff9b52204f",
      "tree": "9134c0e018b86d84e2f9f86561b4c7a44ef933f9",
      "parents": [
        "7c4f4578fc85d42d149f86b47f76c28626a20d92"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Jul 22 14:21:59 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 01 15:31:33 2008 -0400"
      },
      "message": "RFKILL: set the status of the leds on activation.\n\nProvide default activate function to set the state of the led\nwhen the led becomes bound to the trigger\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7c4f4578fc85d42d149f86b47f76c28626a20d92",
      "tree": "266b617211d19f31d383b7b11a6d3dfe160676d1",
      "parents": [
        "6e28fbef0f330d7c1cade345eeae003d4e5d6070"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Jul 22 14:17:37 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 01 15:31:33 2008 -0400"
      },
      "message": "RFKILL: allow one to specify led trigger name\n\nAllow the rfkill driver to specify led trigger name.\nBy default it still defaults to the name of rfkill switch.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-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": "6e28fbef0f330d7c1cade345eeae003d4e5d6070",
      "tree": "69d5f4e32a6ed95eb2bdc89678ca87d60274d2fb",
      "parents": [
        "f860ee26db51c478fd70039bd4902912a8d93993"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Jul 31 10:53:57 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 01 15:31:32 2008 -0400"
      },
      "message": "rfkill: query EV_SW states when rfkill-input (re)?connects to a input device\n\nEvery time a new input device that is capable of one of the\nrfkill EV_SW events (currently only SW_RFKILL_ALL) is connected to\nrfkill-input, we must check the states of the input EV_SW switches\nand take action.  Otherwise, we will ignore the initial switch state.\n\nWe also need to re-check the states of the EV_SW switches after\na device that was under an exclusive grab is released back to us,\nsince we got no input events from that device while it was grabbed.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9a5467fd600669cda488771dac3e951034fe2b08",
      "tree": "20c3c73ff3571e525193aca20d3602161b4e90be",
      "parents": [
        "676056132425ac425d7215cdaa8bd25582e07966",
        "00b1304c4ca81dd893973cc620b87a5c3ff3f660"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:35:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:35:16 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: (46 commits)\n  tcp: MD5: Fix IPv6 signatures\n  skbuff: add missing kernel-doc for do_not_encrypt\n  net/ipv4/route.c: fix build error\n  tcp: MD5: Fix MD5 signatures on certain ACK packets\n  ipv6: Fix ip6_xmit to send fragments if ipfragok is true\n  ipvs: Move userspace definitions to include/linux/ip_vs.h\n  netdev: Fix lockdep warnings in multiqueue configurations.\n  netfilter: xt_hashlimit: fix race between htable_destroy and htable_gc\n  netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations\n  netfilter: nf_conntrack_tcp: decrease timeouts while data in unacknowledged\n  irda: replace __FUNCTION__ with __func__\n  nsc-ircc: default to dongle type 9 on IBM hardware\n  bluetooth: add quirks for a few hci_usb devices\n  hysdn: remove the packed attribute from PofTimStamp_tag\n  isdn: use the common ascii hex helpers\n  tg3: adapt tg3 to use reworked PCI PM code\n  atm: fix direct casts of pointers to u32 in the InterPhase driver\n  atm: fix const assignment/discard warnings in the ATM networking driver\n  net: use the common ascii hex helpers\n  random32: seeding improvement\n  ...\n"
    },
    {
      "commit": "a1bc6eb4b499ae67ada9a01660010580b6569403",
      "tree": "95bcb20bd9ca30a82343e49d59e1e7c470bb057e",
      "parents": [
        "f418b006079ce537daf9436215f1d2a47e451602"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 30 06:32:52 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:22 2008 -0400"
      },
      "message": "[PATCH] ipv4_static_sysctl_init() should be under CONFIG_SYSCTL\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "00b1304c4ca81dd893973cc620b87a5c3ff3f660",
      "tree": "e66f024d536f0711508585ff0db344ec3bbdac57",
      "parents": [
        "4a7b61d23505854dff7d04cc11944566cffdd0ee"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Thu Jul 31 21:36:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 21:36:07 2008 -0700"
      },
      "message": "tcp: MD5: Fix IPv6 signatures\n\nReported by Stefanos Harhalakis; although 2.6.27-rc1 talks to itself using IPv6\nTCP MD5 packets just fine, Stefanos noted that tcpdump claimed that the\nsignatures were invalid.\n\nI broke this in 49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d (\"tcp: Fix MD5\nsignatures for non-linear skbs\"), it was just a typo.\n\nNote that tcpdump will still sometimes claim that the signatures are incorrect.\nA patch to tcpdump has been submitted for this[1].\n\n[1] http://tinyurl.com/6a4fl2\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a9204db665365354b349ed5b0bc054f0433a2a4",
      "tree": "e5ecc6efda8fc3f0d6b0c38319bdfd86edf4c62f",
      "parents": [
        "90b7e1120bb43ffaabb88d28f80a0c2e13167b15"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 20:51:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 20:51:22 2008 -0700"
      },
      "message": "net/ipv4/route.c: fix build error\n\nfix:\n\nnet/ipv4/route.c: In function \u0027ip_static_sysctl_init\u0027:\nnet/ipv4/route.c:3225: error: \u0027ipv4_route_path\u0027 undeclared (first use in this function)\nnet/ipv4/route.c:3225: error: (Each undeclared identifier is reported only once\nnet/ipv4/route.c:3225: error: for each function it appears in.)\nnet/ipv4/route.c:3225: error: \u0027ipv4_route_table\u0027 undeclared (first use in this function)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90b7e1120bb43ffaabb88d28f80a0c2e13167b15",
      "tree": "5264787eb3c303186cff15bfd6b7ebef2a3ecb7b",
      "parents": [
        "77e2f14f71d68d05945f1d30ca55b5194d6ab1ce"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Thu Jul 31 20:49:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 20:49:48 2008 -0700"
      },
      "message": "tcp: MD5: Fix MD5 signatures on certain ACK packets\n\nI noticed, looking at tcpdumps, that timewait ACKs were getting sent\nwith an incorrect MD5 signature when signatures were enabled.\n\nI broke this in 49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d (\"tcp: Fix\nMD5 signatures for non-linear skbs\"). I didn\u0027t take into account that\nthe skb passed to tcp_*_send_ack was the inbound packet, thus the\nsource and dest addresses need to be swapped when calculating the MD5\npseudoheader.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77e2f14f71d68d05945f1d30ca55b5194d6ab1ce",
      "tree": "edbc4034a01f2e037a1be42fc2d39f33d1b44d3d",
      "parents": [
        "bc4768eb081a67642c0c44c34ea597c273bdedcb"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Jul 31 20:46:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 20:46:47 2008 -0700"
      },
      "message": "ipv6: Fix ip6_xmit to send fragments if ipfragok is true\n\nSCTP used ip6_xmit() to send fragments after received ICMP packet too\nbig message. But while send packet used ip6_xmit, the skb-\u003elocal_df is\nnot initialized. So when skb if enter ip6_fragment(), the following\ncode will discard the skb.\n\nip6_fragment(...)\n{\n    if (!skb-\u003elocal_df) {\n        ...\n        return -EMSGSIZE;\n    }\n    ...\n}\n\nSCTP do the following step:\n1. send packet ip6_xmit(skb, ipfragok\u003d0)\n2. received ICMP packet too big message\n3. if PMTUD_ENABLE: ip6_xmit(skb, ipfragok\u003d1)\n\nThis patch fixed the problem by set local_df if ipfragok is true.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3f26a269c2421f97f10cf8ed05d5099b573af4d",
      "tree": "d0602cbb48742b3e39ab6bdcaa08c342d4cd2cae",
      "parents": [
        "967ab999a090b1a4e7d3c7febfd6d89b42fb4cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 16:58:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 16:58:50 2008 -0700"
      },
      "message": "netdev: Fix lockdep warnings in multiqueue configurations.\n\nWhen support for multiple TX queues were added, the\nnetif_tx_lock() routines we converted to iterate over\nall TX queues and grab each queue\u0027s spinlock.\n\nThis causes heartburn for lockdep and it\u0027s not a healthy\nthing to do with lots of TX queues anyways.\n\nSo modify this to use a top-level lock and a \"frozen\"\nstate for the individual TX queues.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "967ab999a090b1a4e7d3c7febfd6d89b42fb4cf4",
      "tree": "7ccc98a3ef1be4ca3129de23b083ab2bc47eb5c3",
      "parents": [
        "a8ddc9163c6a16cd62531dba1ec5020484e33b02"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jul 31 00:38:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 00:38:52 2008 -0700"
      },
      "message": "netfilter: xt_hashlimit: fix race between htable_destroy and htable_gc\n\nDeleting a timer with del_timer doesn\u0027t guarantee, that the\ntimer function is not running at the moment of deletion. Thus\nin the xt_hashlimit case we can get into a ticklish situation\nwhen the htable_gc rearms the timer back and we\u0027ll actually\ndelete an entry with a pending timer.\n\nFix it with using del_timer_sync().\n\nAFAIK del_timer_sync checks for the timer to be pending by\nitself, so I remove the check.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8ddc9163c6a16cd62531dba1ec5020484e33b02",
      "tree": "316873162ae914edd6a4f250693017486dede52a",
      "parents": [
        "ae375044d31075a31de5a839e07ded7f67b660aa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jul 31 00:38:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 00:38:31 2008 -0700"
      },
      "message": "netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations\n\nThe thing is that recent_mt_destroy first flushes the entries\nfrom table with the recent_table_flush and only *after* this\nremoves the proc file, corresponding to that table.\n\nThus, if we manage to write to this file the \u0027+XXX\u0027 command we\nwill leak some entries. If we manage to write there a \u0027clean\u0027\ncommand we\u0027ll race in two recent_table_flush flows, since the\nrecent_mt_destroy calls this outside the recent_lock.\n\nThe proper solution as I see it is to remove the proc file first\nand then go on with flushing the table. This flushing becomes\nsafe w/o the lock, since the table is already inaccessible from\nthe outside.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae375044d31075a31de5a839e07ded7f67b660aa",
      "tree": "13f49a97aa48fa8f19cbe7055e0b5e4df3abc462",
      "parents": [
        "a97a6f10771b90235b33c13a6db9279237a08422"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jul 31 00:38:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 00:38:01 2008 -0700"
      },
      "message": "netfilter: nf_conntrack_tcp: decrease timeouts while data in unacknowledged\n\nIn order to time out dead connections quicker, keep track of outstanding data\nand cap the timeout.\n\nSuggested by Herbert Xu.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cba5cbd1559f49bec76e54de6ed21b7df3742ada",
      "tree": "d2e6d53763f4822c5c8488ed0906f697263608b8",
      "parents": [
        "6a8341b68b5269de71c32c6df91f4b0298da031d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jul 30 16:31:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 16:31:46 2008 -0700"
      },
      "message": "atm: fix const assignment/discard warnings in the ATM networking driver\n\nFix const assignment/discard warnings in the ATM networking driver.\n\nThe lane2_assoc_ind() function needed its arguments changing to match changes\nin the lane2_ops struct (patch 61c33e012964ce358b42d2a1e9cd309af5dab02b\n\"atm: use const where reasonable\").\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a8341b68b5269de71c32c6df91f4b0298da031d",
      "tree": "e56055f2d31c4082a0a91b613c301e24c8ee2a14",
      "parents": [
        "697f8d0348a652593d195a13dd1067d9df911a82"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jul 30 16:30:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 16:30:15 2008 -0700"
      },
      "message": "net: use the common ascii hex helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4adf0af6818f3ea52421dc0bae836cfaf20ef72a",
      "tree": "480835bbc913896cd726e3f90d20ce8c859636f7",
      "parents": [
        "e62112c53acfefc67ccfbdc1895eebccf866bc1b"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "siwu@hrz.tu-chemnitz.de",
        "time": "Wed Jul 30 16:27:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 16:27:55 2008 -0700"
      },
      "message": "bridge: send correct MTU value in PMTU (revised)\n\nWhen bridging interfaces with different MTUs, the bridge correctly chooses\nthe minimum of the MTUs of the physical devices as the bridges MTU.  But\nwhen a frame is passed which fits through the incoming, but not through\nthe outgoing interface, a \"Fragmentation Needed\" packet is generated.\n\nHowever, the propagated MTU is hardcoded to 1500, which is wrong in this\nsituation.  The sender will repeat the packet again with the same frame\nsize, and the same problem will occur again.\n\nInstead of sending 1500, the (correct) MTU value of the bridge is now sent\nvia PMTU.  To achieve this, the corresponding rtable structure is stored\nin its net_bridge structure.\n\nModified to get rid of fake_net_device as well.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "031cf19e6f63941506c9baf76ac7adac06edcf08",
      "tree": "71b951007dc4e416848290a78a2ebe269e208dfb",
      "parents": [
        "17ef51fce03758736e9051c4360eca237dd0aaeb"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Jul 30 03:14:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:27:53 2008 -0700"
      },
      "message": "net: Make \"networking\" one-click deselectable.\n\nUse a menuconfig directive to make all of networking support one-click\ndeselectable from the top-level menu.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17ef51fce03758736e9051c4360eca237dd0aaeb",
      "tree": "db3991bf741952e5ba516ee19e18e5ce5fd6f0cd",
      "parents": [
        "785957d3e8c6fb37b18bf671923a76dbd8240025"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Jul 30 03:12:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:27:52 2008 -0700"
      },
      "message": "ipv6: Fix useless proc net sockstat6 removal\n\nThis call is no longer needed, sockstat6 is per namespace so it is\nremoved at the namespace subsystem destruction.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "785957d3e8c6fb37b18bf671923a76dbd8240025",
      "tree": "59f089e4bd109ad9d896c6e6a0f1699f42a34136",
      "parents": [
        "8d50b53d66a8a6ae41bafbdcabe401467803f33a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:03:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 03:27:25 2008 -0700"
      },
      "message": "tcp: MD5: Use MIB counter instead of warning for MD5 mismatch.\n\nFrom a report by Matti Aarnio, and preliminary patch by Adam Langley.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d50b53d66a8a6ae41bafbdcabe401467803f33a",
      "tree": "7a23efd740161b5b32d3fd473cf024e1a8931ce1",
      "parents": [
        "38c080ffa9c1b840390832b42ce8621464ab9f97"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 02:37:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 02:44:25 2008 -0700"
      },
      "message": "pkt_sched: Fix OOPS on ingress qdisc add.\n\nBug report from Steven Jan Springl:\n\n\tIssuing the following command causes a kernel oops:\n\t\ttc qdisc add dev eth0 handle ffff: ingress\n\nThe problem mostly stems from all of the special case handling of\ningress qdiscs.\n\nSo, to fix this, do the grafting operation the same way we do for TX\nqdiscs.  Which means that dev_activate() and dev_deactivate() now do\nthe \"qdisc_sleeping \u003c--\u003e qdisc\" transitions on dev-\u003erx_queue too.\n\nFuture simplifications are possible now, mainly because it is\nimpossible for dev_queue-\u003e{qdisc,qdisc_sleeping} to be NULL.  There\nare NULL checks all over to handle the ingress qdisc special case\nthat used to exist before this commit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a36702e016947a0ce6c0c024673bb5b16d3f618",
      "tree": "16ae893432a4ea9677a2856bd1ae3d6bc65cc46e",
      "parents": [
        "e93dc4891df93d7efa59d861fdcbb529a1819343"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Tue Jul 29 23:57:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 23:57:58 2008 -0700"
      },
      "message": "IPv6: datagram_send_ctl() should exit immediately when an error occured\n\nWhen an error occured, datagram_send_ctl() should exit immediately rather than\ncontinue to run the for loop. Otherwise, the variable err might be changed and\nthe error might be hidden.\n\nFix this bug by using \"goto\" instead of \"break\".\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e93dc4891df93d7efa59d861fdcbb529a1819343",
      "tree": "545d95bc78c76d44b22bf2590c033311f44c0616",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298",
        "56a6d13dfd49d90d72a1a962246206719dd9d143"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 21:51:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 21:51:00 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "56a6d13dfd49d90d72a1a962246206719dd9d143",
      "tree": "5b654deb1a072dab708e3ec34c6f427f9d03fa95",
      "parents": [
        "77bbadd5ea893f364a0d1879723037678a03725c"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Tue Jul 29 19:59:31 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:09 2008 -0400"
      },
      "message": "mac80211: fix mesh beaconing\n\nThis patch fixes mesh beaconing, which was broken by \"mac80211: revamp\nbeacon configuration\".\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "14db74bcc3f7a779cf395a47e26b06a28207571a",
      "tree": "8cda1c7f894bfedecf06fd42621248dad9dbf45d",
      "parents": [
        "bba95fefb8e31f4799652666d05a4a9aad56e492"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 29 13:22:52 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:08 2008 -0400"
      },
      "message": "mac80211: fix cfg80211 hooks for master interface\n\nThe master interface is a virtual interface that is registered\nto mac80211, changing that does not seem like a good idea at\nthe moment. However, since it has no sdata, we cannot accept\nany configuration for it. This patch makes the cfg80211 hooks\nreject any such attempt.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bba95fefb8e31f4799652666d05a4a9aad56e492",
      "tree": "929ad49feb272974769c2eb64920504b236eda9b",
      "parents": [
        "d0f09804144fd9471a13cf4d80e66842c7fa114f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 29 13:22:51 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:08 2008 -0400"
      },
      "message": "nl80211: fix dump callbacks\n\nJulius Volz pointed out that the dump callbacks in nl80211 were\nbroken and fixed one of them. This patch fixes the other three\nand also addresses the TODOs there.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Julius Volz \u003cjuliusv@google.com\u003e\nCc: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d0f09804144fd9471a13cf4d80e66842c7fa114f",
      "tree": "4a1f0f78bad7e5be4ad400397a19d4b8d6fbbdcd",
      "parents": [
        "0ccd58fc03f40529f66190b1a41e92a732d2bda8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 29 11:32:07 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:08 2008 -0400"
      },
      "message": "mac80211: partially fix skb-\u003ecb use\n\nThis patch fixes mac80211 to not use the skb-\u003ecb over the queue step\nfrom virtual interfaces to the master. The patch also, for now,\ndisables aggregation because that would still require requeuing,\nwill fix that in a separate patch. There are two other places (software\nrequeue and powersaving stations) where requeue can happen, but that is\nnot currently used by any drivers/not possible to use respectively.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5422399518e8142198df888aab00acdac251f754",
      "tree": "1922c0efe9d490c0152487f977241fd9375e101c",
      "parents": [
        "0b06b2ae0e474fc6378117c832bcd94785a9e975"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Thu Jul 24 10:40:37 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:07 2008 -0400"
      },
      "message": "mac80211: append CONFIG_ to MAC80211_VERBOSE_PS_DEBUG in net/mac80211/tx.c.\n\nIn net/mac80211/tx.c, there are some #ifdef which checks\nMAC80211_VERBOSE_PS_DEBUG\n(which in fact is never set) instead of\nCONFIG_MAC80211_VERBOSE_PS_DEBUG, as should be.\n\nThis patch replaces MAC80211_VERBOSE_PS_DEBUG with\nCONFIG_MAC80211_VERBOSE_PS_DEBUG in these #ifdef commands in\nnet/mac80211/tx.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "023a04bebe7030c1e6d5347bd3f27a3e49a1f222",
      "tree": "75309969e9c1749e20f26dd6b86d9d5fcd24e31a",
      "parents": [
        "1b0241656b658522a15e7aad570cb8ea6b255a2a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 14 12:52:08 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:07 2008 -0400"
      },
      "message": "mac80211: return correct error return from ieee80211_wep_init\n\nReturn the proper error code rather than a hard-coded ENOMEM from\nieee80211_wep_init.  Also, print the error code on failure.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1b0241656b658522a15e7aad570cb8ea6b255a2a",
      "tree": "295fa561fe5cae3d50fece17f7d7018fe61983f1",
      "parents": [
        "9c0ab712c7e40b61063431cae74a3e763535a4e7"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Jul 14 12:43:23 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:07 2008 -0400"
      },
      "message": "mac80211: tx, use dev_kfree_skb_any for beacon_get\n\nUse dev_kfree_skb_any(); instead of dev_kfree_skb();, since\nieee80211_beacon_get function might be called from atomic.\n(It\u0027s in a fail path.)\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "435307a365ceedc4f4e1813e405f583f434d98e4",
      "tree": "2f285547aba15a7235e46485ebde365d57cb378e",
      "parents": [
        "064af1117b4aa64a0e52f6b741df7356ef055142"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:22 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:03 2008 -0400"
      },
      "message": "rfkill: yet more minor kernel-doc fixes\n\nFor some stupid reason, I sent and old version of the patch minor kernel\ndoc-fix patch, and it got merged before I noticed the problem. This is an\nincremental fix on top.\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": "064af1117b4aa64a0e52f6b741df7356ef055142",
      "tree": "262651d81f5d390467ee80bca96e403f86bacee3",
      "parents": [
        "f1b23361a0f15497d4c6795a2935b2e98064ddfb"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:20 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:35 2008 -0400"
      },
      "message": "rfkill: mutex fixes\n\nThere are two mutexes in rfkill:\n\nrfkill-\u003emutex, which protects some of the fields of a rfkill struct, and is\nalso used for callback serialization.\n\nrfkill_mutex, which protects the global state, the list of registered\nrfkill structs and rfkill-\u003eclaim.\n\nMake sure to use the correct mutex, and to not miss locking rfkill-\u003emutex\neven when we already took rfkill_mutex.\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": "37f55e9d78d1b63047b1b7ae175cdce650547ba8",
      "tree": "bfbaf636dc086d0cc7b904a3dcbfe44c2e2d7a88",
      "parents": [
        "2fd9b2212e25e6411b6f309707f4e2683d164250"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:18 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:32 2008 -0400"
      },
      "message": "rfkill: fix led-trigger unregister order in error unwind\n\nrfkill needs to unregister the led trigger AFTER a call to\nrfkill_remove_switch(), otherwise it will not update the LED state,\npossibly leaving it ON when it should be OFF.\n\nTo make led-trigger unregistering safer, guard against unregistering a\ntrigger twice, and also against issuing trigger events to a led trigger\nthat was unregistered.  This makes the error unwind paths more resilient.\n\nRefer to \"rfkill: Register LED triggers before registering switch\".\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2fd9b2212e25e6411b6f309707f4e2683d164250",
      "tree": "b886e6d11d3478f86ac7e270ef1dfc7fe02e7128",
      "parents": [
        "734b5aa911dc65f4563048f069dfc631c9aa7de7"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:17 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:32 2008 -0400"
      },
      "message": "rfkill: document rfkill_force_state as required (v2)\n\nWhile the rfkill class does work with just get_state(), it doesn\u0027t work\nwell on devices that are subject to external events that cause rfkill state\nchanges.\n\nDocument that rfkill_force_state() is required in those cases.\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": "9e3ee1c39c0cc71222f9980ccbf87fe072897eef",
      "tree": "99462000e6f0d4f907cb2fc690f19d4d441ba0f3",
      "parents": [
        "e56b3bc7942982ac2589c942fb345e38bc7a341a",
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tkernel/stop_machine.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "414f746d232d41ed6ae8632c4495ae795373c44b",
      "tree": "167f9bc8f139c6e82e6732b38c7a938b8a9d31cd",
      "parents": [
        "5a7a201c51c324876d00a54e7208af6af12d1ca4",
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n"
    },
    {
      "commit": "eeb61f719c00c626115852bbc91189dc3011a844",
      "tree": "b52cddf222ee55082c0aeee5627049aa0d12afa4",
      "parents": [
        "bfbcf034798b2ca45338cee5049b5694b7ddc865"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jul 27 08:59:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:45:34 2008 -0700"
      },
      "message": "missing bits of net-namespace / sysctl\n\nPiss-poor sysctl registration API strikes again, film at 11...\n\nWhat we really need is _pathname_ required to be present in already\nregistered table, so that kernel could warn about bad order.  That\u0027s the\nnext target for sysctl stuff (and generally saner and more explicit\norder of initialization of ipv[46] internals wouldn\u0027t hurt either).\n\nFor the time being, here are full fixups required by ..._rotable()\nstuff; we make per-net sysctl sets descendents of \"ro\" one and make sure\nthat sufficient skeleton is there before we start registering per-net\nsysctls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ab61b01110aa04cd853c619a74881e3225a5e24",
      "tree": "ea73c3373954ebe105853d6657a2522036d638a7",
      "parents": [
        "6f9f489a4eeaa3c8a8618e078a5270d2c4872b67",
        "860239c56bbc7c830bdbcec93b140f22a5a5219b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 05:00:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 05:00:25 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://eden-feed.erg.abdn.ac.uk/net-2.6\n"
    },
    {
      "commit": "6f9f489a4eeaa3c8a8618e078a5270d2c4872b67",
      "tree": "be3348d282a5ac20275710afaaedc2a45adbb8d6",
      "parents": [
        "15d3b4a26291c170563e2b25ded5de1324f93959"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 27 04:40:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:51 2008 -0700"
      },
      "message": "net: missing bits of net-namespace / sysctl\n\nPiss-poor sysctl registration API strikes again, film at 11...\nWhat we really need is _pathname_ required to be present in\nalready registered table, so that kernel could warn about bad\norder.  That\u0027s the next target for sysctl stuff (and generally\nsaner and more explicit order of initialization of ipv[46]\ninternals wouldn\u0027t hurt either).\n\nFor the time being, here are full fixups required by ..._rotable()\nstuff; we make per-net sysctl sets descendents of \"ro\" one and\nmake sure that sufficient skeleton is there before we start registering\nper-net sysctls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15d3b4a26291c170563e2b25ded5de1324f93959",
      "tree": "9bea548a7de5215c58a091d58f4eefdb92349f2c",
      "parents": [
        "2c3abab7c95295f319dc8899b74cbd60140fcdfb",
        "8be1a6d6c77ab4532e4476fdb8177030ef48b52c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 04:40:08 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "2c3abab7c95295f319dc8899b74cbd60140fcdfb",
      "tree": "b6fbad678b3967208b045e3a9aa3962d20c0dccf",
      "parents": [
        "6c3b8fc618905d7599dcc514c99ce4293d476f39"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 03:59:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 27 03:59:24 2008 -0700"
      },
      "message": "ipcomp: Fix warnings after ipcomp consolidation.\n\nnet/ipv4/ipcomp.c: In function ‘ipcomp4_init_state’:\nnet/ipv4/ipcomp.c:109: warning: unused variable ‘calg_desc’\nnet/ipv4/ipcomp.c:108: warning: unused variable ‘ipcd’\nnet/ipv4/ipcomp.c:107: warning: ‘err’ may be used uninitialized in this function\nnet/ipv6/ipcomp6.c: In function ‘ipcomp6_init_state’:\nnet/ipv6/ipcomp6.c:139: warning: unused variable ‘calg_desc’\nnet/ipv6/ipcomp6.c:138: warning: unused variable ‘ipcd’\nnet/ipv6/ipcomp6.c:137: warning: ‘err’ may be used uninitialized in this function\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4836e3007882984279ca63d3c42bf0b14616eb78",
      "tree": "28bf22726964e068b825491d71a141eefedbe5f8",
      "parents": [
        "5c7c204aeca51ccfad63caab4fcdc5d8026c0fd8",
        "4e1e018ecc6f7bfd10fc75b3ff9715cc8164e0a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (39 commits)\n  [PATCH] fix RLIM_NOFILE handling\n  [PATCH] get rid of corner case in dup3() entirely\n  [PATCH] remove remaining namei_{32,64}.h crap\n  [PATCH] get rid of indirect users of namei.h\n  [PATCH] get rid of __user_path_lookup_open\n  [PATCH] f_count may wrap around\n  [PATCH] dup3 fix\n  [PATCH] don\u0027t pass nameidata to __ncp_lookup_validate()\n  [PATCH] don\u0027t pass nameidata to gfs2_lookupi()\n  [PATCH] new (local) helper: user_path_parent()\n  [PATCH] sanitize __user_walk_fd() et.al.\n  [PATCH] preparation to __user_walk_fd cleanup\n  [PATCH] kill nameidata passing to permission(), rename to inode_permission()\n  [PATCH] take noexec checks to very few callers that care\n  Re: [PATCH 3/6] vfs: open_exec cleanup\n  [patch 4/4] vfs: immutable inode checking cleanup\n  [patch 3/4] fat: dont call notify_change\n  [patch 2/4] vfs: utimes cleanup\n  [patch 1/4] vfs: utimes: move owner check into inode_change_ok()\n  [PATCH] vfs: use kstrdup() and check failing allocation\n  ...\n"
    },
    {
      "commit": "228428428138e231a155464239880201e5cc8b44",
      "tree": "89b437f5501d03ca36b717e232337426d0de77ca",
      "parents": [
        "78681ac08a611313595d13cafabae1183b71ef48",
        "6c3b8fc618905d7599dcc514c99ce4293d476f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:17:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:17:56 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  netns: fix ip_rt_frag_needed rt_is_expired\n  netfilter: nf_conntrack_extend: avoid unnecessary \"ct-\u003eext\" dereferences\n  netfilter: fix double-free and use-after free\n  netfilter: arptables in netns for real\n  netfilter: ip{,6}tables_security: fix future section mismatch\n  selinux: use nf_register_hooks()\n  netfilter: ebtables: use nf_register_hooks()\n  Revert \"pkt_sched: sch_sfq: dump a real number of flows\"\n  qeth: use dev-\u003eml_priv instead of dev-\u003epriv\n  syncookies: Make sure ECN is disabled\n  net: drop unused BUG_TRAP()\n  net: convert BUG_TRAP to generic WARN_ON\n  drivers/net: convert BUG_TRAP to generic WARN_ON\n"
    },
    {
      "commit": "516e0cc5646f377ab80fcc2ee639892eccb99853",
      "tree": "e06296dcedb42dbe397d237887873e70c5823d51",
      "parents": [
        "3c333937ee3be114b181c4861188cfe8f6a59697"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 00:39:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:40 2008 -0400"
      },
      "message": "[PATCH] f_count may wrap around\n\nmake it atomic_long_t; while we are at it, get rid of useless checks in affs,\nhfs and hpfs - -\u003eopen() always has it equal to 1, -\u003erelease() - to 0.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bd7b1533cd6a68c734062aa69394bec7e2b1718e",
      "tree": "f968f6c68672502db08912bf69d8e3d1ba25169b",
      "parents": [
        "f7e6ced4061da509f737541ca4dbd44d83a6e82f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 16:00:59 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:10 2008 -0400"
      },
      "message": "[PATCH] sysctl: make sure that /proc/sys/net/ipv4 appears before per-ns ones\n\nMassage ipv4 initialization - make sure that net.ipv4 appears as\nnon-per-net-namespace before it shows up in per-net-namespace sysctls.\nThat\u0027s the only change outside of sysctl.c needed to get sane ordering\nrules and data structures for sysctls (esp. for procfs side of that\nmess).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "734550921e9b7ab924a43aa3d0bd4239dac4fbf1",
      "tree": "7be4b0808ba9860f1d953b45120262a277866021",
      "parents": [
        "7ac6cd653d7c31ad6b7bb5b88c549c4ebf628c34"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 14 21:22:20 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:08 2008 -0400"
      },
      "message": "[PATCH] beginning of sysctl cleanup - ctl_table_set\n\nNew object: set of sysctls [currently - root and per-net-ns].\nContains: pointer to parent set, list of tables and \"should I see this set?\"\nmethod (-\u003eis_seen(set)).\nCurrent lists of tables are subsumed by that; net-ns contains such a beast.\n-\u003elookup() for ctl_table_root returns pointer to ctl_table_set instead of\nthat to -\u003elist of that ctl_table_set.\n\n[folded compile fixes by rdd for configs without sysctl]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6c3b8fc618905d7599dcc514c99ce4293d476f39",
      "tree": "f04de514889f8c7783a5f64645a0dad3b0140305",
      "parents": [
        "6c64825bf40ecc1b01610762ca736b18c8a9db92"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "message": "netns: fix ip_rt_frag_needed rt_is_expired\n\nRunning recent kernels, and using a particular vpn gateway, I\u0027ve been\nhaving to edit my mails down to get them accepted by the smtp server.\n\nGit bisect led to commit e84f84f276473dcc673f360e8ff3203148bdf0e2 -\nnetns: place rt_genid into struct net.  The conversion from a !\u003d test\nto rt_is_expired() put one negative too many: and now my mail works.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c64825bf40ecc1b01610762ca736b18c8a9db92",
      "tree": "2cfd89fde882986d9f46f496f246192583cc3119",
      "parents": [
        "93bc4e89c260d91576840c4881d1066d84ccd422"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 26 17:50:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:50:05 2008 -0700"
      },
      "message": "netfilter: nf_conntrack_extend: avoid unnecessary \"ct-\u003eext\" dereferences\n\nAs Linus points out, \"ct-\u003eext\" and \"new\" are always equal, avoid unnecessary\ndereferences and use \"new\" directly.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93bc4e89c260d91576840c4881d1066d84ccd422",
      "tree": "456176a054fc9a3fed18ac6ce50c7a34a86c5808",
      "parents": [
        "3918fed5f31213067c1c345bd904e1ea369e6819"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jul 26 17:49:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:49:33 2008 -0700"
      },
      "message": "netfilter: fix double-free and use-after free\n\nAs suggested by Patrick McHardy, introduce a __krealloc() that doesn\u0027t\nfree the original buffer to fix a double-free and use-after-free bug\nintroduced by me in netfilter that uses RCU.\n\nReported-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nTested-by: Dieter Ries \u003cclip2@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3918fed5f31213067c1c345bd904e1ea369e6819",
      "tree": "81148af4b7f53f32e4cfcee8f731eb3ec1382597",
      "parents": [
        "f858b4869a9136dd28cc2ab37f8b89268cc99462"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 17:48:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:48:59 2008 -0700"
      },
      "message": "netfilter: arptables in netns for real\n\nIN, FORWARD -- grab netns from in device, OUT -- from out device.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f858b4869a9136dd28cc2ab37f8b89268cc99462",
      "tree": "32bf6b63d25d5a807575cde15284abaee0307873",
      "parents": [
        "6c5a9d2e1599a099b0e47235a1c1502162b14310"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 17:48:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:48:38 2008 -0700"
      },
      "message": "netfilter: ip{,6}tables_security: fix future section mismatch\n\nCurrently not visible, because NET_NS is mutually exclusive with SYSFS\nwhich is required by SECURITY.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e40f51a36a6ca718e829c0933ab1e79333ac932e",
      "tree": "94df5c10b946aa08dd741e2e1d0a43e0583aaa32",
      "parents": [
        "cdec7e50a4896c5197d5575d9ca635eea6825149"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 17:47:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:47:53 2008 -0700"
      },
      "message": "netfilter: ebtables: use nf_register_hooks()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bc3cc03fa6e1c20aecb5a33356bcaae410640b9",
      "tree": "7dab4b0002298b45e31053fe0f37e5ff745682b7",
      "parents": [
        "6524d938b3360504b43a1278b5a8403e85383d1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n\n  * Replace previous instances of the cpumask_of_cpu_ptr* macros\n    with a the new (lvalue capable) generic cpumask_of_cpu().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "860239c56bbc7c830bdbcec93b140f22a5a5219b",
      "tree": "52de988257064b33441f3a8341f6f2fac48a3fe4",
      "parents": [
        "18e1d836002ad970f42736bad09b7be9cfe99545"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:11 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:11 2008 +0100"
      },
      "message": "dccp: Add check for truncated ICMPv6 DCCP error packets\n\nThis patch adds a minimum-length check for ICMPv6 packets, as per the previous\npatch for ICMPv4 payloads.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "18e1d836002ad970f42736bad09b7be9cfe99545",
      "tree": "2e704da1e24eba0f1a09d4b983a34bcc5b51f29d",
      "parents": [
        "e0bcfb0c6a6ed9ebd68746b306298dc5797fd426"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Fix incorrect length check for ICMPv4 packets\n\nUnlike TCP, which only needs 8 octets of original packet data, DCCP requires\nminimally 12 or 16 bytes for ICMP-payload sequence number checks.\n\nThis patch replaces the insufficient length constant of 8 with a two-stage\ntest, making sure that 12 bytes are available, before computing the basic\nheader length required for sequence number checks.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "e0bcfb0c6a6ed9ebd68746b306298dc5797fd426",
      "tree": "815e27766944fa7a54ae49d06aa241632187d968",
      "parents": [
        "d68f0866f76e2bc4ddc07e88e2cb1bc8959a6d7e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Add check for sequence number in ICMPv6 message\n\nThis adds a sequence number check for ICMPv6 DCCP error packets, in the same\nmanner as it has been done for ICMPv4 in the previous patch.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "d68f0866f76e2bc4ddc07e88e2cb1bc8959a6d7e",
      "tree": "2cab08fd8de1c81c6d5a545a5b2aa96743cb6862",
      "parents": [
        "73f18fdbca3f92b90aeaee16f5175fe30496e218"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Fix sequence number check for ICMPv4 packets\n\nThe payload of ICMP message is a part of the packet sent by ourself,\nso the sequence number check must use AWL and AWH, not SWL and SWH.\n\nFor example:\n     Endpoint A                  Endpoint B\n\n     DATA-ACK       --------\u003e\n     (SEQ\u003dX)\n                    \u003c--------    ICMP (Fragmentation Needed)\n                                 (SEQ\u003dX)\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "73f18fdbca3f92b90aeaee16f5175fe30496e218",
      "tree": "855e3a9dcad54336c3b0301e09f85b39a9c2b48a",
      "parents": [
        "59435444a13ed52d3444c5df26b73d3086bcd57b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Bug-Fix - AWL was never updated\n\nThe AWL lower Ack validity window advances in proportion to GSS, the greatest\nsequence number sent. Updating AWL other than at connection setup (in the\nDCCP-Request sent by dccp_v{4,6}_connect()) was missing in the DCCP code.\n\nThis bug lead to syslog messages such as\n\n \"kernel: dccp_check_seqno: DCCP: Step 6 failed for DATAACK packet, [...] \n  P.ackno exists or LAWL(82947089) \u003c\u003d P.ackno(82948208)\n                                   \u003c\u003d S.AWH(82948728), sending SYNC...\"\n\nThe difference between AWL/AWH here is 1639 packets, while the expected value\n(the Sequence Window) would have been 100 (the default).  A closer look showed\nthat LAWL \u003d AWL \u003d 82947089 equalled the ISS on the Response.\n\nThe patch now updates AWL with each increase of GSS.\n\n\nFurther changes:\n----------------\nThe patch also enforces more stringent checks on the ISS sequence number:\n\n * AWL is initialised to ISS at connection setup and remains at this value;\n * AWH is then always set to GSS (via dccp_update_gss());\n * so on the first Request: AWL \u003d      AWH \u003d ISS,\n   and on the n-th Request: AWL \u003d ISS, AWH \u003d ISS + n.\n\nAs a consequence, only Response packets that refer to Requests sent by this\nhost will pass, all others are discarded. This is the intention and in effect \nimplements the initial adjustments for AWL as specified in RFC 4340, 7.5.1.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e   \nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\n"
    },
    {
      "commit": "59435444a13ed52d3444c5df26b73d3086bcd57b",
      "tree": "72846dbcb8c6c41e6d630bcb81297801dfe7fb16",
      "parents": [
        "cdec7e50a4896c5197d5575d9ca635eea6825149"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:09 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:09 2008 +0100"
      },
      "message": "dccp: Allow to distinguish original and retransmitted packets\n\nThis patch allows the sender to distinguish original and retransmitted packets,\nwhich is in particular needed for the retransmission of DCCP-Requests:\n * the first Request uses ISS (generated in net/dccp/ip*.c), and sets GSS \u003d ISS;\n * all retransmitted Requests use GSS\u0027 \u003d GSS + 1, so that the n-th retransmitted\n   Request has sequence number ISS + n (mod 48).\n\nTo add generic support, the patch reorganises existing code so that:\n * icsk_retransmits \u003d\u003d 0     for the original packet and\n * icsk_retransmits \u003d n \u003e 0  for the n-th retransmitted packet\nat the time dccp_transmit_skb() is called, via dccp_retransmit_skb().\n \nThanks to Wei Yongjun for pointing this problem out.\n\nFurther changes:\n----------------\n * removed the `skb\u0027 argument from dccp_retransmit_skb(), since sk_send_head\n   is used for all retransmissions (the exception is client-Acks in PARTOPEN\n   state, but these do not use sk_send_head);\n * since sk_send_head always contains the original skb (via dccp_entail()),\n   skb_cloned() never evaluated to true and thus pskb_copy() was never used.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "cdec7e50a4896c5197d5575d9ca635eea6825149",
      "tree": "0071b43c923cd73b4a5d2d09fbb876ed39a3a06d",
      "parents": [
        "509e2562adfd63964aa30c1ddd9ddf4e57949351"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:28:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:28:09 2008 -0700"
      },
      "message": "Revert \"pkt_sched: sch_sfq: dump a real number of flows\"\n\nThis reverts commit f867e6af94239a04ec23aeec2fcda5aa58e41db7.\n\nBased upon discussions between Jarek and Patrick McHardy\nthis is field being set is more a config parameter than a\nstatistic.  And we should add a true statistic to provide\nthis information if we really want it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16df845f4566bc252f3e09db12f5c2f22cb44226",
      "tree": "c83f5b664b669ff26bbf5c9a44b9ccecfa53c506",
      "parents": [
        "ec34c702ca8b7d6f0aa54379c3b0d0ec10b8ff23"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Jul 26 02:21:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:21:54 2008 -0700"
      },
      "message": "syncookies: Make sure ECN is disabled\n\necn_ok is not initialized when a connection is established by cookies.\nThe cookie syn-ack never sets ECN, so ecn_ok must be set to 0.\n\nSpotted using ns-3/network simulation cradle simulator and valgrind.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ff8419871ea757ae0298aa296bcff9b2ca48561",
      "tree": "ff2194bc75f06107e16220ce303ef546f9a4c769",
      "parents": [
        "8d25b36b77fe32c296ece83e94ca6ae4d17f3e25",
        "7d7e5a60c62e88cb8782760bb6c4d3bd1577a6c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 17:40:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 17:40:16 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: ipcomp - Decompress into frags if necessary\n  ipsec: ipcomp - Merge IPComp implementations\n  pkt_sched: Fix locking in shutdown_scheduler_queue()\n"
    },
    {
      "commit": "4ecb90090c84210a8bd2a9d7a5906e616735873c",
      "tree": "a7baec8859ff9750296be318400ba4475eb40b6c",
      "parents": [
        "99541c23cd32bacf1a591ca537a7c0cb9053ad7e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Jul 25 01:48:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "sysctl: allow override of /proc/sys/net with CAP_NET_ADMIN\n\nExtend the permission check for networking sysctl\u0027s to allow modification\nwhen current process has CAP_NET_ADMIN capability and is not root.  This\nversion uses the until now unused permissions hook to override the mode\nvalue for /proc/sys/net if accessed by a user with capabilities.\n\nFound while working with Quagga.  It is impossible to turn forwarding\non/off through the command interface because Quagga uses secure coding\npractice of dropping privledges during initialization and only raising via\ncapabilities when necessary.  Since the dameon has reset real/effective\nuid after initialization, all attempts to access /proc/sys/net variables\nwill fail.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Andrew Morgan \u003cmorgan@kernel.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "717115e1a5856b57af0f71e1df7149108294fc10",
      "tree": "9528a992245c2fb993a0cf0bc8221dc7dea5d259",
      "parents": [
        "2711b793eb62a5873a0ba583a69252040aef176e"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "printk ratelimiting rewrite\n\nAll ratelimit user use same jiffies and burst params, so some messages\n(callbacks) will be lost.\n\nFor example:\na call printk_ratelimit(5 * HZ, 1)\nb call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will\nwill be supressed.\n\n- rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for\n  hints from andrew.\n\n- Add WARN_ON_RATELIMIT, update rcupreempt.h\n\n- remove __printk_ratelimit\n\n- use __ratelimit in net_ratelimit\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "696adfe84c11c571a1e0863460ff0ec142b4e5a9",
      "tree": "f00042d0c69211955ec6ef3a5d4a5c49ec7f8890",
      "parents": [
        "2fc9c4e18f94431e7eb77d97edb2a995b46fba55"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jul 25 01:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "list_for_each_rcu must die: networking\n\nAll uses of list_for_each_rcu() can be profitably replaced by the\neasier-to-use list_for_each_entry_rcu().  This patch makes this change for\nnetworking, in preparation for removing the list_for_each_rcu() API\nentirely.\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d7e5a60c62e88cb8782760bb6c4d3bd1577a6c6",
      "tree": "c6bedd62097698466d7dc0b5166e4ed29e1b6ee5",
      "parents": [
        "6fccab671f2f0a24b799f29a4ec878f62d34656c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jul 25 02:55:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 02:55:33 2008 -0700"
      },
      "message": "ipsec: ipcomp - Decompress into frags if necessary\n\nWhen decompressing extremely large packets allocating them through\nkmalloc is prone to failure.  Therefore it\u0027s better to use page\nfrags instead.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fccab671f2f0a24b799f29a4ec878f62d34656c",
      "tree": "e90a1ac0770f8fe59bd7c8768663052a7756b950",
      "parents": [
        "cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jul 25 02:54:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 02:54:40 2008 -0700"
      },
      "message": "ipsec: ipcomp - Merge IPComp implementations\n\nThis patch merges the IPv4/IPv6 IPComp implementations since most\nof the code is identical.  As a result future enhancements will no\nlonger need to be duplicated.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3",
      "tree": "8d016589486306d406f12ed6b8d85f4be59e460d",
      "parents": [
        "f867e6af94239a04ec23aeec2fcda5aa58e41db7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 01:25:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 01:25:04 2008 -0700"
      },
      "message": "pkt_sched: Fix locking in shutdown_scheduler_queue()\n\nQdisc locks need to be held with BH disabled.\n\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3c2233d84bee397b8271923c007264eb3efa67b",
      "tree": "3a6d7d9644f926cdf00cad03920bb238fc6f5b15",
      "parents": [
        "f9247273cb69ba101877e946d2d83044409cc8c5",
        "f867e6af94239a04ec23aeec2fcda5aa58e41db7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:14:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:14:58 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  pkt_sched: sch_sfq: dump a real number of flows\n  atm: [fore200e] use MODULE_FIRMWARE() and other suggested cleanups\n  netfilter: make security table depend on NETFILTER_ADVANCED\n  tcp: Clear probes_out more aggressively in tcp_ack().\n  e1000e: fix e1000_netpoll(), remove extraneous e1000_clean_tx_irq() call\n  net: Update entry in af_family_clock_key_strings\n  netdev: Remove warning from __netif_schedule().\n  sky2: don\u0027t stop queue on shutdown\n"
    },
    {
      "commit": "e38b36f325153eaadd1c2a7abc5762079233e540",
      "tree": "92cfc9855e41c5328d91456f5e373c00ecb8d383",
      "parents": [
        "510df2dd482496083e1c3b1a8c9b6afd5fa4c7d7"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: check magic constants\n\nThis patch adds test that ensure the boundary conditions for the various\nconstants introduced in the previous patches is met.  No code is generated.\n\n[akpm@linux-foundation.org: fix alpha]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77d2720059618b9b6e827a8b73831eb6c6fad63c",
      "tree": "c8a08caa9a864c546fda2e043d5232c377d210c6",
      "parents": [
        "99829b832997d907c30669bfd17da32151e18f04"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: NONBLOCK in socket and socketpair\n\nThis patch introduces support for the SOCK_NONBLOCK flag in socket,\nsocketpair, and  paccept.  To do this the internal function sock_attach_fd\ngets an additional parameter which it uses to set the appropriate flag for\nthe file descriptor.\n\nGiven that in modern, scalable programs almost all socket connections are\nnon-blocking and the minimal additional cost for the new functionality\nI see no reason not to add this code.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_paccept\n# ifdef __x86_64__\n#  define __NR_paccept 288\n# elif defined __i386__\n#  define SYS_PACCEPT 18\n#  define USE_SOCKETCALL 1\n# else\n#  error \"need __NR_paccept\"\n# endif\n#endif\n\n#ifdef USE_SOCKETCALL\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  ({ long args[6] \u003d { \\\n       (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \\\n     syscall (__NR_socketcall, SYS_PACCEPT, args); })\n#else\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags)\n#endif\n\n#define PORT 57392\n\n#define SOCK_NONBLOCK O_NONBLOCK\n\nstatic pthread_barrier_t b;\n\nstatic void *\ntf (void *arg)\n{\n  pthread_barrier_wait (\u0026b);\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  struct sockaddr_in sin;\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  pthread_barrier_wait (\u0026b);\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  return NULL;\n}\n\nint\nmain (void)\n{\n  int fd;\n  fd \u003d socket (PF_INET, SOCK_STREAM, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(0) failed\");\n      return 1;\n    }\n  int fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"socket(0) set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d socket (PF_INET, SOCK_STREAM|SOCK_NONBLOCK, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n  fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"socket(SOCK_NONBLOCK) does not set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  int fds[2];\n  if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      fl \u003d fcntl (fds[i], F_GETFL);\n      if (fl \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (fl \u0026 O_NONBLOCK)\n        {\n          printf (\"socketpair(0) set non-blocking mode for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  if (socketpair (PF_UNIX, SOCK_STREAM|SOCK_NONBLOCK, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      fl \u003d fcntl (fds[i], F_GETFL);\n      if (fl \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n        {\n          printf (\"socketpair(SOCK_NONBLOCK) does not set non-blocking mode for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  pthread_barrier_init (\u0026b, NULL, 2);\n\n  struct sockaddr_in sin;\n  pthread_t th;\n  if (pthread_create (\u0026th, NULL, tf, NULL) !\u003d 0)\n    {\n      puts (\"pthread_create failed\");\n      return 1;\n    }\n\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  int reuse \u003d 1;\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  int s2 \u003d paccept (s, NULL, 0, NULL, 0);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(0) failed\");\n      return 1;\n    }\n\n  fl \u003d fcntl (s2, F_GETFL);\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"paccept(0) set non-blocking mode\");\n      return 1;\n    }\n  close (s2);\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  s2 \u003d paccept (s, NULL, 0, NULL, SOCK_NONBLOCK);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n\n  fl \u003d fcntl (s2, F_GETFL);\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"paccept(SOCK_NONBLOCK) does not set non-blocking mode\");\n      return 1;\n    }\n  close (s2);\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c019bbc612f6633ede7ed67725cbf68de45ae8a4",
      "tree": "99b23660c2915e699f35f3fc5820b5cc30f890b3",
      "parents": [
        "aaca0bdca573f3f51ea03139f9c7289541e7bca3"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: paccept w/out set_restore_sigmask\n\nSome platforms do not have support to restore the signal mask in the\nreturn path from a syscall.  For those platforms syscalls like pselect are\nnot defined at all.  This is, I think, not a good choice for paccept()\nsince paccept() adds more value on top of accept() than just the signal\nmask handling.\n\nTherefore this patch defines a scaled down version of the sys_paccept\nfunction for those platforms.  It returns -EINVAL in case the signal mask\nis non-NULL but behaves the same otherwise.\n\nNote that I explicitly included \u003clinux/thread_info.h\u003e.  I saw that it is\ncurrently included but indirectly two levels down.  There is too much risk\nin relying on this.  The header might change and then suddenly the\nfunction definition would change without anyone immediately noticing.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aaca0bdca573f3f51ea03139f9c7289541e7bca3",
      "tree": "d25b0baa73b5301d91a5c848a896bad0fb719acc",
      "parents": [
        "a677a039be7243357d93502bff2b40850c942e2d"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: paccept\n\nThis patch is by far the most complex in the series.  It adds a new syscall\npaccept.  This syscall differs from accept in that it adds (at the userlevel)\ntwo additional parameters:\n\n- a signal mask\n- a flags value\n\nThe flags parameter can be used to set flag like SOCK_CLOEXEC.  This is\nimlpemented here as well.  Some people argued that this is a property which\nshould be inherited from the file desriptor for the server but this is against\nPOSIX.  Additionally, we really want the signal mask parameter as well\n(similar to pselect, ppoll, etc).  So an interface change in inevitable.\n\nThe flag value is the same as for socket and socketpair.  I think diverging\nhere will only create confusion.  Similar to the filesystem interfaces where\nthe use of the O_* constants differs, it is acceptable here.\n\nThe signal mask is handled as for pselect etc.  The mask is temporarily\ninstalled for the thread and removed before the call returns.  I modeled the\ncode after pselect.  If there is a problem it\u0027s likely also in pselect.\n\nFor architectures which use socketcall I maintained this interface instead of\nadding a system call.  The symmetry shouldn\u0027t be broken.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_paccept\n# ifdef __x86_64__\n#  define __NR_paccept 288\n# elif defined __i386__\n#  define SYS_PACCEPT 18\n#  define USE_SOCKETCALL 1\n# else\n#  error \"need __NR_paccept\"\n# endif\n#endif\n\n#ifdef USE_SOCKETCALL\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  ({ long args[6] \u003d { \\\n       (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \\\n     syscall (__NR_socketcall, SYS_PACCEPT, args); })\n#else\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags)\n#endif\n\n#define PORT 57392\n\n#define SOCK_CLOEXEC O_CLOEXEC\n\nstatic pthread_barrier_t b;\n\nstatic void *\ntf (void *arg)\n{\n  pthread_barrier_wait (\u0026b);\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  struct sockaddr_in sin;\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  pthread_barrier_wait (\u0026b);\n  sleep (2);\n  pthread_kill ((pthread_t) arg, SIGUSR1);\n\n  return NULL;\n}\n\nstatic void\nhandler (int s)\n{\n}\n\nint\nmain (void)\n{\n  pthread_barrier_init (\u0026b, NULL, 2);\n\n  struct sockaddr_in sin;\n  pthread_t th;\n  if (pthread_create (\u0026th, NULL, tf, (void *) pthread_self ()) !\u003d 0)\n    {\n      puts (\"pthread_create failed\");\n      return 1;\n    }\n\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  int reuse \u003d 1;\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  int s2 \u003d paccept (s, NULL, 0, NULL, 0);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(0) failed\");\n      return 1;\n    }\n\n  int coe \u003d fcntl (s2, F_GETFD);\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"paccept(0) set close-on-exec-flag\");\n      return 1;\n    }\n  close (s2);\n\n  pthread_barrier_wait (\u0026b);\n\n  s2 \u003d paccept (s, NULL, 0, NULL, SOCK_CLOEXEC);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n\n  coe \u003d fcntl (s2, F_GETFD);\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"paccept(SOCK_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (s2);\n\n  pthread_barrier_wait (\u0026b);\n\n  struct sigaction sa;\n  sa.sa_handler \u003d handler;\n  sa.sa_flags \u003d 0;\n  sigemptyset (\u0026sa.sa_mask);\n  sigaction (SIGUSR1, \u0026sa, NULL);\n\n  sigset_t ss;\n  pthread_sigmask (SIG_SETMASK, NULL, \u0026ss);\n  sigaddset (\u0026ss, SIGUSR1);\n  pthread_sigmask (SIG_SETMASK, \u0026ss, NULL);\n\n  sigdelset (\u0026ss, SIGUSR1);\n  alarm (4);\n  pthread_barrier_wait (\u0026b);\n\n  errno \u003d 0 ;\n  s2 \u003d paccept (s, NULL, 0, \u0026ss, 0);\n  if (s2 !\u003d -1 || errno !\u003d EINTR)\n    {\n      puts (\"paccept did not fail with EINTR\");\n      return 1;\n    }\n\n  close (s);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: make it compile]\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "a677a039be7243357d93502bff2b40850c942e2d"
}
