)]}'
{
  "log": [
    {
      "commit": "d606ef3fe0c57504b8e534c58498f73a6abc049a",
      "tree": "00aa6e80fedbe8cd866fe19db8b077afd32db068",
      "parents": [
        "68aa3fd551e9d54d98794852714dc1edbb21df77"
      ],
      "author": {
        "name": "Baruch Siach",
        "email": "baruch@tkos.co.il",
        "time": "Mon Feb 14 02:05:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 14 17:38:30 2011 -0800"
      },
      "message": "phy/micrel: add ability to support 50MHz RMII clock on KZS8051RNL\n\nPlatform code can now set the MICREL_PHY_50MHZ_CLK bit of dev_flags in a fixup\nroutine (registered with phy_register_fixup_for_uid()), to make the KZS8051RNL\nPHY work with 50MHz RMII reference clock.\n\nCc: David J. Choi \u003cdavid.choi@micrel.com\u003e\nSigned-off-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbaec0ea54f7d9131891ff98744e82c073ce03b1",
      "tree": "d0622d38a51b7e4a1e853338e7cbd954d3977cf2",
      "parents": [
        "f45437efff460aa033978180da88229c5fc68455"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sun Feb 13 10:15:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 16:58:39 2011 -0800"
      },
      "message": "rtnetlink: implement setting of master device\n\nThis patch allows userspace to enslave/release slave devices via netlink\ninterface using IFLA_MASTER. This introduces generic way to add/remove\nunderling devices.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1765a575334f1a232c1478accdee5c7d19f4b3e3",
      "tree": "6613f53ce9095b799048d891f0b4b6e34a479fe0",
      "parents": [
        "d59cfde2fb960b5970ccb5a38cea25d38b37a8e8"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Feb 12 06:48:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 10:42:07 2011 -0800"
      },
      "message": "net: make dev-\u003emaster general\n\ndev-\u003emaster is now tightly connected to bonding driver. This patch makes\nthis pointer more general and ready to be used by others.\n\n - netdev_set_master() - bond specifics moved to new function\n   netdev_set_bond_master()\n - introduced netif_is_bond_slave() to check if device is a bonding slave\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d59cfde2fb960b5970ccb5a38cea25d38b37a8e8",
      "tree": "4ccf7fe4c8cc5a128885e60bd417253d3ec9b24a",
      "parents": [
        "d5e219c3a2389f31b18e4ca55c33a12adaadf565"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Feb 12 00:46:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 10:42:06 2011 -0800"
      },
      "message": "net: remove the unnecessary dance around skb_bond_should_drop\n\nNo need to check (master) twice and to drive in and out the header file.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d033d526a465c4bb8a499a0b5df65b3e7cf4da6f",
      "tree": "570fba34e3fe39dd158dbf38296ca486298b2548",
      "parents": [
        "55320cb58baebd1795ec92f4550a1e8b38bf9ddf"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Feb 10 14:40:01 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Fri Feb 11 08:47:15 2011 -0800"
      },
      "message": "ixgbe: DCB, implement 802.1Qaz routines\n\nImplements 802.1Qaz support for ixgbe driver. Additionally,\nthis adds IEEE_8021QAZ_TSA_{} defines to dcbnl.h this is to\navoid having to use cryptic numeric codes for the TSA type.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "263fb5b1bf9265d0e4ce59ff6ea92f478b5b61ea",
      "tree": "5ee497d530185d32421122729af86cf77d0dc649",
      "parents": [
        "8d13a2a9fb3e5e3f68e9d3ec0de3c8fcfa56a224",
        "c69b90920a36b88ab0d649963d81355d865eeb05"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 17:19:01 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 17:19:01 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/e1000e/netdev.c\n"
    },
    {
      "commit": "fa9921e46fd52b78070dc67ce0d27ec301a90410",
      "tree": "8684af3cd03cf8fed1e6be9f722c181278944f7b",
      "parents": [
        "c0c84ef5c130f8871adbdaac2ba824b9195cb6d9"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Wed Feb 02 06:29:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 14:00:40 2011 -0800"
      },
      "message": "ipsec: allow to align IPv4 AH on 32 bits\n\nThe Linux IPv4 AH stack aligns the AH header on a 64 bit boundary\n(like in IPv6). This is not RFC compliant (see RFC4302, Section\n3.3.3.2.1), it should be aligned on 32 bits.\n\nFor most of the authentication algorithms, the ICV size is 96 bits.\nThe AH header alignment on 32 or 64 bits gives the same results.\n\nHowever for SHA-256-128 for instance, the wrong 64 bit alignment results\nin adding useless padding in IPv4 AH, which is forbidden by the RFC.\n\nTo avoid breaking backward compatibility, we use a new flag\n(XFRM_STATE_ALIGN4) do change original behavior.\n\nInitial patch from Dang Hongwu \u003chongwu.dang@6wind.com\u003e and\nChristophe Gouault \u003cchristophe.gouault@6wind.com\u003e.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a9dda7602e566014a859faaf8490e6454683ab1",
      "tree": "8bd9a7f31308fd13551112ed2a0454b1022f2160",
      "parents": [
        "3fb17dabf663216b90076f7a1649b599e90d46f1"
      ],
      "author": {
        "name": "Alexey Orishko",
        "email": "alexey.orishko@gmail.com",
        "time": "Mon Feb 07 09:45:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 13:54:42 2011 -0800"
      },
      "message": "CDC NCM errata updates for cdc.h\n\nChanges are based on the following documents:\n- CDC NCM errata:\nhttp://www.usb.org/developers/devclass_docs/NCM10_012011.zip\n- CDC and WMC errata link:\nhttp://www.usb.org/developers/devclass_docs/CDC1.2_WMC1.1_012011.zip\n\nSigned-off-by: Alexey Orishko \u003calexey.orishko@stericsson.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd4a6974cc9090ef3851e5b0a2071e5383565c7c",
      "tree": "e96ef46426d293b730a305b5185ba5412c9172d4",
      "parents": [
        "2b7bcebf958c74124220ee8103024def8597b36c",
        "1e6d93e45b231b3ae87c01902ede2315aacfe976"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:28:58 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:28:58 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "e2d57766e6744f2956975dd2086d82957187b0f6",
      "tree": "6d7f09ad6eaaac8ad99528cc83894faa6b230b1a",
      "parents": [
        "ca6b8bb097c8e0ab6bce4fa04584074dee17c0d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:59:32 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 18:05:29 2011 -0800"
      },
      "message": "net: Provide compat support for SIOCGETMIFCNT_IN6 and SIOCGETSGCNT_IN6.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45e144339ac59971eb44be32e1282760aaabe861",
      "tree": "b9d93acb2c1bb505d3b6facc426d307c59dc63a4",
      "parents": [
        "119b3d386985fcd477b3131190c041516a73f83a"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Feb 02 15:21:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 20:52:42 2011 -0800"
      },
      "message": "sched: CHOKe flow scheduler\n\nCHOKe (\"CHOose and Kill\" or \"CHOose and Keep\") is an alternative\npacket scheduler based on the Random Exponential Drop (RED) algorithm.\n\nThe core idea is:\n  For every packet arrival:\n  \tCalculate Qave\n\tif (Qave \u003c minth)\n\t     Queue the new packet\n\telse\n\t     Select randomly a packet from the queue\n\t     if (both packets from same flow)\n\t     then Drop both the packets\n\t     else if (Qave \u003e maxth)\n\t          Drop packet\n\t     else\n\t       \t  Admit packet with proability p (same as RED)\n\nSee also:\n  Rong Pan, Balaji Prabhakar, Konstantinos Psounis, \"CHOKe: a stateless active\n   queue management scheme for approximating fair bandwidth allocation\",\n  Proceeding of INFOCOM\u00272000, March 2000.\n\nHelp from:\n     Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n     Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fe73503fae8cb8f00c80dd6444c1ddcd19257bd",
      "tree": "39cc6d38a628c445da7d52c006df6930a2c58411",
      "parents": [
        "123b9731b14f49cd41c91ed2b6c31e515615347c",
        "9291747f118d6404e509747b85ff5f6dfec368d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 15:24:48 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 15:24:48 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "9291747f118d6404e509747b85ff5f6dfec368d2",
      "tree": "4ccb3988371f3dc75ade8427518986ad6890389c",
      "parents": [
        "5f52bc3cdd1bb2e12e61639df19d9dcd530c4568"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Feb 03 00:05:43 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Feb 03 00:05:43 2011 +0100"
      },
      "message": "netfilter: xtables: add device group match\n\nAdd a new \u0027devgroup\u0027 match to match on the device group of the\nincoming and outgoing network device of a packet.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "724bab476bcac9f7d0b5204cb06e346216d42166",
      "tree": "ac4aa027d85a801ca2e3eb75678124434e1ba30d",
      "parents": [
        "316ed388802533bcfd3dffb38d2ba29ac5428456"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 02 23:50:01 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 02 23:50:01 2011 +0100"
      },
      "message": "netfilter: ipset: fix linking with CONFIG_IPV6\u003dn\n\nAdd a dummy ip_set_get_ip6_port function that unconditionally\nreturns false for CONFIG_IPV6\u003dn and convert the real function\nto ipv6_skip_exthdr() to avoid pulling in the ip6_tables module\nwhen loading ipset.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e3e241b2769b27669d05f0a05083acd21b4faa2c",
      "tree": "e0bd02af573dd52c46051f3cd28a378a25cb9d7b",
      "parents": [
        "ed3d1e7b72069a3463b7e227b18cae4a09b0ddad"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 18:52:42 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 18:52:42 2011 +0100"
      },
      "message": "netfilter: ipset: install ipset related header files\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d956798d82d2d331c031301965d69e17a1a48a2b",
      "tree": "3ceb434334d79d9dd8b205fc502cf2d20ab737ab",
      "parents": [
        "f830837f0eed0f9e371b8fd65169365780814bb1"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:56:00 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:56:00 2011 +0100"
      },
      "message": "netfilter: xtables: \"set\" match and \"SET\" target support\n\nThe patch adds the combined module of the \"SET\" target and \"set\" match\nto netfilter. Both the previous and the current revisions are supported.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f830837f0eed0f9e371b8fd65169365780814bb1",
      "tree": "f83646838333cf2526270aa23320f88171e6fa35",
      "parents": [
        "21f45020a3084f80fcdd5f056a0c6389f5406399"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:54:59 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:54:59 2011 +0100"
      },
      "message": "netfilter: ipset: list:set set type support\n\nThe module implements the list:set type support in two flavours:\nwithout and with timeout. The sets has two sides: for the userspace,\nthey store the names of other (non list:set type of) sets: one can add,\ndelete and test set names. For the kernel, it forms an ordered union of\nthe member sets: the members sets are tried in order when elements are\nadded, deleted and tested and the process stops at the first success.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6c027889696a7a694b0e2f6e3cabadefec7553b6",
      "tree": "bfdb7bbdb8153ac15c45fe86928d4b02ce3fe766",
      "parents": [
        "543261907dc3c4e90845acfcd602ebdbfdfcb4f0"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:38:36 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:38:36 2011 +0100"
      },
      "message": "netfilter: ipset: hash:ip set type support\n\nThe module implements the hash:ip type support in four flavours:\nfor IPv4 or IPv6, both without and with timeout support.\n\nAll the hash types are based on the \"array hash\" or ahash structure\nand functions as a good compromise between minimal memory footprint\nand speed. The hashing uses arrays to resolve clashes. The hash table\nis resized (doubled) when searching becomes too long. Resizing can be\ntriggered by userspace add commands only and those are serialized by\nthe nfnl mutex. During resizing the set is read-locked, so the only\npossible concurrent operations are the kernel side readers. Those are\nprotected by RCU locking.\n\nBecause of the four flavours and the other hash types, the functions\nare implemented in general forms in the ip_set_ahash.h header file\nand the real functions are generated before compiling by macro expansion.\nThus the dereferencing of low-level functions and void pointer arguments\ncould be avoided: the low-level functions are inlined, the function\narguments are pointers of type-specific structures.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "72205fc68bd13109576aa6c4c12c740962d28a6c",
      "tree": "c034f0c9c216f489cfce377215b7420cb66d4b2f",
      "parents": [
        "a7b4f989a629493bb4ec4a354def784d440b32c4"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:33:17 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:33:17 2011 +0100"
      },
      "message": "netfilter: ipset: bitmap:ip set type support\n\nThe module implements the bitmap:ip set type in two flavours, without\nand with timeout support. In this kind of set one can store IPv4\naddresses (or network addresses) from a given range.\n\nIn order not to waste memory, the timeout version does not rely on\nthe kernel timer for every element to be timed out but on garbage\ncollection. All set types use this mechanism.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a7b4f989a629493bb4ec4a354def784d440b32c4",
      "tree": "47f5f6a19cd8fb4cbd44a064edbf03a5b102ea1b",
      "parents": [
        "f703651ef870bd6b94ddc98ae07488b7d3fd9335"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:28:35 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:28:35 2011 +0100"
      },
      "message": "netfilter: ipset: IP set core support\n\nThe patch adds the IP set core support to the kernel.\n\nThe IP set core implements a netlink (nfnetlink) based protocol by which\none can create, destroy, flush, rename, swap, list, save, restore sets,\nand add, delete, test elements from userspace. For simplicity (and backward\ncompatibilty and for not to force ip(6)tables to be linked with a netlink\nlibrary) reasons a small getsockopt-based protocol is also kept in order\nto communicate with the ip(6)tables match and target.\n\nThe netlink protocol passes all u16, etc values in network order with\nNLA_F_NET_BYTEORDER flag. The protocol enforces the proper use of the\nNLA_F_NESTED and NLA_F_NET_BYTEORDER flags.\n\nFor other kernel subsystems (netfilter match and target) the API contains\nthe functions to add, delete and test elements in sets and the required calls\nto get/put refereces to the sets before those operations can be performed.\n\nThe set types (which are implemented in independent modules) are stored\nin a simple RCU protected list. A set type may have variants: for example\nwithout timeout or with timeout support, for IPv4 or for IPv6. The sets\n(i.e. the pointers to the sets) are stored in an array. The sets are\nidentified by their index in the array, which makes possible easy and\nfast swapping of sets. The array is protected indirectly by the nfnl\nmutex from nfnetlink. The content of the sets are protected by the rwlock\nof the set.\n\nThere are functional differences between the add/del/test functions\nfor the kernel and userspace:\n\n- kernel add/del/test: works on the current packet (i.e. one element)\n- kernel test: may trigger an \"add\" operation  in order to fill\n  out unspecified parts of the element from the packet (like MAC address)\n- userspace add/del: works on the netlink message and thus possibly\n  on multiple elements from the IPSET_ATTR_ADT container attribute.\n- userspace add: may trigger resizing of a set\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f703651ef870bd6b94ddc98ae07488b7d3fd9335",
      "tree": "1840dadb9102fe0cf0216daf63cb97d4e2552629",
      "parents": [
        "6a4ddef2a3805d5b0664a94579b7a651bc202266"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:20:14 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:20:14 2011 +0100"
      },
      "message": "netfilter: NFNL_SUBSYS_IPSET id and NLA_PUT_NET* macros\n\nThe patch adds the NFNL_SUBSYS_IPSET id and NLA_PUT_NET* macros to the\nvanilla kernel.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5403c8a29521a6eb02f9283dbbe0184527f8f42b",
      "tree": "4f1ca17feda4dfa88f53eceeaa39583ec840d27e",
      "parents": [
        "c79b9e4936142d5ed26073d58bdd4a5a0ac62f32",
        "c4c93106741bbf61ecd05a2a835af8e3bf31c1bd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:13:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:13:24 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "709b46e8d90badda1898caea50483c12af178e96",
      "tree": "799b57704dda3684777fb57a6e413dabac78858c",
      "parents": [
        "13ad17745c2cbd437d9e24b2d97393e0be11c439"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jan 29 16:15:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 30 01:14:38 2011 -0800"
      },
      "message": "net: Add compat ioctl support for the ipv4 multicast ioctl SIOCGETSGCNT\n\nSIOCGETSGCNT is not a unique ioctl value as it it maps tio SIOCPROTOPRIVATE +1,\nwhich unfortunately means the existing infrastructure for compat networking\nioctls is insufficient.  A trivial compact ioctl implementation would conflict\nwith:\n\nSIOCAX25ADDUID\nSIOCAIPXPRISLT\nSIOCGETSGCNT_IN6\nSIOCGETSGCNT\nSIOCRSSCAUSE\nSIOCX25SSUBSCRIP\nSIOCX25SDTEFACILITIES\n\nTo make this work I have updated the compat_ioctl decode path to mirror the\nthe normal ioctl decode path.  I have added an ipv4 inet_compat_ioctl function\nso that I can have ipv4 specific compat ioctls.   I have added a compat_ioctl\nfunction into struct proto so I can break out ioctls by which kind of ip socket\nI am using.  I have added a compat_raw_ioctl function because SIOCGETSGCNT only\nworks on raw sockets.  I have added a ipmr_compat_ioctl that mirrors the normal\nipmr_ioctl.\n\nThis was necessary because unfortunately the struct layout for the SIOCGETSGCNT\nhas unsigned longs in it so changes between 32bit and 64bit kernels.\n\nThis change was sufficient to run a 32bit ip multicast routing daemon on a\n64bit kernel.\n\nReported-by: Bill Fenner \u003cfenner@aristanetworks.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52fe7c9cc1637110ba4e0e6fe5d07cc0786d62de",
      "tree": "b57098f78a3ed893de4e67da1219c80f433b5672",
      "parents": [
        "c128df731862e90ec9292c5d3eb264ac73b522b8"
      ],
      "author": {
        "name": "sjur.brandeland@stericsson.com",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Sat Jan 29 13:10:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 30 01:14:14 2011 -0800"
      },
      "message": "caif: bugfix - add caif headers for userspace usage.\n\nAdd caif_socket.h and if_caif.h to the kernel header files\nexported for use by userspace.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccf434380d1a67df2dcb9113206b77d0cb0a1cef",
      "tree": "1e1a36691f42ed7448f27f71a9ca9445e88ab5f1",
      "parents": [
        "065825402c058f4a123ddc53dbbe864cc5caaf64"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 26 18:08:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 15:02:56 2011 -0800"
      },
      "message": "net: fix dev_seq_next()\n\nCommit c6d14c84566d (net: Introduce for_each_netdev_rcu() iterator)\nadded a race in dev_seq_next().\n\nThe rcu_dereference() call should be done _before_ testing the end of\nlist, or we might return a wrong net_device if a concurrent thread\nchanges net_device list under us.\n\nNote : discovered thanks to a sparse warning :\n\nnet/core/dev.c:3919:9: error: incompatible types in comparison expression\n(different address spaces)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acd1130e8793fb150fb522da8ec51675839eb4b1",
      "tree": "0da6f9f8f7690b426ff069f95bb28bf9e692d534",
      "parents": [
        "04ed3e741d0f133e02bed7fa5c98edba128f90e7"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:45:15 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:45:15 2011 -0800"
      },
      "message": "net: reduce and unify printk level in netdev_fix_features()\n\nReduce printk() levels to KERN_INFO in netdev_fix_features() as this will\nbe used by ethtool and might spam dmesg unnecessarily.\n\nThis converts the function to use netdev_info() instead of plain printk().\n\nAs a side effect, bonding and bridge devices will now log dropped features\non every slave device change.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04ed3e741d0f133e02bed7fa5c98edba128f90e7",
      "tree": "3dde4ca8306e98536faa69bccf0e47a2549c088f",
      "parents": [
        "57422dc530115e427dff464cc0a32bcd0efb5008"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "message": "net: change netdev-\u003efeatures to u32\n\nQuoting Ben Hutchings: we presumably won\u0027t be defining features that\ncan only be enabled on 64-bit architectures.\n\nOccurences found by `grep -r` on net/, drivers/net, include/\n\n[ Move features and vlan_features next to each other in\n  struct netdev, as per Eric Dumazet\u0027s suggestion -DaveM ]\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c445477d74ab3779d1386ab797fbb9b628eb9f64",
      "tree": "3ee70b7748c6c63a688f367e5ffd83fde21b87e3",
      "parents": [
        "c39649c331c70952700f99832b03f87e9d7f5b4b"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 11:03:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:53:01 2011 -0800"
      },
      "message": "net: RPS: Enable hardware acceleration of RFS\n\nAllow drivers for multiqueue hardware with flow filter tables to\naccelerate RFS.  The driver must:\n\n1. Set net_device::rx_cpu_rmap to a cpu_rmap of the RX completion\nIRQs (in queue order).  This will provide a mapping from CPUs to the\nqueues for which completions are handled nearest to them.\n\n2. Implement net_device_ops::ndo_rx_flow_steer.  This operation adds\nor replaces a filter steering the given flow to the given RX queue, if\npossible.\n\n3. Periodically remove filters for which rps_may_expire_flow() returns\ntrue.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c39649c331c70952700f99832b03f87e9d7f5b4b",
      "tree": "19ba9cea5102595e42bcd043aa53eb666ea834fa",
      "parents": [
        "c2df88cbb43c25db27fbbf94e92318bdad018f3e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 11:03:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:51:56 2011 -0800"
      },
      "message": "lib: cpu_rmap: CPU affinity reverse-mapping\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add\nlibrary functions to support a generic reverse-mapping from CPUs to\nobjects with affinity and the specific case where the objects are\nIRQs.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2df88cbb43c25db27fbbf94e92318bdad018f3e",
      "tree": "dc41466a193f85e3a7cc8baf1f78f2b55b62aabc",
      "parents": [
        "5bdc22a56549e7983c6b443298672641952ea035",
        "cd7eab44e9946c28d595abe3e9a43e945bc49141"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:30:13 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:30:13 2011 -0800"
      },
      "message": "Merge branch \u0027irq/numa\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n"
    },
    {
      "commit": "5bdc22a56549e7983c6b443298672641952ea035",
      "tree": "fbfd4e7453e4fd23dfef826d4610ed2aae47b36c",
      "parents": [
        "b6f4098897f30b7ea90a1c1edf35e9b20a9d828a",
        "e92427b289d252cfbd4cb5282d92f4ce1a5bb1fb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:09:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:09:35 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/sched/sch_hfsc.c\n\tnet/sched/sch_htb.c\n\tnet/sched/sch_tbf.c\n"
    },
    {
      "commit": "ce84d539ce47484ff3cbc9c67b3eb69ae88954f9",
      "tree": "cdba43e845e23a6793ca47857a16fae6032becfb",
      "parents": [
        "bc094757f4f3d7b8211a8a1ed7605ffd7c728f75",
        "b5cc8ca1c9c3a37eaddf709b2fd3e1699aee41ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: Remove Kconfig symbol for UIE emulation\n  RTC: Properly handle rtc_read_alarm error propagation and fix bug\n  RTC: Propagate error handling via rtc_timer_enqueue properly\n  acpi_pm: Clear pmtmr_ioport if acpi_pm initialization fails\n  rtc: Cleanup removed UIE emulation declaration\n  hrtimers: Notify hrtimer users of switches to NOHZ mode\n"
    },
    {
      "commit": "d315777b32a4696feb86f2a0c9e9f39c94683649",
      "tree": "f21c24d85cde6ad453c4d9485f5de49357336f81",
      "parents": [
        "5a05a6d7a51bcc47c5c6f0ed68e433f9a01afd89",
        "1765e3a4933ea0870fabd755feffc5473c4363ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 24 19:58:39 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 24 19:58:39 2011 +1000"
      },
      "message": "Merge branch \u0027BUG_ON\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027BUG_ON\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  Remove MAYBE_BUILD_BUG_ON\n  BUILD_BUG_ON: make it handle more cases\n"
    },
    {
      "commit": "1765e3a4933ea0870fabd755feffc5473c4363ce",
      "tree": "208364f2933f96773310a3a6c4dce6a21f66eec7",
      "parents": [
        "7ef88ad561457c0346355dfd1f53e503ddfde719"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:11 2011 +1030"
      },
      "message": "Remove MAYBE_BUILD_BUG_ON\n\nNow BUILD_BUG_ON() can handle optimizable constants, we don\u0027t need\nMAYBE_BUILD_BUG_ON any more.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7ef88ad561457c0346355dfd1f53e503ddfde719",
      "tree": "22f5e53aec61e0508f8d1aee130160fe24801144",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 +1030"
      },
      "message": "BUILD_BUG_ON: make it handle more cases\n\nBUILD_BUG_ON used to use the optimizer to do code elimination or fail\nat link time; it was changed to first the size of a negative array (a\nnicer compile time error), then (in\n8c87df457cb58fe75b9b893007917cf8095660a0) to a bitfield.\n\nThis forced us to change some non-constant cases to MAYBE_BUILD_BUG_ON();\nas Jan points out in that commit, it didn\u0027t work as intended anyway.\n\nbitfields: needs a literal constant at parse time, and can\u0027t be put under\n\t\"if (__builtin_constant_p(x))\" for example.\nnegative array: can handle anything, but if the compiler can\u0027t tell it\u0027s\n\ta constant, silently has no effect.\nlink time: breaks link if the compiler can\u0027t determine the value, but the\n\tlinker output is not usually as informative as a compiler error.\n\nIf we use the negative-array-size method *and* the link time trick,\nwe get the ability to use BUILD_BUG_ON() under __builtin_constant_p()\nbranches, and maximal ability for the compiler to detect errors at\nbuild time.\n\nWe also document it thoroughly.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\nAcked-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\n"
    },
    {
      "commit": "b75be4204e7871869b2c268c00783703197aaa7d",
      "tree": "6667a6d0ca0380bf8f64a499bfcee0db39bdc5a6",
      "parents": [
        "3b90a5b292321b2acac3921f77046ae195aef53f"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Wed Jan 05 13:27:04 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:52 2011 +1030"
      },
      "message": "param: add null statement to compiled-in module params\n\nAdd an unused struct declaration statement requiring a\nterminating semicolon to the compile-in case to provoke an\nerror if __MODULE_INFO() is used without the terminating\nsemicolon. Previously MODULE_ALIAS(\"foo\") (no semicolon)\ncompiled fine if MODULE was not selected.\n\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3b90a5b292321b2acac3921f77046ae195aef53f",
      "tree": "f084c812a3c55911b9a9a35e101346ffb33d8aae",
      "parents": [
        "e94965ed5beb23c6fabf7ed31f625e66d7ff28de"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:51 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:52 2011 +1030"
      },
      "message": "module: fix linker error for MODULE_VERSION when !MODULE and CONFIG_SYSFS\u003dn\n\nlib/built-in.o:(__modver+0x8): undefined reference to `__modver_version_show\u0027\nlib/built-in.o:(__modver+0x2c): undefined reference to `__modver_version_show\u0027\n\nSimplest to just not emit anything: if they\u0027ve disabled SYSFS they probably\nwant the smallest kernel possible.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e94965ed5beb23c6fabf7ed31f625e66d7ff28de",
      "tree": "842e4cab961b568bcb98d8ab80d7d399110598a4",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Wed Dec 15 14:00:19 2010 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:51 2011 +1030"
      },
      "message": "module: show version information for built-in modules in sysfs\n\nCurrently only drivers that are built as modules have their versions\nshown in /sys/module/\u003cmodule_name\u003e/version, but this information might\nalso be useful for built-in drivers as well. This especially important\nfor drivers that do not define any parameters - such drivers, if\nbuilt-in, are completely invisible from userspace.\n\nThis patch changes MODULE_VERSION() macro so that in case when we are\ncompiling built-in module, version information is stored in a separate\nsection. Kernel then uses this data to create \u0027version\u0027 sysfs attribute\nin the same fashion it creates attributes for module parameters.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cd7eab44e9946c28d595abe3e9a43e945bc49141",
      "tree": "b8b0c1beebbcad7785422a463504a374bb43cdea",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 21:01:44 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jan 22 17:34:25 2011 +0100"
      },
      "message": "genirq: Add IRQ affinity notifiers\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add a\nnotification mechanism to support this.\n\nThis is based closely on work by Thomas Gleixner \u003ctglx@linutronix.de\u003e.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: linux-net-drivers@solarflare.com\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c1295470904.11126.84.camel@bwh-desktop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5bf7a6503ff416214b9a53569677dbf07657e6fd",
      "tree": "0dc8e8dbc30a23d466a327bef05e78c571f2b8a3",
      "parents": [
        "0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01",
        "42c025f3de9042d9c9abd9a6f6205d1a0f4bcadf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "message": "Merge branch \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn\u0027t a noop\n  workqueue: relax lockdep annotation on flush_work()\n"
    },
    {
      "commit": "0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01",
      "tree": "6e13ef4d7247e53d7a0f18e04549a8847cc80214",
      "parents": [
        "cfd74486eace27a0899b30529d01bc1a09a5b973",
        "dfff95c394b0dd977a6b65bd52b99703fae94d9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:26 2011 -0800"
      },
      "message": "Merge branch \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits)\n  um: Use generic irq Kconfig\n  tile: Use generic irq Kconfig\n  sparc: Use generic irq Kconfig\n  score: Use generic irq Kconfig\n  powerpc: Use generic irq Kconfig\n  parisc: Use generic irq Kconfig\n  mn10300: Use generic irq Kconfig\n  microblaze: Use generic irq Kconfig\n  m68knommu: Use generic irq Kconfig\n  ia64: Use generic irq Kconfig\n  frv: Use generic irq Kconfig\n  blackfin: Use generic irq Kconfig\n  alpha: Use generic irq Kconfig\n  genirq: Remove __do_IRQ\n  m32r: Convert to generic irq Kconfig\n  m32r: Convert usrv platform irq handling\n  m32r: Convert opsput_lcdpld irq chip\n  m32r: Convert opsput lanpld irq chip\n  m32r: Convert opsput pld irq chip\n  m32r: Convert opsput irq chip\n  ...\n"
    },
    {
      "commit": "3dece370ecc7c6152b3fdd21c6de28179f6e643d",
      "tree": "e63f721412c1ef469108ae7e688cebcf39d83cad",
      "parents": [
        "db9fd8486bfe895b00b3603685c086a3c8210ffe"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Fri Jan 21 08:49:56 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 08:40:30 2011 -0800"
      },
      "message": "mm: System without MMU do not need pte_mkwrite\n\nThe patch \"thp: export maybe_mkwrite\" (commit 14fd403f2146) breaks\nsystems without MMU.\n\nError log:\n\n    CC      arch/microblaze/mm/init.o\n  In file included from include/linux/mman.h:14,\n                   from arch/microblaze/mm/consistent.c:24:\n  include/linux/mm.h: In function \u0027maybe_mkwrite\u0027:\n  include/linux/mm.h:482: error: implicit declaration of function \u0027pte_mkwrite\u0027\n  include/linux/mm.h:482: error: incompatible types in assignment\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nCC: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa0be0f4659f91f31e45adc422b1788cb36ffddc",
      "tree": "02eed33d672f36e41e735c5060acb9d2446c23af",
      "parents": [
        "db6b175fa6ad1408cbb2fb62949a6d55cfece03e"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 20 15:26:12 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 17:38:19 2011 +0100"
      },
      "message": "RTC: Propagate error handling via rtc_timer_enqueue properly\n\nIn cases where RTC hardware does not support alarms, the virtualized\nRTC interfaces did not have a way to propagate the error up to userland.\n\nThis patch extends rtc_timer_enqueue so it catches errors from the hardware\nand returns them upwards to the virtualized interfaces. To simplify error\nhandling, it also internalizes the management of the timer-\u003eenabled bit\ninto rtc_timer_enqueue and rtc_timer_remove.\n\nAlso makes rtc_timer_enqueue and rtc_timer_remove static.\n\nReported-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nDiagnosed-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1295565973-14358-1-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1daeddd5962acad1bea55e524fc0fadf32654a21",
      "tree": "29f20f9720c57228f74af205b263321d945f247e",
      "parents": [
        "2d0640b47da74cff7c11642c798d40de861ed524"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 13 09:30:49 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 17:38:18 2011 +0100"
      },
      "message": "rtc: Cleanup removed UIE emulation declaration\n\nrtc_dev_update_irq_enable_emul was removed in commit\n042620a018afcfba1d678062b62e463b9e43a68d (UIE emulation is\nnow handled via hrtimer), but the declaration was missed.\nThis patch cleans it up.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1294939849-20608-1-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4843456c5c341eb57f80f9224362a22665d14107",
      "tree": "5656b405a8b1d2596e8eb748b953ee677a261e3c",
      "parents": [
        "2b1caf6ed7b888c95a1909d343799672731651a5",
        "f00c9e44ad1a9660fe8cd3ca15b6cd9497172eab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 07:33:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 07:33:37 2011 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Fix deadlock during path resolution\n"
    },
    {
      "commit": "1c77ff22f539ceaa64ea43d6a26d867e84602cb7",
      "tree": "d1623ae6a2f8ed56acbaa03b514e393496c42802",
      "parents": [
        "0e155b2ce293382730b8473f6ceeb7ac9b939b7d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 19 19:41:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 11:55:31 2011 +0100"
      },
      "message": "genirq: Remove __do_IRQ\n\nAll architectures are finally converted. Remove the cruft.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\n"
    },
    {
      "commit": "686a2955531312dab77bb6f1e8602787d85e47d8",
      "tree": "4209f28a17bbd4ba124484d2e57a1f52f22734cd",
      "parents": [
        "212bfb9e94e86b40684076f642b089b0565455d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 22:47:32 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 22:47:32 2011 -0800"
      },
      "message": "net: Add safe reverse SKB queue walkers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b1caf6ed7b888c95a1909d343799672731651a5",
      "tree": "7ab9a7ae13bc02376bce6267df67f6f2aa9091f1",
      "parents": [
        "d551d81d6a720542873f478def60baab6b5df403",
        "bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c\n  lockdep: Move early boot local IRQ enable/disable status to init/main.c\n"
    },
    {
      "commit": "2d6d9fd3a54a28c6f67f26eb6c74803307a1b11e",
      "tree": "0d7c54159ca8e9c4d4e113597d3c7c08d9f98e84",
      "parents": [
        "8d99641f6c1af806cd5d9e6badce91910219a161"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 19 22:27:14 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:17 2011 -0800"
      },
      "message": "ACPI: Introduce acpi_os_ioremap()\n\nCommit ca9b600be38c (\"ACPI / PM: Make suspend_nvs_save() use\nacpi_os_map_memory()\") attempted to prevent the code in osl.c and nvs.c\nfrom using different ioremap() variants by making the latter use\nacpi_os_map_memory() for mapping the NVS pages.  However, that also\nrequires acpi_os_unmap_memory() to be used for unmapping them, which\ncauses synchronize_rcu() to be executed many times in a row\nunnecessarily and introduces substantial delays during resume on some\nsystems.\n\nInstead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c\nintroduce acpi_os_ioremap() calling ioremap_cache() and make the code in\nboth osl.c and nvs.c use it.\n\nReported-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca3e021417eed30ec2b64ce88eb0acf64aa9bc29",
      "tree": "710590e51764d56c12d00744c402ab15c0d14a6b",
      "parents": [
        "e401f1761c0b01966e36e41e2c385d455a7b44ee"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 20 14:44:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:06 2011 -0800"
      },
      "message": "memcg: fix USED bit handling at uncharge in THP\n\nNow, under THP:\n\nat charge:\n  - PageCgroupUsed bit is set to all page_cgroup on a hugepage.\n    ....set to 512 pages.\nat uncharge\n  - PageCgroupUsed bit is unset on the head page.\n\nSo, some pages will remain with \"Used\" bit.\n\nThis patch fixes that Used bit is set only to the head page.\nUsed bits for tail pages will be set at splitting if necessary.\n\nThis patch adds this lock order:\n   compound_lock() -\u003e page_cgroup_move_lock().\n\n[akpm@linux-foundation.org: fix warning]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d18046b3cd989c06d2ad8d615e57c3cf63c63b67",
      "tree": "63b7ab20dd321007543b2f1caabea141a364f538",
      "parents": [
        "4dce2396b329ef6a14b40c5416d6f76005097b0d"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Jan 19 23:12:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 17:01:09 2011 -0800"
      },
      "message": "dccp: clean up unused DCCP_STATE_MASK definition\n\nRemove unused DCCP_STATE_MASK macro.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06988b06935da7a210887e9d3f50f46f2faa4953",
      "tree": "3117e4e5a89e34ae8e6ecd343290517a4b4cdfaa",
      "parents": [
        "41a7cab6d329039d614ca5f0f87aff2dfd90637c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 17:50:17 2011 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 17:50:17 2011 +0100"
      },
      "message": "netfilter: xtables: add missing header inclusions for headers_check\n\nResolve these warnings on `make headers_check`:\n\nusr/include/linux/netfilter/xt_CT.h:7: found __[us]{8,16,32,64} type\nwithout #include \u003clinux/types.h\u003e\n...\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "4cda47d2e7b21b0b41e44dbe4cd9804fea2d30e9",
      "tree": "efbe247c83bb8937d24cc6db09c4f356c94f474e",
      "parents": [
        "82d800d8e7fa731b50deb851d16b68050673f587",
        "ba12b130a65840005770135a69199cb9adaf8c8f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 14:17:32 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 14:17:32 2011 +0100"
      },
      "message": "Merge branch \u0027connlimit\u0027 of git://dev.medozas.de/linux\n"
    },
    {
      "commit": "ba12b130a65840005770135a69199cb9adaf8c8f",
      "tree": "14e0e57e8700cd3773496456d37fba157c29211d",
      "parents": [
        "cc4fc022571376412986e27e08b0765e9cb2aafb"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 14:01:12 2011 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 14:01:12 2011 +0100"
      },
      "message": "netfilter: xtables: remove duplicate member\n\nAccidentally missed removing the old out-of-union \"inverse\" member,\nwhich caused the struct size to change which then gives size mismatch\nwarnings when using an old iptables.\n\nIt is interesting to see that gcc did not warn about this before.\n(Filed http://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d47376 )\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "2ce802f62ba32a7d95748ac92bf351f76affb6ff",
      "tree": "54dd0d6063ca61619e6b8ca84dd95b8e5a3c1402",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 20 12:06:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 13:32:33 2011 +0100"
      },
      "message": "lockdep: Move early boot local IRQ enable/disable status to init/main.c\n\nDuring early boot, local IRQ is disabled until IRQ subsystem is\nproperly initialized.  During this time, no one should enable\nlocal IRQ and some operations which usually are not allowed with\nIRQ disabled, e.g. operations which might sleep or require\ncommunications with other processors, are allowed.\n\nlockdep tracked this with early_boot_irqs_off/on() callbacks.\nAs other subsystems need this information too, move it to\ninit/main.c and make it generally available.  While at it,\ntoggle the boolean to early_boot_irqs_disabled instead of\nenabled so that it can be initialized with %false and %true\nindicates the exceptional condition.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110120110635.GB6036@htj.dyndns.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82d800d8e7fa731b50deb851d16b68050673f587",
      "tree": "60acee6699b1cdb7fe5e2802947737dffeeeb6c9",
      "parents": [
        "28a51ba59a1a983d63d4775e9bb8230fe0fb3b29",
        "cc4fc022571376412986e27e08b0765e9cb2aafb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 10:33:55 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 10:33:55 2011 +0100"
      },
      "message": "Merge branch \u0027connlimit\u0027 of git://dev.medozas.de/linux\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a07aa004c8d814a975b1a68afdb7baaa8f1b91d5",
      "tree": "652edc2dce9732a64780b9e332034b6567631a8b",
      "parents": [
        "cc7ec456f82da7f89a5b376e613b3ac4311b3e9a",
        "5d8449286456659cdd0998e62d80df2d9e77e9e3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 00:06:15 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 00:06:15 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "5d8449286456659cdd0998e62d80df2d9e77e9e3",
      "tree": "3e773cbdc028f6c9bc0331bb137e3c64625a0cf5",
      "parents": [
        "14f0290ba44de6ed435fea24bba26e7868421c66"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 08:48:15 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 08:48:15 2011 +0100"
      },
      "message": "netfilter: xtables: remove extraneous header that slipped in\n\nCommit 0b8ad87 (netfilter: xtables: add missing header files to export\nlist) erroneously added this.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b8970f0bfc78103cb74c66055de7379b15097840",
      "tree": "a85578cddfd506e049af0c78a56dd0ee342fc93b",
      "parents": [
        "4f57c087de9b46182545676d2c594120a20f2e58"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Mon Jan 17 08:06:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:31:11 2011 -0800"
      },
      "message": "net_sched: implement a root container qdisc sch_mqprio\n\nThis implements a mqprio queueing discipline that by default creates\na pfifo_fast qdisc per tx queue and provides the needed configuration\ninterface.\n\nUsing the mqprio qdisc the number of tcs currently in use along\nwith the range of queues alloted to each class can be configured. By\ndefault skbs are mapped to traffic classes using the skb priority.\nThis mapping is configurable.\n\nConfigurable parameters,\n\nstruct tc_mqprio_qopt {\n\t__u8    num_tc;\n\t__u8    prio_tc_map[TC_BITMASK + 1];\n\t__u8    hw;\n\t__u16   count[TC_MAX_QUEUE];\n\t__u16   offset[TC_MAX_QUEUE];\n};\n\nHere the count/offset pairing give the queue alignment and the\nprio_tc_map gives the mapping from skb-\u003epriority to tc.\n\nThe hw bit determines if the hardware should configure the count\nand offset values. If the hardware bit is set then the operation\nwill fail if the hardware does not implement the ndo_setup_tc\noperation. This is to avoid undetermined states where the hardware\nmay or may not control the queue mapping. Also minimal bounds\nchecking is done on the count/offset to verify a queue does not\nexceed num_tx_queues and that queue ranges do not overlap. Otherwise\nit is left to user policy or hardware configuration to create\nuseful mappings.\n\nIt is expected that hardware QOS schemes can be implemented by\ncreating appropriate mappings of queues in ndo_tc_setup().\n\nOne expected use case is drivers will use the ndo_setup_tc to map\nqueue ranges onto 802.1Q traffic classes. This provides a generic\nmechanism to map network traffic onto these traffic classes and\nremoves the need for lower layer drivers to know specifics about\ntraffic types.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f57c087de9b46182545676d2c594120a20f2e58",
      "tree": "bb2ed64efcafbf4d8fe2f625b432b554d05fdc47",
      "parents": [
        "e7ed828f10bd89a28f821ae7f20e691704d61923"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Mon Jan 17 08:06:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:31:10 2011 -0800"
      },
      "message": "net: implement mechanism for HW based QOS\n\nThis patch provides a mechanism for lower layer devices to\nsteer traffic using skb-\u003epriority to tx queues. This allows\nfor hardware based QOS schemes to use the default qdisc without\nincurring the penalties related to global state and the qdisc\nlock. While reliably receiving skbs on the correct tx ring\nto avoid head of line blocking resulting from shuffling in\nthe LLD. Finally, all the goodness from txq caching and xps/rps\ncan still be leveraged.\n\nMany drivers and hardware exist with the ability to implement\nQOS schemes in the hardware but currently these drivers tend\nto rely on firmware to reroute specific traffic, a driver\nspecific select_queue or the queue_mapping action in the\nqdisc.\n\nBy using select_queue for this drivers need to be updated for\neach and every traffic type and we lose the goodness of much\nof the upstream work. Firmware solutions are inherently\ninflexible. And finally if admins are expected to build a\nqdisc and filter rules to steer traffic this requires knowledge\nof how the hardware is currently configured. The number of tx\nqueues and the queue offsets may change depending on resources.\nAlso this approach incurs all the overhead of a qdisc with filters.\n\nWith the mechanism in this patch users can set skb priority using\nexpected methods ie setsockopt() or the stack can set the priority\ndirectly. Then the skb will be steered to the correct tx queues\naligned with hardware QOS traffic classes. In the normal case with\nsingle traffic class and all queues in this class everything\nworks as is until the LLD enables multiple tcs.\n\nTo steer the skb we mask out the lower 4 bits of the priority\nand allow the hardware to configure upto 15 distinct classes\nof traffic. This is expected to be sufficient for most applications\nat any rate it is more then the 8021Q spec designates and is\nequal to the number of prio bands currently implemented in\nthe default qdisc.\n\nThis in conjunction with a userspace application such as\nlldpad can be used to implement 8021Q transmission selection\nalgorithms one of these algorithms being the extended transmission\nselection algorithm currently being used for DCB.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbda10fa97d72c7a1923be4426171aa90e8c6dab",
      "tree": "113206ef603189e9f91f075e154cbdc8e1ac3f40",
      "parents": [
        "441c793a56502638d45d5da2195056d686147370"
      ],
      "author": {
        "name": "Vlad Dogaru",
        "email": "ddvlad@rosedu.org",
        "time": "Thu Jan 13 23:38:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:31:09 2011 -0800"
      },
      "message": "net_device: add support for network device groups\n\nNet devices can now be grouped, enabling simpler manipulation from\nuserspace. This patch adds a group field to the net_device structure, as\nwell as rtnetlink support to query and modify it.\n\nSigned-off-by: Vlad Dogaru \u003cddvlad@rosedu.org\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1268afe676ee9431a229fc68a2efb0dad4d5852f",
      "tree": "c252b969a51bd97317415cfc3b6465441f1b8aec",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470",
        "4580ccc04ddd8c17a470573a7fdb8def2e036dfa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 19 20:25:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 19 20:25:45 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits)\n  sctp: user perfect name for Delayed SACK Timer option\n  net: fix can_checksum_protocol() arguments swap\n  Revert \"netlink: test for all flags of the NLM_F_DUMP composite\"\n  gianfar: Fix misleading indentation in startup_gfar()\n  net/irda/sh_irda: return to RX mode when TX error\n  net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan.\n  USB CDC NCM: tx_fixup() race condition fix\n  ns83820: Avoid bad pointer deref in ns83820_init_one().\n  ipv6: Silence privacy extensions initialization\n  bnx2x: Update bnx2x version to 1.62.00-4\n  bnx2x: Fix AER setting for BCM57712\n  bnx2x: Fix BCM84823 LED behavior\n  bnx2x: Mark full duplex on some external PHYs\n  bnx2x: Fix BCM8073/BCM8727 microcode loading\n  bnx2x: LED fix for BCM8727 over BCM57712\n  bnx2x: Common init will be executed only once after POR\n  bnx2x: Swap BCM8073 PHY polarity if required\n  iwlwifi: fix valid chain reading from EEPROM\n  ath5k: fix locking in tx_complete_poll_work\n  ath9k_hw: do PA offset calibration only on longcal interval\n  ...\n"
    },
    {
      "commit": "14f0290ba44de6ed435fea24bba26e7868421c66",
      "tree": "449d32e4848007e3edbcab14fa8e09fdc66608ed",
      "parents": [
        "f5c88f56b35599ab9ff2d3398e0153e4cd4a4c82",
        "a5db219f4cf9f67995eabd53b81a1232c82f5852"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jan 19 23:51:37 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jan 19 23:51:37 2011 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n"
    },
    {
      "commit": "cc4fc022571376412986e27e08b0765e9cb2aafb",
      "tree": "5ac8445f9f00461614e18cd39cfcfe4f962b5412",
      "parents": [
        "93557f53e1fbd9e2b6574ab0a9b5852628fde9e3"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jan 18 17:32:40 2011 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Jan 19 18:27:46 2011 +0100"
      },
      "message": "netfilter: xtables: connlimit revision 1\n\nThis adds destination address-based selection. The old \"inverse\"\nmember is overloaded (memory-wise) with a new \"flags\" variable,\nsimilar to how J.Park did it with xt_string rev 1. Since revision 0\nuserspace only sets flag 0x1, no great changes are made to explicitly\ntest for different revisions.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "a992ca2a0498edd22a88ac8c41570f536de29c9e",
      "tree": "4574d4da3f44c7dd3879cb4f209a8bd3a37c0ca9",
      "parents": [
        "93557f53e1fbd9e2b6574ab0a9b5852628fde9e3"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Jan 19 16:00:07 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jan 19 16:00:07 2011 +0100"
      },
      "message": "netfilter: nf_conntrack_tstamp: add flow-based timestamp extension\n\nThis patch adds flow-based timestamping for conntracks. This\nconntrack extension is disabled by default. Basically, we use\ntwo 64-bits variables to store the creation timestamp once the\nconntrack has been confirmed and the other to store the deletion\ntime. This extension is disabled by default, to enable it, you\nhave to:\n\necho 1 \u003e /proc/sys/net/netfilter/nf_conntrack_timestamp\n\nThis patch allows to save memory for user-space flow-based\nloogers such as ulogd2. In short, ulogd2 does not need to\nkeep a hashtable with the conntrack in user-space to know\nwhen they were created and destroyed, instead we use the\nkernel timestamp. If we want to have a sane IPFIX implementation\nin user-space, this nanosecs resolution timestamps are also\nuseful. Other custom user-space applications can benefit from\nthis via libnetfilter_conntrack.\n\nThis patch modifies the /proc output to display the delta time\nin seconds since the flow start. You can also obtain the\nflow-start date by means of the conntrack-tools.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a5db219f4cf9f67995eabd53b81a1232c82f5852",
      "tree": "5fffcb7ebd543b39468822963f9190fe6bf41bff",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470",
        "ff76015f3bdfbc482c723cb4f2559cef84d178ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 16:28:31 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 16:28:31 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "f966a13f92913ce8cbd35bc7f066553c9f3d41b0",
      "tree": "5039770cf62f69317c974775190cc4f5919f8398",
      "parents": [
        "7e96fbf2320782fb8f0970928026105cd34b41bd",
        "38d59392b29437af3a702209b6a5196ef01f79a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 12:50:19 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 12:50:19 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "93557f53e1fbd9e2b6574ab0a9b5852628fde9e3",
      "tree": "b6bc24a10d4a48c354935d8e4fe4d110cf6dc060",
      "parents": [
        "94d117a1c78df38abdea0c09ef00c205b923b567"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Jan 18 18:12:24 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 18 18:12:24 2011 +0100"
      },
      "message": "netfilter: nf_conntrack: nf_conntrack snmp helper\n\nAdding support for SNMP broadcast connection tracking. The SNMP\nbroadcast requests are now paired with the SNMP responses.\nThus allowing using SNMP broadcasts with firewall enabled.\n\nPlease refer to the following conversation:\nhttp://marc.info/?l\u003dnetfilter-devel\u0026m\u003d125992205006600\u0026w\u003d2\n\nPatrick McHardy wrote:\n\u003e \u003e The best solution would be to add generic broadcast tracking, the\n\u003e \u003e use of expectations for this is a bit of abuse.\n\u003e \u003e The second best choice I guess would be to move the help() function\n\u003e \u003e to a shared module and generalize it so it can be used for both.\nThis patch implements the \"second best choice\".\n\nSince the netbios-ns conntrack module uses the same helper\nfunctionality as the snmp, only one helper function is added\nfor both snmp and netbios-ns modules into the new object -\nnf_conntrack_broadcast.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a8fc0d9b3401cb5e42a437293db383998290157d",
      "tree": "10f8af504eba587c22c380ec0b5ab538dc314a50",
      "parents": [
        "94b27cc36123069966616670c3653cd6873babe9",
        "0b8ad876275c74e4bfb6ec3150793f3c0ecfcee2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 18 16:20:53 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 18 16:20:53 2011 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://dev.medozas.de/linux\n"
    },
    {
      "commit": "94b27cc36123069966616670c3653cd6873babe9",
      "tree": "b3a70cab28cbc021532d2a73cac6aae5e015d8ac",
      "parents": [
        "f615df76ed862b7d3927ec5f55b805ca19be29d9"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Tue Jan 18 16:08:30 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 18 16:08:30 2011 +0100"
      },
      "message": "netfilter: allow NFQUEUE bypass if no listener is available\n\nIf an skb is to be NF_QUEUE\u0027d, but no program has opened the queue, the\npacket is dropped.\n\nThis adds a v2 target revision of xt_NFQUEUE that allows packets to\ncontinue through the ruleset instead.\n\nBecause the actual queueing happens outside of the target context, the\n\u0027bypass\u0027 flag has to be communicated back to the netfilter core.\n\nUnfortunately the only choice to do this without adding a new function\nargument is to use the target function return value (i.e. the verdict).\n\nIn the NF_QUEUE case, the upper 16bit already contain the queue number\nto use.  The previous patch reduced NF_VERDICT_MASK to 0xff, i.e.\nwe now have extra room for a new flag.\n\nIf a hook issued a NF_QUEUE verdict, then the netfilter core will\ncontinue packet processing if the queueing hook\nreturns -ESRCH (\u003d\u003d \"this queue does not exist\") and the new\nNF_VERDICT_FLAG_QUEUE_BYPASS flag is set in the verdict value.\n\nNote: If the queue exists, but userspace does not consume packets fast\nenough, the skb will still be dropped.\n\nSigned-off-by: Florian Westphal \u003cfwestphal@astaro.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f615df76ed862b7d3927ec5f55b805ca19be29d9",
      "tree": "11d8dca165f2b44cfe31e39eacf52d2d899ffbcf",
      "parents": [
        "06cdb6349c1f3fd439398dbc04ce4c696f0a41ab"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Tue Jan 18 15:52:14 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 18 15:52:14 2011 +0100"
      },
      "message": "netfilter: reduce NF_VERDICT_MASK to 0xff\n\nNF_VERDICT_MASK is currently 0xffff. This is because the upper\n16 bits are used to store errno (for NF_DROP) or the queue number\n(NF_QUEUE verdict).\n\nAs there are up to 0xffff different queues available, there is no more\nroom to store additional flags.\n\nAt the moment there are only 6 different verdicts, i.e. we can reduce\nNF_VERDICT_MASK to 0xff to allow storing additional flags in the 0xff00 space.\n\nNF_VERDICT_BITS would then be reduced to 8, but because the value is\nexported to userspace, this might cause breakage; e.g.:\n\ne.g. \u0027queuenr \u003d (1 \u003c\u003c NF_VERDICT_BITS) | NF_QUEUE\u0027  would now break.\n\nThus, remove NF_VERDICT_BITS usage in the kernel and move the old value\nto the \u0027userspace compat\u0027 section.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0b8ad876275c74e4bfb6ec3150793f3c0ecfcee2",
      "tree": "5268d645ad306a970f2a6c4fb1497c8334c13cd3",
      "parents": [
        "0260c1dccc6a1018f8cf2c4778dffb47fc5d1c4c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jan 18 11:23:06 2011 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jan 18 11:25:02 2011 +0100"
      },
      "message": "netfilter: xtables: add missing header files to export list\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "0260c1dccc6a1018f8cf2c4778dffb47fc5d1c4c",
      "tree": "25d7ac63c53e38444eba069f85cdf8b76b84c410",
      "parents": [
        "1cc34c30be0e27d4ba8c1ce04a8a4f46c927d121"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jan 18 07:33:09 2011 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jan 18 07:33:09 2011 +0100"
      },
      "message": "netfilter: xtables: use __uXX guarded types for userspace exports\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "6845a44a314c0c626549de373131bf108f9cc1f1",
      "tree": "9152a5c557434515dd7306d288e8f55ecc64652e",
      "parents": [
        "eee2a817df7c5a6e569f353f8be78cc1b3604bb6",
        "4790f4dc5f4326dab5d81ed8fb8c9473e620bdbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 14:45:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 14:45:48 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA: Update workqueue usage\n  RDMA/nes: Fix incorrect SFP+ link status detection on driver init\n  RDMA/nes: Fix SFP+ link down detection issue with switch port disable\n  RDMA/nes: Generate IB_EVENT_PORT_ERR/PORT_ACTIVE events\n  RDMA/nes: Fix bonding on iw_nes\n  IB/srp: Test only once whether iu allocation succeeded\n  IB/mlx4: Handle protocol field in multicast table\n  RDMA: Use vzalloc() to replace vmalloc()+memset(0)\n  mlx4_{core, ib, en}: Fix driver when sizeof (phys_addr_t) \u003e sizeof (long)\n  IB/mthca: Fix driver when sizeof (phys_addr_t) \u003e sizeof (long)\n"
    },
    {
      "commit": "9e8a462a0141b12e22c4a2f0c12e0542770401f0",
      "tree": "c0e32e5877f099b43e75afc5faecc944207dd51c",
      "parents": [
        "cf78859f520f8275318f47d7864f4459d940cb6b",
        "24562486be76cf223b8d911f45e1d26eb3364b13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 12:39:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 12:39:57 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ecryptfs: remove unnecessary decrypt when extending a file\n  ecryptfs: Fix ecryptfs_printk() size_t warnings\n  fs/ecryptfs: Add printf format/argument verification and fix fallout\n  ecryptfs: fixed testing of file descriptor flags\n  ecryptfs: test lower_file pointer when lower_file_mutex is locked\n  ecryptfs: missing initialization of the superblock \u0027magic\u0027 field\n  ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h\n  ecryptfs: fix truncation error in ecryptfs_read_update_atime\n"
    },
    {
      "commit": "8c34482c17d8fd07966328c7b1cfc35ee290bd1c",
      "tree": "324f7535ae561dcc430764fd2c7531ff67d9780b",
      "parents": [
        "1a47f7a84ef386c1f7f55f669598bd9894ceb73a",
        "d95defaca7994ffff1ceb52f3011eb644dfe3274"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:18:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:18:40 2011 -0800"
      },
      "message": "Merge branch \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi/spi_sh_msiof: fix a wrong free_irq() parameter\n  dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()\n"
    },
    {
      "commit": "ab2020f2f11fc7fb81e6c71298b0830d85412011",
      "tree": "c9a6342063461dcf31278d65585bca73bdda4a84",
      "parents": [
        "235646a486d10891bd86af28d8eac75d9f22bd2d",
        "154bf89f5e3e3dc59666926f27ca4a0866f39157"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (59 commits)\n  mtd: mtdpart: disallow reading OOB past the end of the partition\n  mtd: pxa3xx_nand: NULL dereference in pxa3xx_nand_probe\n  UBI: use mtd-\u003ewritebufsize to set minimal I/O unit size\n  mtd: initialize writebufsize in the MTD object of a partition\n  mtd: onenand: add mtd-\u003ewritebufsize initialization\n  mtd: nand: add mtd-\u003ewritebufsize initialization\n  mtd: cfi: add writebufsize initialization\n  mtd: add writebufsize field to mtd_info struct\n  mtd: OneNAND: OMAP2/3: prevent regulator sleeping while OneNAND is in use\n  mtd: OneNAND: add enable / disable methods to onenand_chip\n  mtd: m25p80: Fix JEDEC ID for AT26DF321\n  mtd: txx9ndfmc: limit transfer bytes to 512 (ECC provides 6 bytes max)\n  mtd: cfi_cmdset_0002: add support for Samsung K8D3x16UxC NOR chips\n  mtd: cfi_cmdset_0002: add support for Samsung K8D6x16UxM NOR chips\n  mtd: nand: ams-delta: drop omap_read/write, use ioremap\n  mtd: m25p80: add debugging trace in sst_write\n  mtd: nand: ams-delta: select for built-in by default\n  mtd: OneNAND: lighten scary initial bad block messages\n  mtd: OneNAND: OMAP2/3: add support for command line partitioning\n  mtd: nand: rearrange ONFI revision checking, add ONFI 2.3\n  ...\n\nFix up trivial conflict in drivers/mtd/Kconfig as per DavidW.\n"
    },
    {
      "commit": "235646a486d10891bd86af28d8eac75d9f22bd2d",
      "tree": "72308e6d2d7c936d00907689a2749715873d5f1b",
      "parents": [
        "af575e2d2e09517a8190f1b425453cc3e0102f6c",
        "ecf5632dd189ab4c366cef853d6e5fe7adfe52e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:00:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:00:09 2011 -0800"
      },
      "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:\n  fs: fix address space warnings in ioctl_fiemap()\n  aio: check return value of create_workqueue()\n  hpfs_setattr error case avoids unlock_kernel\n  compat: copy missing fields in compat_statfs64 to user\n  compat: update comment of compat statfs syscalls\n  compat: remove unnecessary assignment in compat_rw_copy_check_uvector()\n  fs: FS_POSIX_ACL does not depend on BLOCK\n  fs: Remove unlikely() from fget_light()\n  fs: Remove unlikely() from fput_light()\n  fallocate should be a file operation\n  make the feature checks in -\u003efallocate future proof\n  staging: smbfs building fix\n  tidy up around finish_automount()\n  don\u0027t drop newmnt on error in do_add_mount()\n  Take the completion of automount into new helper\n"
    },
    {
      "commit": "e1288cd72f54e7fc16ae9ebb4d0647537ef848d4",
      "tree": "b4fd87b9307d8041fb680cb9b8fbf787ec968df7",
      "parents": [
        "e78bf5e6cbe837daa6ab628a5f679548742994d3",
        "94ae85220a07d357d4937086c490854f63344de4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 10:54:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 10:54:41 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (63 commits)\n  ARM: PL08x: cleanup comments\n  Update CONFIG_MD_RAID6_PQ to CONFIG_RAID6_PQ in drivers/dma/iop-adma.c\n  ARM: PL08x: fix a warning\n  Fix dmaengine_submit() return type\n  dmaengine: at_hdmac: fix race while monitoring channel status\n  dmaengine: at_hdmac: flags located in first descriptor\n  dmaengine: at_hdmac: use subsys_initcall instead of module_init\n  dmaengine: at_hdmac: no need set ACK in new descriptor\n  dmaengine: at_hdmac: trivial add precision to unmapping comment\n  dmaengine: at_hdmac: use dma_address to program DMA hardware\n  pch_dma: support new device ML7213 IOH\n  ARM: PL08x: prevent dma_set_runtime_config() reconfiguring memcpy channels\n  ARM: PL08x: allow dma_set_runtime_config() to return errors\n  ARM: PL08x: fix locking between prepare function and submit function\n  ARM: PL08x: introduce \u0027phychan_hold\u0027 to hold on to physical channels\n  ARM: PL08x: put txd\u0027s on the pending list in pl08x_tx_submit()\n  ARM: PL08x: rename \u0027desc_list\u0027 as \u0027pend_list\u0027\n  ARM: PL08x: implement unmapping of memcpy buffers\n  ARM: PL08x: store prep_* flags in async_tx structure\n  ARM: PL08x: shrink srcbus/dstbus in txd structure\n  ...\n"
    },
    {
      "commit": "2a8652f4e0d11ee27b1d2870c600fd1300661a6e",
      "tree": "f7ee0d8614b60a8733bcf0cfba8ac94776925ed5",
      "parents": [
        "38a708d7759476318d0eec64af174513032ec67a"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Wed Nov 03 11:11:15 2010 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Jan 17 10:44:31 2011 -0600"
      },
      "message": "ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h\n\nThe definition of ECRYPTFS_SUPER_MAGIC has been moved to the include\nfile \u0027linux/magic.h\u0027 to become available to other kernel subsystems.\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ecf5632dd189ab4c366cef853d6e5fe7adfe52e5",
      "tree": "947ae7edf45415753e960d53957ae3a4121fb3b8",
      "parents": [
        "27eaa1c90c608aa907336c2743d5ecf35c469440"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sun Jan 16 23:28:17 2011 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 08:21:42 2011 -0500"
      },
      "message": "fs: fix address space warnings in ioctl_fiemap()\n\nThe fi_extents_start field of struct fiemap_extent_info is a\nuser pointer but was not marked as __user. This makes sparse\nemit following warnings:\n\n  CHECK   fs/ioctl.c\nfs/ioctl.c:114:26: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:114:26:    expected void [noderef] \u003casn:1\u003e*dst\nfs/ioctl.c:114:26:    got struct fiemap_extent *[assigned] dest\nfs/ioctl.c:202:14: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:202:14:    expected void const volatile [noderef] \u003casn:1\u003e*\u003cnoident\u003e\nfs/ioctl.c:202:14:    got struct fiemap_extent *[assigned] fi_extents_start\nfs/ioctl.c:212:27: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:212:27:    expected void [noderef] \u003casn:1\u003e*dst\nfs/ioctl.c:212:27:    got char *\u003cnoident\u003e\n\nAlso add \u0027ufiemap\u0027 variable to eliminate unnecessary casts.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2b3e74b78b24cb367289a75a2bd30e569e56e0e",
      "tree": "1ae2e53e0aa3831486afd2ec8c71a8cd32535b1b",
      "parents": [
        "2fe17c1075836b66678ed2a305fd09b6773883aa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 13 19:38:08 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 03:26:26 2011 -0500"
      },
      "message": "fs: Remove unlikely() from fput_light()\n\nIn fput_light(), there\u0027s an unlikely(fput_needed), which running on\nmy normal desktop doing firefox, xchat, evolution and part of my distcc farm,\nand running the annotate branch profiler shows that the unlikely is not\nvery unlikely.\n\n correct incorrect  %        Function             File              Line\n ------- ---------  -        --------             ----              ----\n       0       48 100 fput_light                file.h               26\n115828710 897415279  88 fput_light              file.h               26\n865271179 5286128445  85 fput_light             file.h               26\n19568539  8923664  31 fput_light                file.h               26\n12353677  3562279  22 fput_light                file.h               26\n  267691    67062  20 fput_light                file.h               26\n15014853   348172   2 fput_light                file.h               26\n  209258      205   0 fput_light                file.h               26\n 1364164        0   0 fput_light                file.h               26\n\nWhich gives 1032903812 times it was correct and 6203351846 times it was\nincorrect, or 85% incorrect.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2fe17c1075836b66678ed2a305fd09b6773883aa",
      "tree": "eb5287be8138686682eef9622872cfc7657e0664",
      "parents": [
        "64c23e86873ee410554d6d1c76b60da47025e96f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jan 14 13:07:43 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 02:25:31 2011 -0500"
      },
      "message": "fallocate should be a file operation\n\nCurrently all filesystems except XFS implement fallocate asynchronously,\nwhile XFS forced a commit.  Both of these are suboptimal - in case of O_SYNC\nI/O we really want our allocation on disk, especially for the !KEEP_SIZE\ncase where we actually grow the file with user-visible zeroes.  On the\nother hand always commiting the transaction is a bad idea for fast-path\nuses of fallocate like for example in recent Samba versions.   Given\nthat block allocation is a data plane operation anyway change it from\nan inode operation to a file operation so that we have the file structure\navailable that lets us check for O_SYNC.\n\nThis also includes moving the code around for a few of the filesystems,\nand remove the already unnedded S_ISDIR checks given that we only wire\nup fallocate for regular files.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "94ae85220a07d357d4937086c490854f63344de4",
      "tree": "8dda364dc7cbae73a30bbe5ef47ac8d674d998c6",
      "parents": [
        "0261f7416362f6affc2d4fe7fea9320a6bdaaee6"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sun Jan 16 20:18:05 2011 +0000"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Jan 16 16:55:43 2011 -0800"
      },
      "message": "ARM: PL08x: cleanup comments\n\nCleanup the formatting of comments, remove some which don\u0027t make sense\nanymore.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n[fix conflict with 96a608a4]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "fc8fe1e992ae0326a88edbe4d6793e840bbdd4ff",
      "tree": "40eb3f1660898b9261219c0c256f569f0258a953",
      "parents": [
        "f8206b925fb0eba3a11839419be118b09105d7b1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 16 20:42:43 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:56:26 2011 -0800"
      },
      "message": "PCI / ACPI: Fix build of the AER driver for CONFIG_ACPI unset\n\nAfter commit 415e12b23792 (\"PCI/ACPI: Request _OSC control once for each\nroot bridge (v3)\") include/linux/pci-acpi.h is included by\ndrivers/pci/pcie/aer/aerdrv.c and if CONFIG_ACPI is unset, the bogus and\nunnecessary alternative definition of acpi_find_root_bridge_handle()\ncauses a build error to occur.\n\nRemove the offending piece of garbage.\n\nReported-and-tested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8206b925fb0eba3a11839419be118b09105d7b1",
      "tree": "5d41b356a043da09c816ed80bd79d1ea8b2b47e5",
      "parents": [
        "1b59be2a6cdcb5a12e18d8315c07c94a624de48f",
        "f03c65993b98eeb909a4012ce7833c5857d74755"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:31:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:31:50 2011 -0800"
      },
      "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: (23 commits)\n  sanitize vfsmount refcounting changes\n  fix old umount_tree() breakage\n  autofs4: Merge the remaining dentry ops tables\n  Unexport do_add_mount() and add in follow_automount(), not -\u003ed_automount()\n  Allow d_manage() to be used in RCU-walk mode\n  Remove a further kludge from __do_follow_link()\n  autofs4: Bump version\n  autofs4: Add v4 pseudo direct mount support\n  autofs4: Fix wait validation\n  autofs4: Clean up autofs4_free_ino()\n  autofs4: Clean up dentry operations\n  autofs4: Clean up inode operations\n  autofs4: Remove unused code\n  autofs4: Add d_manage() dentry operation\n  autofs4: Add d_automount() dentry operation\n  Remove the automount through follow_link() kludge code from pathwalk\n  CIFS: Use d_automount() rather than abusing follow_link()\n  NFS: Use d_automount() rather than abusing follow_link()\n  AFS: Use d_automount() rather than abusing follow_link()\n  Add an AT_NO_AUTOMOUNT flag to suppress terminal automount\n  ...\n"
    },
    {
      "commit": "f03c65993b98eeb909a4012ce7833c5857d74755",
      "tree": "a6dd5e353889b7fe4ab87c54170d09443d788fec",
      "parents": [
        "7b8a53fd815deb39542085897743fa0063f9fe06"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 14 22:30:21 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 13:47:07 2011 -0500"
      },
      "message": "sanitize vfsmount refcounting changes\n\nInstead of splitting refcount between (per-cpu) mnt_count\nand (SMP-only) mnt_longrefs, make all references contribute\nto mnt_count again and keep track of how many are longterm\nones.\n\nAccounting rules for longterm count:\n\t* 1 for each fs_struct.root.mnt\n\t* 1 for each fs_struct.pwd.mnt\n\t* 1 for having non-NULL -\u003emnt_ns\n\t* decrement to 0 happens only under vfsmount lock exclusive\n\nThat allows nice common case for mntput() - since we can\u0027t drop the\nfinal reference until after mnt_longterm has reached 0 due to the rules\nabove, mntput() can grab vfsmount lock shared and check mnt_longterm.\nIf it turns out to be non-zero (which is the common case), we know\nthat this is not the final mntput() and can just blindly decrement\npercpu mnt_count.  Otherwise we grab vfsmount lock exclusive and\ndo usual decrement-and-check of percpu mnt_count.\n\nFor fs_struct.c we have mnt_make_longterm() and mnt_make_shortterm();\nnamespace.c uses the latter in places where we don\u0027t already hold\nvfsmount lock exclusive and opencodes a few remaining spots where\nwe need to manipulate mnt_longterm.\n\nNote that we mostly revert the code outside of fs/namespace.c back\nto what we used to have; in particular, normal code doesn\u0027t need\nto care about two kinds of references, etc.  And we get to keep\nthe optimization Nick\u0027s variant had bought us...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fbabf31e4d482149b5e2704eb0287cf9117bdcf3",
      "tree": "b12a1123474ab9aa566fc1a6e57e050653588ba0",
      "parents": [
        "43f393caec0362abe03c72799d3f342af3973070"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Sun Jan 16 18:12:59 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jan 16 18:12:59 2011 +0100"
      },
      "message": "netfilter: create audit records for x_tables replaces\n\nThe setsockopt() syscall to replace tables is already recorded\nin the audit logs. This patch stores additional information\nsuch as table name and netfilter protocol.\n\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Thomas Graf \u003ctgraf@redhat.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "43f393caec0362abe03c72799d3f342af3973070",
      "tree": "7ff979877f3d8e725709d7455ef4f977df605d78",
      "parents": [
        "d862a6622e9db508d4b28cc7c5bc28bd548cc24e"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Sun Jan 16 18:10:28 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jan 16 18:10:28 2011 +0100"
      },
      "message": "netfilter: audit target to record accepted/dropped packets\n\nThis patch adds a new netfilter target which creates audit records\nfor packets traversing a certain chain.\n\nIt can be used to record packets which are rejected administraively\nas follows:\n\n  -N AUDIT_DROP\n  -A AUDIT_DROP -j AUDIT --type DROP\n  -A AUDIT_DROP -j DROP\n\na rule which would typically drop or reject a packet would then\ninvoke the new chain to record packets before dropping them.\n\n  -j AUDIT_DROP\n\nThe module is protocol independant and works for iptables, ip6tables\nand ebtables.\n\nThe following information is logged:\n - netfilter hook\n - packet length\n - incomming/outgoing interface\n - MAC src/dst/proto for ethernet packets\n - src/dst/protocol address for IPv4/IPv6\n - src/dst port for TCP/UDP/UDPLITE\n - icmp type/code\n\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Thomas Graf \u003ctgraf@redhat.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "672c54466d24994eb9633f993862c89539504a42",
      "tree": "e08f17e5fa260676912eb9b7d2263d47d667fdec",
      "parents": [
        "1b59be2a6cdcb5a12e18d8315c07c94a624de48f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jan 13 15:36:09 2011 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Jan 15 22:01:58 2011 -0700"
      },
      "message": "dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()\n\nThe physical address is never used by the device tree code when\nallocating memory for unflattening.  Change the architecture\u0027s alloc\nhook to return the virutal address instead.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ea5b778a8b98c85a87d66bf844904f9c3802b869",
      "tree": "baa56cbe1a907d76341f2cad53e16569cc1d3288",
      "parents": [
        "ab90911ff90cdab59b31c045c3f0ae480d14f29d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 19:10:03 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:48 2011 -0500"
      },
      "message": "Unexport do_add_mount() and add in follow_automount(), not -\u003ed_automount()\n\nUnexport do_add_mount() and make -\u003ed_automount() return the vfsmount to be\nadded rather than calling do_add_mount() itself.  follow_automount() will then\ndo the addition.\n\nThis slightly complicates things as -\u003ed_automount() normally wants to add the\nnew vfsmount to an expiration list and start an expiration timer.  The problem\nwith that is that the vfsmount will be deleted if it has a refcount of 1 and\nthe timer will not repeat if the expiration list is empty.\n\nTo this end, we require the vfsmount to be returned from d_automount() with a\nrefcount of (at least) 2.  One of these refs will be dropped unconditionally.\nIn addition, follow_automount() must get a 3rd ref around the call to\ndo_add_mount() lest it eat a ref and return an error, leaving the mount we\nhave open to being expired as we would otherwise have only 1 ref on it.\n\nd_automount() should also add the the vfsmount to the expiration list (by\ncalling mnt_set_expiry()) and start the expiration timer before returning, if\nthis mechanism is to be used.  The vfsmount will be unlinked from the\nexpiration list by follow_automount() if do_add_mount() fails.\n\nThis patch also fixes the call to do_add_mount() for AFS to propagate the mount\nflags from the parent vfsmount.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ab90911ff90cdab59b31c045c3f0ae480d14f29d",
      "tree": "683450a66eb9dc6bf053e38d63f4740bb53a7b6e",
      "parents": [
        "87556ef19926e97464e0163a7840140527ae6615"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:46:51 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:47 2011 -0500"
      },
      "message": "Allow d_manage() to be used in RCU-walk mode\n\nAllow d_manage() to be called from pathwalk when it is in RCU-walk mode as well\nas when it is in Ref-walk mode.  This permits __follow_mount_rcu() to call\nd_manage() directly.  d_manage() needs a parameter to indicate that it is in\nRCU-walk mode as it isn\u0027t allowed to sleep if in that mode (but should return\n-ECHILD instead).\n\nautofs4_d_manage() can then be set to retain RCU-walk mode if the daemon\naccesses it and otherwise request dropping back to ref-walk mode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1972580bb4edea3ed6fe273b2ca72f44f10f8c86",
      "tree": "9c8e34448ed30e040dcdb18b5b92ec663baa0750",
      "parents": [
        "dd89f90d2deb9aa5bc8e1b15d726ff5c0bb2b623"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:46:40 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:45 2011 -0500"
      },
      "message": "autofs4: Bump version\n\nIncrease the autofs module sub-version so we can tell what kernel\nimplementation is being used from user space debug logging.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "36d43a43761b004ad1879ac21471d8fc5f3157ec",
      "tree": "6cb6c6d978f4e58de7f9bf901707d6929f098345",
      "parents": [
        "d18610b0ce9eb48c60649d8fcbf68374c84349d3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:42 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:34 2011 -0500"
      },
      "message": "NFS: Use d_automount() rather than abusing follow_link()\n\nMake NFS use the new d_automount() dentry operation rather than abusing\nfollow_link() on directories.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6f45b65672c8017d5e210e338bb5858a938ef445",
      "tree": "b62877c489fb682033c37d30d91c53e4d0c3833a",
      "parents": [
        "cc53ce53c86924bfe98a12ea20b7465038a08792"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:31 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:33 2011 -0500"
      },
      "message": "Add an AT_NO_AUTOMOUNT flag to suppress terminal automount\n\nAdd an AT_NO_AUTOMOUNT flag to suppress terminal automounting of automount\npoint directories.  This can be used by fstatat() users to permit the\ngathering of attributes on an automount point and also prevent\nmass-automounting of a directory of automount points by ls.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cc53ce53c86924bfe98a12ea20b7465038a08792",
      "tree": "3c9a4923dd9f413c46bfa83a20cb579446df6deb",
      "parents": [
        "9875cf806403fae66b2410a3c2cc820d97731e04"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:26 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:31 2011 -0500"
      },
      "message": "Add a dentry op to allow processes to be held during pathwalk transit\n\nAdd a dentry op (d_manage) to permit a filesystem to hold a process and make it\nsleep when it tries to transit away from one of that filesystem\u0027s directories\nduring a pathwalk.  The operation is keyed off a new dentry flag\n(DCACHE_MANAGE_TRANSIT).\n\nThe filesystem is allowed to be selective about which processes it holds and\nwhich it permits to continue on or prohibits from transiting from each flagged\ndirectory.  This will allow autofs to hold up client processes whilst letting\nits userspace daemon through to maintain the directory or the stuff behind it\nor mounted upon it.\n\nThe -\u003ed_manage() dentry operation:\n\n\tint (*d_manage)(struct path *path, bool mounting_here);\n\ntakes a pointer to the directory about to be transited away from and a flag\nindicating whether the transit is undertaken by do_add_mount() or\ndo_move_mount() skipping through a pile of filesystems mounted on a mountpoint.\n\nIt should return 0 if successful and to let the process continue on its way;\n-EISDIR to prohibit the caller from skipping to overmounted filesystems or\nautomounting, and to use this directory; or some other error code to return to\nthe user.\n\n-\u003ed_manage() is called with namespace_sem writelocked if mounting_here is true\nand no other locks held, so it may sleep.  However, if mounting_here is true,\nit may not initiate or wait for a mount or unmount upon the parameter\ndirectory, even if the act is actually performed by userspace.\n\nWithin fs/namei.c, follow_managed() is extended to check with d_manage() first\non each managed directory, before transiting away from it or attempting to\nautomount upon it.\n\nfollow_down() is renamed follow_down_one() and should only be used where the\nfilesystem deliberately intends to avoid management steps (e.g. autofs).\n\nA new follow_down() is added that incorporates the loop done by all other\ncallers of follow_down() (do_add/move_mount(), autofs and NFSD; whilst AFS, NFS\nand CIFS do use it, their use is removed by converting them to use\nd_automount()).  The new follow_down() calls d_manage() as appropriate.  It\nalso takes an extra parameter to indicate if it is being called from mount code\n(with namespace_sem writelocked) which it passes to d_manage().  follow_down()\nignores automount points so that it can be used to mount on them.\n\n__follow_mount_rcu() is made to abort rcu-walk mode if it hits a directory with\nDCACHE_MANAGE_TRANSIT set on the basis that we\u0027re probably going to have to\nsleep.  It would be possible to enter d_manage() in rcu-walk mode too, and have\nthat determine whether to abort or not itself.  That would allow the autofs\ndaemon to continue on in rcu-walk mode.\n\nNote that DCACHE_MANAGE_TRANSIT on a directory should be cleared when it isn\u0027t\nrequired as every tranist from that directory will cause d_manage() to be\ninvoked.  It can always be set again when necessary.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWHAT THIS MEANS FOR AUTOFS\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAutofs currently uses the lookup() inode op and the d_revalidate() dentry op to\ntrigger the automounting of indirect mounts, and both of these can be called\nwith i_mutex held.\n\nautofs knows that the i_mutex will be held by the caller in lookup(), and so\ncan drop it before invoking the daemon - but this isn\u0027t so for d_revalidate(),\nsince the lock is only held on _some_ of the code paths that call it.  This\nmeans that autofs can\u0027t risk dropping i_mutex from its d_revalidate() function\nbefore it calls the daemon.\n\nThe bug could manifest itself as, for example, a process that\u0027s trying to\nvalidate an automount dentry that gets made to wait because that dentry is\nexpired and needs cleaning up:\n\n\tmkdir         S ffffffff8014e05a     0 32580  24956\n\tCall Trace:\n\t [\u003cffffffff885371fd\u003e] :autofs4:autofs4_wait+0x674/0x897\n\t [\u003cffffffff80127f7d\u003e] avc_has_perm+0x46/0x58\n\t [\u003cffffffff8009fdcf\u003e] autoremove_wake_function+0x0/0x2e\n\t [\u003cffffffff88537be6\u003e] :autofs4:autofs4_expire_wait+0x41/0x6b\n\t [\u003cffffffff88535cfc\u003e] :autofs4:autofs4_revalidate+0x91/0x149\n\t [\u003cffffffff80036d96\u003e] __lookup_hash+0xa0/0x12f\n\t [\u003cffffffff80057a2f\u003e] lookup_create+0x46/0x80\n\t [\u003cffffffff800e6e31\u003e] sys_mkdirat+0x56/0xe4\n\nversus the automount daemon which wants to remove that dentry, but can\u0027t\nbecause the normal process is holding the i_mutex lock:\n\n\tautomount     D ffffffff8014e05a     0 32581      1              32561\n\tCall Trace:\n\t [\u003cffffffff80063c3f\u003e] __mutex_lock_slowpath+0x60/0x9b\n\t [\u003cffffffff8000ccf1\u003e] do_path_lookup+0x2ca/0x2f1\n\t [\u003cffffffff80063c89\u003e] .text.lock.mutex+0xf/0x14\n\t [\u003cffffffff800e6d55\u003e] do_rmdir+0x77/0xde\n\t [\u003cffffffff8005d229\u003e] tracesys+0x71/0xe0\n\t [\u003cffffffff8005d28d\u003e] tracesys+0xd5/0xe0\n\nwhich means that the system is deadlocked.\n\nThis patch allows autofs to hold up normal processes whilst the daemon goes\nahead and does things to the dentry tree behind the automouter point without\nrisking a deadlock as almost no locks are held in d_manage() and none in\nd_automount().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nWas-Acked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9875cf806403fae66b2410a3c2cc820d97731e04",
      "tree": "6f9546b400716766af95e0f78e3d600e765b2b51",
      "parents": [
        "1a8edf40e7c3eee955e0dd0316a7c9d85e36f597"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:21 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:05:03 2011 -0500"
      },
      "message": "Add a dentry op to handle automounting rather than abusing follow_link()\n\nAdd a dentry op (d_automount) to handle automounting directories rather than\nabusing the follow_link() inode operation.  The operation is keyed off a new\ndentry flag (DCACHE_NEED_AUTOMOUNT).\n\nThis also makes it easier to add an AT_ flag to suppress terminal segment\nautomount during pathwalk and removes the need for the kludge code in the\npathwalk algorithm to handle directories with follow_link() semantics.\n\nThe -\u003ed_automount() dentry operation:\n\n\tstruct vfsmount *(*d_automount)(struct path *mountpoint);\n\ntakes a pointer to the directory to be mounted upon, which is expected to\nprovide sufficient data to determine what should be mounted.  If successful, it\nshould return the vfsmount struct it creates (which it should also have added\nto the namespace using do_add_mount() or similar).  If there\u0027s a collision with\nanother automount attempt, NULL should be returned.  If the directory specified\nby the parameter should be used directly rather than being mounted upon,\n-EISDIR should be returned.  In any other case, an error code should be\nreturned.\n\nThe -\u003ed_automount() operation is called with no locks held and may sleep.  At\nthis point the pathwalk algorithm will be in ref-walk mode.\n\nWithin fs/namei.c itself, a new pathwalk subroutine (follow_automount()) is\nadded to handle mountpoints.  It will return -EREMOTE if the automount flag was\nset, but no d_automount() op was supplied, -ELOOP if we\u0027ve encountered too many\nsymlinks or mountpoints, -EISDIR if the walk point should be used without\nmounting and 0 if successful.  The path will be updated to point to the mounted\nfilesystem if a successful automount took place.\n\n__follow_mount() is replaced by follow_managed() which is more generic\n(especially with the patch that adds -\u003ed_manage()).  This handles transits from\ndirectories during pathwalk, including automounting and skipping over\nmountpoints (and holding processes with the next patch).\n\n__follow_mount_rcu() will jump out of RCU-walk mode if it encounters an\nautomount point with nothing mounted on it.\n\nfollow_dotdot*() does not handle automounts as you don\u0027t want to trigger them\nwhilst following \"..\".\n\nI\u0027ve also extracted the mount/don\u0027t-mount logic from autofs4 and included it\nhere.  It makes the mount go ahead anyway if someone calls open() or creat(),\ntries to traverse the directory, tries to chdir/chroot/etc. into the directory,\nor sticks a \u0027/\u0027 on the end of the pathname.  If they do a stat(), however,\nthey\u0027ll only trigger the automount if they didn\u0027t also say O_NOFOLLOW.\n\nI\u0027ve also added an inode flag (S_AUTOMOUNT) so that filesystems can mark their\ninodes as automount points.  This flag is automatically propagated to the\ndentry as DCACHE_NEED_AUTOMOUNT by __d_instantiate().  This saves NFS and could\nsave AFS a private flag bit apiece, but is not strictly necessary.  It would be\npreferable to do the propagation in d_set_d_op(), but that doesn\u0027t normally\nhave access to the inode.\n\n[AV: fixed breakage in case if __follow_mount_rcu() fails and nameidata_drop_rcu()\nsucceeds in RCU case of do_lookup(); we need to fall through to non-RCU case after\nthat, rather than just returning with ungrabbed *path]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nWas-Acked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "597fb188cbee2d371246e1669bbc6051bb666aa9",
      "tree": "fd9cb605050ca15274cf391dc6bd4073d04808df",
      "parents": [
        "38567333a6dabd0f2b4150e9fb6dd8e3ba2985e5",
        "04d94879c8a4973b5499dc26b9d38acee8928791"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:17 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:17 2011 +0200"
      },
      "message": "Merge branch \u0027slub/hotplug\u0027 into slab/urgent\n"
    },
    {
      "commit": "96a608a4bfd8468c21881b3f92024923886eb015",
      "tree": "5c1cac2a320f8ba019ccd3d45730ac8d0ecbaa5d",
      "parents": [
        "98d530fe246b65fbd3cdeeeca319a80c46cb4793"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:51:11 2011 -0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:51:11 2011 -0800"
      },
      "message": "ARM: PL08x: fix a warning\n\ndrivers/dma/amba-pl08x.c: In function \u0027pl08x_start_txd\u0027:\ndrivers/dma/amba-pl08x.c:205: warning: dereferencing \u0027void *\u0027 pointer\n\nWe never dereference llis_va aside from assigning it to a struct\npl08x_lli pointer or calculating the address of array element 0.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "98d530fe246b65fbd3cdeeeca319a80c46cb4793",
      "tree": "f5b6d711fd6d24ae6a042e91c4bc9108914fb382",
      "parents": [
        "dda36f9821321edf65d69da5c0807df7e73d26fc"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sat Jan 01 23:00:23 2011 +0000"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:07:49 2011 -0800"
      },
      "message": "Fix dmaengine_submit() return type\n\ndesc-\u003etx_submit\u0027s return type is dma_cookie_t, not int.  Therefore,\ndmaengine_submit() should match this return type as it\u0027s just\nwrapping this detail.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    }
  ],
  "next": "ab0724ffee24409a7f81afb539b2ac29090bff3e"
}
