)]}'
{
  "log": [
    {
      "commit": "ee14186f8d2338227888f3c00a06caf31f94de38",
      "tree": "996690f4f36657854326b0cf2ae0ed27fdabc38c",
      "parents": [
        "ca53e4405347a1e19eaf59c757ceaaaa1a784758"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Apr 03 14:50:07 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 19:18:21 2012 -0400"
      },
      "message": "netfilter: xt_CT: fix missing put timeout object in error path\n\nThe error path misses putting the timeout object. This patch adds\nnew function xt_ct_tg_timeout_put() to put the timeout object.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca53e4405347a1e19eaf59c757ceaaaa1a784758",
      "tree": "2be033f9ae8057c50ff2ac9e07aba919d692cb82",
      "parents": [
        "9b461783d3d49c74665b55b8ae1b7a1c038177a9"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Apr 03 12:32:15 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 19:16:39 2012 -0400"
      },
      "message": "netfilter: xt_CT: allocation has to be GFP_ATOMIC under rcu_read_lock section\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b461783d3d49c74665b55b8ae1b7a1c038177a9",
      "tree": "e4f27485a0669871a6e331b6daf64157bec4447a",
      "parents": [
        "cff4c16296754888b6fd8c886bc860a888e20257",
        "44b52bccf855b0706de624c29fc3d82ca954bb4e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 19:15:48 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 19:15:48 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net\n"
    },
    {
      "commit": "f03fb3f455c6c3a3dfcef6c7f2dcab104c813f4b",
      "tree": "5b658f40d38b0ac9c5f4f3e6c6292266df6a1d3c",
      "parents": [
        "5d6bd8619db5a30668093c1b2967674645cf0736"
      ],
      "author": {
        "name": "Jan Seiffert",
        "email": "kaffeemonster@googlemail.com",
        "time": "Fri Mar 30 05:08:19 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 18:01:03 2012 -0400"
      },
      "message": "bpf jit: Make the filter.c::__load_pointer helper non-static for the jits\n\nThe function is renamed to make it a little more clear what it does.\nIt is not added to any .h because it is not for general consumption, only for\nbpf internal use (and so by the jits).\n\nSigned-of-by: Jan Seiffert \u003ckaffeemonster@googlemail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f53384424251c06038ae612e56231b96ab610ee",
      "tree": "e3524210033983e5727c88e21bb3e6a766b20ae4",
      "parents": [
        "e675f0cc9a872fd152edc0c77acfed19bf28b81e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 03 09:37:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 17:35:43 2012 -0400"
      },
      "message": "tcp: allow splice() to build full TSO packets\n\nvmsplice()/splice(pipe, socket) call do_tcp_sendpages() one page at a\ntime, adding at most 4096 bytes to an skb. (assuming PAGE_SIZE\u003d4096)\n\nThe call to tcp_push() at the end of do_tcp_sendpages() forces an\nimmediate xmit when pipe is not already filled, and tso_fragment() try\nto split these skb to MSS multiples.\n\n4096 bytes are usually split in a skb with 2 MSS, and a remaining\nsub-mss skb (assuming MTU\u003d1500)\n\nThis makes slow start suboptimal because many small frames are sent to\nqdisc/driver layers instead of big ones (constrained by cwnd and packets\nin flight of course)\n\nIn fact, applications using sendmsg() (adding an additional memory copy)\ninstead of vmsplice()/splice()/sendfile() are a bit faster because of\nthis anomaly, especially if serving small files in environments with\nlarge initial [c]wnd.\n\nCall tcp_push() only if MSG_MORE is not set in the flags parameter.\n\nThis bit is automatically provided by splice() internals but for the\nlast page, or on all pages if user specified SPLICE_F_MORE splice()\nflag.\n\nIn some workloads, this can reduce number of sent logical packets by an\norder of magnitude, making zero-copy TCP actually faster than\none-copy :)\n\nReported-by: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Nandita Dukkipati \u003cnanditad@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: H.K. Jerry Chu \u003chkchu@google.com\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Mahesh Bandewar \u003cmaheshb@google.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail\u003ecom\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2def16ae6b0c77571200f18ba4be049b03d75579",
      "tree": "8b5bf927cba74c94e2a155b64052df07621917b8",
      "parents": [
        "01627d968c8b5e2810fe8c417b406b968297c236"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 02 22:33:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 17:23:23 2012 -0400"
      },
      "message": "net: fix /proc/net/dev regression\n\nCommit f04565ddf52 (dev: use name hash for dev_seq_ops) added a second\nregression, as some devices are missing from /proc/net/dev if many\ndevices are defined.\n\nWhen seq_file buffer is filled, the last -\u003enext/show() method is\ncanceled (pos value is reverted to value prior -\u003enext() call)\n\nProblem is after above commit, we dont restart the lookup at right\nposition in -\u003estart() method.\n\nFix this by removing the internal \u0027pos\u0027 pointer added in commit, since\nwe need to use the \u0027loff_t *pos\u0027 provided by seq_file layer.\n\nThis also reverts commit 5cac98dd0 (net: Fix corruption\nin /proc/*/net/dev_mcast), since its not needed anymore.\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Mihai Maruseac \u003cmmaruseac@ixiacom.com\u003e\nTested-by:  Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44b52bccf855b0706de624c29fc3d82ca954bb4e",
      "tree": "8159879f1578b4616f1f4d66bb6651ed04266ba4",
      "parents": [
        "5276e16bb6f35412583518d6f04651dd9dc114be"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Apr 03 10:08:48 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Apr 03 10:08:48 2012 +0200"
      },
      "message": "netfilter: xt_CT: remove a compile warning\n\nIf CONFIG_NF_CONNTRACK_TIMEOUT\u003dn we have following warning :\n\n  CC [M]  net/netfilter/xt_CT.o\nnet/netfilter/xt_CT.c: In function ‘xt_ct_tg_check_v1’:\nnet/netfilter/xt_CT.c:284: warning: label ‘err4’ defined but not used\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "ed359a3b7b6ade0071f378c0cf4392d252f7d334",
      "tree": "8f81e03fcb44a7d36f53bc5a53d8eced7154bee2",
      "parents": [
        "95694129b43165911dc4e8a972f0d39ad98d86be",
        "2240eb4ae3dc4acff20d1a8947c441c451513e37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 17:53:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 17:53:39 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Provide device string properly for USB i2400m wimax devices, also\n    don\u0027t OOPS when providing firmware string.  From Phil Sutter.\n\n 2) Add support for sh_eth SH7734 chips, from Nobuhiro Iwamatsu.\n\n 3) Add another device ID to USB zaurus driver, from Guan Xin.\n\n 4) Loop index start in pool vector iterator is wrong causing MAC to not\n    get configured in bnx2x driver, fix from Dmitry Kravkov.\n\n 5) EQL driver assumes HZ\u003d100, fix from Eric Dumazet.\n\n 6) Now that skb_add_rx_frag() can specify the truesize increment\n    separately, do so in f_phonet and cdc_phonet, also from Eric\n    Dumazet.\n\n 7) virtio_net accidently uses net_ratelimit() not only on the kernel\n    warning but also the statistic bump, fix from Rick Jones.\n\n 8) ip_route_input_mc() uses fixed init_net namespace, oops, use\n    dev_net(dev) instead.  Fix from Benjamin LaHaise.\n\n 9) dev_forward_skb() needs to clear the incoming interface index of the\n    SKB so that it looks like a new incoming packet, also from Benjamin\n    LaHaise.\n\n10) iwlwifi mistakenly initializes a channel entry as 2GHZ instead of\n    5GHZ, fix from Stanislav Yakovlev.\n\n11) Missing kmalloc() return value checks in orinoco, from Santosh\n    Nayak.\n\n12) ath9k doesn\u0027t check for HT capabilities in the right way, it is\n    checking ht_supported instead of the ATH9K_HW_CAP_HT flag.  Fix from\n    Sujith Manoharan.\n\n13) Fix x86 BPF JIT emission of 16-bit immediate field of AND\n    instructions, from Feiran Zhuang.\n\n14) Avoid infinite loop in GARP code when registering sysfs entries.\n    From David Ward.\n\n15) rose protocol uses memcpy instead of memcmp in a device address\n    comparison, oops.  Fix from Daniel Borkmann.\n\n16) Fix build of lpc_eth due to dev_hw_addr_rancom() interface being\n    renamed to eth_hw_addr_random().  From Roland Stigge.\n\n17) Make ipv6 RTM_GETROUTE interpret RTA_IIF attribute the same way\n    that ipv4 does.  Fix from Shmulik Ladkani.\n\n18) via-rhine has an inverted bit test, causing suspend/resume\n    regressions.  Fix from Andreas Mohr.\n\n19) RIONET assumes 4K page size, fix from Akinobu Mita.\n\n20) Initialization of imask register in sky2 is buggy, because bits are\n    \"or\u0027d\" into an uninitialized local variable.  Fix from Lino\n    Sanfilippo.\n\n21) Fix FCOE checksum offload handling, from Yi Zou.\n\n22) Fix VLAN processing regression in e1000, from Jiri Pirko.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits)\n  sky2: dont overwrite settings for PHY Quick link\n  tg3: Fix 5717 serdes powerdown problem\n  net: usb: cdc_eem: fix mtu\n  net: sh_eth: fix endian check for architecture independent\n  usb/rtl8150 : Remove duplicated definitions\n  rionet: fix page allocation order of rionet_active\n  via-rhine: fix wait-bit inversion.\n  ipv6: Fix RTM_GETROUTE\u0027s interpretation of RTA_IIF to be consistent with ipv4\n  net: lpc_eth: Fix rename of dev_hw_addr_random\n  net/netfilter/nfnetlink_acct.c: use linux/atomic.h\n  rose_dev: fix memcpy-bug in rose_set_mac_address\n  Fix non TBI PHY access; a bad merge undid bug fix in a previous commit.\n  net/garp: avoid infinite loop if attribute already exists\n  x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND\n  bonding: emit event when bonding changes MAC\n  mac80211: fix oper channel timestamp updation\n  ath9k: Use HW HT capabilites properly\n  MAINTAINERS: adding maintainer for ipw2x00\n  net: orinoco: add error handling for failed kmalloc().\n  net/wireless: ipw2x00: fix a typo in wiphy struct initilization\n  ...\n"
    },
    {
      "commit": "72331bc0cd072c3f4b670cd1256e47681fc53b80",
      "tree": "46665ad2830342d94b4d784c5aa397e3a6f0045b",
      "parents": [
        "cdaf0b835df04177397b90214f8b457fd23b67e0"
      ],
      "author": {
        "name": "Shmulik Ladkani",
        "email": "shmulik.ladkani@gmail.com",
        "time": "Sun Apr 01 04:03:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 17:29:40 2012 -0400"
      },
      "message": "ipv6: Fix RTM_GETROUTE\u0027s interpretation of RTA_IIF to be consistent with ipv4\n\nIn IPv4, if an RTA_IIF attribute is specified within an RTM_GETROUTE\nmessage, then a route is searched as if a packet was received on the\nspecified \u0027iif\u0027 interface.\n\nHowever in IPv6, RTA_IIF is not interpreted in the same way:\n\u0027inet6_rtm_getroute()\u0027 always calls \u0027ip6_route_output()\u0027, regardless the\nRTA_IIF attribute.\n\nAs a result, in IPv6 there\u0027s no way to use RTM_GETROUTE in order to look\nfor a route as if a packet was received on a specific interface.\n\nFix \u0027inet6_rtm_getroute()\u0027 so that RTA_IIF is interpreted as \"lookup a\nroute as if a packet was received on the specified interface\", similar\nto IPv4\u0027s \u0027inet_rtm_getroute()\u0027 interpretation.\n\nReported-by: Ami Koren \u003camikoren@yahoo.com\u003e\nSigned-off-by: Shmulik Ladkani \u003cshmulik.ladkani@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6523cf9a460c488c681b7e4ecef2395491de1d4e",
      "tree": "6783e2d14e9a767058837f343a3748e5ecffc111",
      "parents": [
        "81213b5e8ae68e204aa7a3f83c4f9100405dbff9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 28 12:10:57 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 16:47:12 2012 -0400"
      },
      "message": "net/netfilter/nfnetlink_acct.c: use linux/atomic.h\n\nThere\u0027s no known problem here, but this is one of only two non-arch files\nin the kernel which use asm/atomic.h instead of linux/atomic.h.\n\nAcked-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81213b5e8ae68e204aa7a3f83c4f9100405dbff9",
      "tree": "cf12b20ee5162471bf0a319beb3db8657f190c28",
      "parents": [
        "464b57da56910c8737ede75ad820b9a7afc46b3e"
      ],
      "author": {
        "name": "danborkmann@iogearbox.net",
        "email": "danborkmann@iogearbox.net",
        "time": "Tue Mar 27 22:47:43 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 16:47:12 2012 -0400"
      },
      "message": "rose_dev: fix memcpy-bug in rose_set_mac_address\n\nIf both addresses equal, nothing needs to be done. If the device is down,\nthen we simply copy the new address to dev-\u003edev_addr. If the device is up,\nthen we add another loopback device with the new address, and if that does\nnot fail, we remove the loopback device with the old address. And only\nthen, we update the dev-\u003edev_addr.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel.borkmann@tik.ee.ethz.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67378563df2e168d32a4054616f244a91aec462d",
      "tree": "ef7a14168f63eedbdcfdc0f3345d48dc21cbd352",
      "parents": [
        "54f5ffbf308828b588b9d1acd9a512d433be8a09"
      ],
      "author": {
        "name": "David Ward",
        "email": "david.ward@ll.mit.edu",
        "time": "Tue Mar 27 09:01:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 16:47:11 2012 -0400"
      },
      "message": "net/garp: avoid infinite loop if attribute already exists\n\nAn infinite loop occurred if garp_attr_create was called with the values\nof an existing attribute. This might happen if a previous leave request\nfor the attribute has not yet been followed by a PDU transmission (or,\nif the application previously issued a join request for the attribute\nand is now issuing another one, without having issued a leave request).\n\nIf garp_attr_create finds an existing attribute having the same values,\nreturn the address to it. Its state will then get updated (i.e., if it\nwas in a leaving state, it will move into a non-leaving state and not\nget deleted during the next PDU transmission).\n\nTo accomplish this fix, collapse garp_attr_insert into garp_attr_create\n(which is its only caller).\n\nThanks to Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e for contributing to\nthis fix.\n\nSigned-off-by: David Ward \u003cdavid.ward@ll.mit.edu\u003e\nAcked-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54f5ffbf308828b588b9d1acd9a512d433be8a09",
      "tree": "02746522e57bd0c92432a17d53ba40666cd41ced",
      "parents": [
        "1d24fb3684f347226747c6b11ea426b7b992694e",
        "de312db345f9770b64ff39ef5a7f86f6358e93cc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 16:47:08 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 16:47:08 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n"
    },
    {
      "commit": "a591afc01d9e48affbacb365558a31e53c85af45",
      "tree": "9bb91f4eb94ec69fc4706c4944788ec5f3586063",
      "parents": [
        "820d41cf0cd0e94a5661e093821e2e5c6b36a9d8",
        "31796ac4e8f0e88f5c10f1ad6dab8f19bebe44a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "message": "Merge branch \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x32 support for x86-64 from Ingo Molnar:\n \"This tree introduces the X32 binary format and execution mode for x86:\n  32-bit data space binaries using 64-bit instructions and 64-bit kernel\n  syscalls.\n\n  This allows applications whose working set fits into a 32 bits address\n  space to make use of 64-bit instructions while using a 32-bit address\n  space with shorter pointers, more compressed data structures, etc.\"\n\nFix up trivial context conflicts in arch/x86/{Kconfig,vdso/vma.c}\n\n* \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)\n  x32: Fix alignment fail in struct compat_siginfo\n  x32: Fix stupid ia32/x32 inversion in the siginfo format\n  x32: Add ptrace for x32\n  x32: Switch to a 64-bit clock_t\n  x32: Provide separate is_ia32_task() and is_x32_task() predicates\n  x86, mtrr: Use explicit sizing and padding for the 64-bit ioctls\n  x86/x32: Fix the binutils auto-detect\n  x32: Warn and disable rather than error if binutils too old\n  x32: Only clear TIF_X32 flag once\n  x32: Make sure TS_COMPAT is cleared for x32 tasks\n  fs: Remove missed -\u003efds_bits from cessation use of fd_set structs internally\n  fs: Fix close_on_exec pointer in alloc_fdtable\n  x32: Drop non-__vdso weak symbols from the x32 VDSO\n  x32: Fix coding style violations in the x32 VDSO code\n  x32: Add x32 VDSO support\n  x32: Allow x32 to be configured\n  x32: If configured, add x32 system calls to system call tables\n  x32: Handle process creation\n  x32: Signal-related system calls\n  x86: Add #ifdef CONFIG_COMPAT to \u003casm/sys_ia32.h\u003e\n  ...\n"
    },
    {
      "commit": "71db34fc4330f7c784397acb9f1e6ee7f7b32eb2",
      "tree": "77dd08f6f778a799dcd0c48eb72d0742349df235",
      "parents": [
        "50483c3268918ee51a56d1baa39b9149d2d0d521",
        "797a9d797f8483bb67f265c761b76dcd5a077a23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:53:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:53:25 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from Bruce Fields:\n\nHighlights:\n - Benny Halevy and Tigran Mkrtchyan implemented some more 4.1 features,\n   moving us closer to a complete 4.1 implementation.\n - Bernd Schubert fixed a long-standing problem with readdir cookies on\n   ext2/3/4.\n - Jeff Layton performed a long-overdue overhaul of the server reboot\n   recovery code which will allow us to deprecate the current code (a\n   rather unusual user of the vfs), and give us some needed flexibility\n   for further improvements.\n - Like the client, we now support numeric uid\u0027s and gid\u0027s in the\n   auth_sys case, allowing easier upgrades from NFSv2/v3 to v4.x.\n\nPlus miscellaneous bugfixes and cleanup.\n\nThanks to everyone!\n\nThere are also some delegation fixes waiting on vfs review that I\nsuppose will have to wait for 3.5.  With that done I think we\u0027ll finally\nturn off the \"EXPERIMENTAL\" dependency for v4 (though that\u0027s mostly\nsymbolic as it\u0027s been on by default in distro\u0027s for a while).\n\nAnd the list of 4.1 todo\u0027s should be achievable for 3.5 as well:\n\n   http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\nthough we may still want a bit more experience with it before turning it\non by default.\n\n* \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux: (55 commits)\n  nfsd: only register cld pipe notifier when CONFIG_NFSD_V4 is enabled\n  nfsd4: use auth_unix unconditionally on backchannel\n  nfsd: fix NULL pointer dereference in cld_pipe_downcall\n  nfsd4: memory corruption in numeric_name_to_id()\n  sunrpc: skip portmap calls on sessions backchannel\n  nfsd4: allow numeric idmapping\n  nfsd: don\u0027t allow legacy client tracker init for anything but init_net\n  nfsd: add notifier to handle mount/unmount of rpc_pipefs sb\n  nfsd: add the infrastructure to handle the cld upcall\n  nfsd: add a header describing upcall to nfsdcld\n  nfsd: add a per-net-namespace struct for nfsd\n  sunrpc: create nfsd dir in rpc_pipefs\n  nfsd: add nfsd4_client_tracking_ops struct and a way to set it\n  nfsd: convert nfs4_client-\u003ecl_cb_flags to a generic flags field\n  NFSD: Fix nfs4_verifier memory alignment\n  NFSD: Fix warnings when NFSD_DEBUG is not defined\n  nfsd: vfs_llseek() with 32 or 64 bit offsets (hashes)\n  nfsd: rename \u0027int access\u0027 to \u0027int may_flags\u0027 in nfsd_open()\n  ext4: return 32/64-bit dir name hash according to usage type\n  fs: add new FMODE flags: FMODE_32bithash and FMODE_64bithash\n  ...\n"
    },
    {
      "commit": "58df9b387c5f240566ac15b7fa5136f5a35bb19a",
      "tree": "cd3b216936037e67d71958cc3ee8060e1f628f4f",
      "parents": [
        "8563f8786ee389c7861938d1d25336706f6de187",
        "14977489ffdb80d4caf5a184ba41b23b02fbacd9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 19:02:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 19:02:35 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.4-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes for Linux 3.4 from Trond Myklebust\n\nHighlights include:\n- Fix infinite loops in the mount code\n- Fix a userspace buffer overflow in __nfs4_get_acl_uncached\n- Fix a memory leak due to a double reference count in rpcb_getport_async()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n\n* tag \u0027nfs-for-3.4-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  NFSv4: Minor cleanups for nfs4_handle_exception and nfs4_async_handle_error\n  NFSv4.1: Fix layoutcommit error handling\n  NFSv4: Fix two infinite loops in the mount code\n  SUNRPC: Use the already looked-up xprt in rpcb_getport_async()\n  NFS4.1: remove duplicate variable declaration in filelayout_clear_request_commit\n  Fix length of buffer copied in __nfs4_get_acl_uncached\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "de312db345f9770b64ff39ef5a7f86f6358e93cc",
      "tree": "aa396764417297ff98b784e589d506f140103a6b",
      "parents": [
        "a4d6367fa77fb604ce62582e1c0998e0ed098927"
      ],
      "author": {
        "name": "Rajkumar Manoharan",
        "email": "rmanohar@qca.qualcomm.com",
        "time": "Tue Mar 27 11:01:06 2012 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 28 14:25:37 2012 -0400"
      },
      "message": "mac80211: fix oper channel timestamp updation\n\nWhenever the station informs the AP that it is about to leave the\noperating channel, the timestamp should be recorded. It is handled\nin scan resume but not in scan start. Fix that.\n\nSigned-off-by: Rajkumar Manoharan \u003crmanohar@qca.qualcomm.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "56b59b429b4c26e5e730bc8c3d837de9f7d0a966",
      "tree": "191bf87e438a3985ccb7e3c5382fab8d31f94edb",
      "parents": [
        "9a7259d5c8978bbeb5fdcf64b168f8470d8208a6",
        "c666601a935b94cc0f3310339411b6940de751ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:01:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:01:29 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull Ceph updates for 3.4-rc1 from Sage Weil:\n \"Alex has been busy.  There are a range of rbd and libceph cleanups,\n  especially surrounding device setup and teardown, and a few critical\n  fixes in that code.  There are more cleanups in the messenger code,\n  virtual xattrs, a fix for CRC calculation/checks, and lots of other\n  miscellaneous stuff.\n\n  There\u0027s a patch from Amon Ott to make inos behave a bit better on\n  32-bit boxes, some decode check fixes from Xi Wang, and network\n  throttling fix from Jim Schutt, and a couple RBD fixes from Josh\n  Durgin.\n\n  No new functionality, just a lot of cleanup and bug fixing.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (65 commits)\n  rbd: move snap_rwsem to the device, rename to header_rwsem\n  ceph: fix three bugs, two in ceph_vxattrcb_file_layout()\n  libceph: isolate kmap() call in write_partial_msg_pages()\n  libceph: rename \"page_shift\" variable to something sensible\n  libceph: get rid of zero_page_address\n  libceph: only call kernel_sendpage() via helper\n  libceph: use kernel_sendpage() for sending zeroes\n  libceph: fix inverted crc option logic\n  libceph: some simple changes\n  libceph: small refactor in write_partial_kvec()\n  libceph: do crc calculations outside loop\n  libceph: separate CRC calculation from byte swapping\n  libceph: use \"do\" in CRC-related Boolean variables\n  ceph: ensure Boolean options support both senses\n  libceph: a few small changes\n  libceph: make ceph_tcp_connect() return int\n  libceph: encapsulate some messenger cleanup code\n  libceph: make ceph_msgr_wq private\n  libceph: encapsulate connection kvec operations\n  libceph: move prepare_write_banner()\n  ...\n"
    },
    {
      "commit": "e9c0f1529c9022afbab16a442382aa9a84a79c41",
      "tree": "173e99d46283f5d814bf4407728ad0d2ea702100",
      "parents": [
        "b18dafc86bb879d2f38a1743985d7ceb283c2f4d",
        "5bdad93387c64f0095df7ae9a252ff44234a8b3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 09:58:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 09:58:38 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus-3.4-merge-window\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\nPull 9p changes for the 3.4 merge window from Eric Van Hensbergen.\n\n* tag \u0027for-linus-3.4-merge-window\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: statfs should not override server f_type\n  net/9p: handle flushed Tclunk/Tremove\n  net/9p: don\u0027t allow Tflush to be interrupted\n"
    },
    {
      "commit": "3b9785c6b0ff37ac4ef5085b38756283da84dceb",
      "tree": "08592027bcbba8ccc9074011868228a9b0f0ab7d",
      "parents": [
        "4e7b2f1454382b220f792a7fbcbebd0985187161"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Mar 27 15:55:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 28 04:45:37 2012 -0400"
      },
      "message": "net/core: dev_forward_skb() should clear skb_iif\n\nWhile investigating another bug, I found that the code on the incoming path\nin __netif_receive_skb will only set skb-\u003eskb_iif if it is already 0.  When\ndev_forward_skb() is used in the case of interfaces like veth, skb_iif may\nalready have been set.  Making dev_forward_skb() cause the packet to look\nlike a newly received packet would seem to the the correct behaviour here,\nas otherwise the wrong incoming interface can be reported for such a packet.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e7b2f1454382b220f792a7fbcbebd0985187161",
      "tree": "c0161155b8d2dc170ee3727c4b4cd99302f41379",
      "parents": [
        "2e57b79ccef1ff1422fdf45a9b28fe60f8f084f7"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Mar 27 15:55:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 28 04:45:37 2012 -0400"
      },
      "message": "net/ipv4: fix IPv4 multicast over network namespaces\n\nWhen using multicast over a local bridge feeding a number of LXC guests\nusing veth, the LXC guests are unable to get a response from other guests\nwhen pinging 224.0.0.1.  Multicast packets did not appear to be getting\ndelivered to the network namespaces of the guest hosts, and further\ninspection showed that the incoming route was pointing to the loopback\ndevice of the host, not the guest.  This lead to the wrong network namespace\nbeing picked up by sockets (like ICMP).  Fix this by using the correct\nnetwork namespace when creating the inbound route entry.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7dd30d447b7f4a129586cce8e57d0163dde876b0",
      "tree": "f6a3c26bccbd31e144c8c68fda979988739d4af5",
      "parents": [
        "de8856d2c11f562c60ed9340a83db4a4f829a6e6",
        "643c61e119459e9d750087b7b34be94491efebf9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 27 22:15:01 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 27 22:15:01 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n"
    },
    {
      "commit": "de8856d2c11f562c60ed9340a83db4a4f829a6e6",
      "tree": "0b871e5f4cf3204c4c6243c7622c4787d56d48ee",
      "parents": [
        "66f03c614c0902ccf7d6160459362a9352f33271",
        "94f826b8076e2cb92242061e92f21b5baa3eccc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:52:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:52:32 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n 1) Name string overrun fix in gianfar driver from Joe Perches.\n\n 2) VHOST bug fixes from Michael S. Tsirkin and Nadav Har\u0027El\n\n 3) Fix dependencies on xt_LOG netfilter module, from Pablo Neira Ayuso.\n\n 4) Fix RCU locking in xt_CT, also from Pablo Neira Ayuso.\n\n 5) Add a parameter to skb_add_rx_frag() so we can fix the truesize\n    adjustments in the drivers that use it.  The individual drivers\n    aren\u0027t fixed by this commit, but will be dealt with using follow-on\n    commits.  From Eric Dumazet.\n\n 6) Add some device IDs to qmi_wwan driver, from Andrew Bird.\n\n 7) Fix a potential rcu_read_lock() imbalancein rt6_fill_node().  From\n    Eric Dumazet.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()\n  net: add a truesize parameter to skb_add_rx_frag()\n  gianfar: Fix possible overrun and simplify interrupt name field creation\n  USB: qmi_wwan: Add ZTE (Vodafone) K3570-Z and K3571-Z net interfaces\n  USB: option: Ignore ZTE (Vodafone) K3570/71 net interfaces\n  USB: qmi_wwan: Add ZTE (Vodafone) K3565-Z and K4505-Z net interfaces\n  qlcnic: Bug fix for LRO\n  netfilter: nf_conntrack: permanently attach timeout policy to conntrack\n  netfilter: xt_CT: fix assignation of the generic protocol tracker\n  netfilter: xt_CT: missing rcu_read_lock section in timeout assignment\n  netfilter: cttimeout: fix dependency with l4protocol conntrack module\n  netfilter: xt_LOG: use CONFIG_IP6_NF_IPTABLES instead of CONFIG_IPV6\n  vhost: fix release path lockdep checks\n  vhost: don\u0027t forget to schedule()\n  tools/virtio: stub out strong barriers\n  tools/virtio: add linux/hrtimer.h stub\n  tools/virtio: add linux/module.h stub\n"
    },
    {
      "commit": "94f826b8076e2cb92242061e92f21b5baa3eccc2",
      "tree": "bb9893bf45ef93842a315b5ed8287ae1f11ae41b",
      "parents": [
        "50269e19ad990e79eeda101fc6df80cffd5d4831"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 27 09:53:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 27 18:48:35 2012 -0400"
      },
      "message": "net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()\n\nCommit f2c31e32b378 (net: fix NULL dereferences in check_peer_redir() )\nadded a regression in rt6_fill_node(), leading to rcu_read_lock()\nimbalance.\n\nThats because NLA_PUT() can make a jump to nla_put_failure label.\n\nFix this by using nla_put()\n\nMany thanks to Ben Greear for his help\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "864cf9bf99f62d2095c8e6cc3a87af80b263984e",
      "tree": "212665144bc8140dc177c41954d0eb691b602d83",
      "parents": [
        "d44fc387997c0750125cfb0c2c803a3171b649f4"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Tue Mar 27 13:46:32 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 27 16:33:35 2012 -0400"
      },
      "message": "SUNRPC: Use the already looked-up xprt in rpcb_getport_async()\n\nrbcb_getport_async() was looking up the rpc_xprt (reference++) and then\nlater looking it up again (reference++) to pass through the\nrpcbind_args.  The xprt would only be dereferenced once, when we were\ndone with the rpcbind_args (reference--).  This leaves an extra\nreference to the transport that would never go away.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d72308bff5c2fa207949a5925b020bce74495e33",
      "tree": "023e58d9a55d5439fcd1b0794b6bf095fa1115f4",
      "parents": [
        "4e808a38fdcaeeeddbc05942623279ebe7c02373"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Mon Mar 19 16:00:26 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 26 15:07:29 2012 -0400"
      },
      "message": "mac80211: fix possible tid_rx-\u003ereorder_timer use after free\n\nIs possible that we will arm the tid_rx-\u003ereorder_timer after\ndel_timer_sync() in ___ieee80211_stop_rx_ba_session(). We need to stop\ntimer after RCU grace period finish, so move it to\nieee80211_free_tid_rx(). Timer will not be armed again, as\nrcu_dereference(sta-\u003eampdu_mlme.tid_rx[tid]) will return NULL.\n\nDebug object detected problem with the following warning:\nODEBUG: free active (active state 0) object type: timer_list hint: sta_rx_agg_reorder_timer_expired+0x0/0xf0 [mac80211]\n\nBug report (with all warning messages):\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d804007\n\nReported-by: \"jan p. springer\" \u003cjsd@igroup.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b603c03e9534b9bec19ebf8c42bf217fd875ee65",
      "tree": "1f4e5cfff847387677886d91a19ffe50ca8ac74a",
      "parents": [
        "b5447ff92b5169eab843a76d83e98d0cd7b7f5b6"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Sun Mar 18 14:08:50 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 26 15:07:27 2012 -0400"
      },
      "message": "mac80211: remove outdated comment\n\nThe on-oper-channel optimization was reverted,\nso remove the outdated comment as well.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "66266b3ab4871958ed6a1e43f502cadaf3becfc8",
      "tree": "202d9da52387cd9ea0997d79c9e83bed15a9fab1",
      "parents": [
        "e92109be7a6a04808c3ed586475ba1e5ea56ecbd"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 15 13:25:41 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 26 15:07:25 2012 -0400"
      },
      "message": "cfg80211: allow CFG80211_SIGNAL_TYPE_UNSPEC in station_info\n\nThe station_info struct had demanded dBm signal values, but the\ncfg80211 wireless extensions implementation was also accepting\n\"unspecified\" (i.e. RSSI) unit values while the nl80211 code was\ncompletely unaware of them.  Resolve this by formally allowing the\n\"unspecified\" units while making nl80211 ignore them.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n"
    },
    {
      "commit": "92769108f5382a0bdb4c35eb80c183fb7797cfae",
      "tree": "8a3b8d9a2e7e23536fbcd374592341e968d2a1af",
      "parents": [
        "e9541ce8efc22c233a045f091c2b969923709038"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Mar 23 15:25:03 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:49:48 2012 -0400"
      },
      "message": "sunrpc: skip portmap calls on sessions backchannel\n\nThere\u0027s obviously no point to doing portmap calls over the sessions\nbackchannel.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b3537c35c21f0e6750aa8bd786949b55509c6d0d",
      "tree": "305421cad89e41a4feb22aa7e302124249a25ce7",
      "parents": [
        "2a4317c55438d8589a015d42912454ede12031f0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Mar 21 09:52:04 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:49:47 2012 -0400"
      },
      "message": "sunrpc: create nfsd dir in rpc_pipefs\n\nAdd a new top-level dir in rpc_pipefs to hold the pipe for the clientid\nupcall.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1df00640c9111c881633d9b219f18e66c52599ec",
      "tree": "e36d3924d84f47ec93f6650ff1fd5b8ea7d10d24",
      "parents": [
        "ab4684d1560f8d77f6ce82bd3f1f82937070d397",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Mar 21 16:42:14 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:48:54 2012 -0400"
      },
      "message": "Merge nfs containerization work from Trond\u0027s tree\n\nThe nfs containerization work is a prerequisite for Jeff Layton\u0027s reboot\nrecovery rework.\n"
    },
    {
      "commit": "50269e19ad990e79eeda101fc6df80cffd5d4831",
      "tree": "903d80ba1b1fc0eb15e122a8c12a72f72e7ed2de",
      "parents": [
        "0015e551edb1d28191567d8a7d1ce5edda404ced"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Mar 23 23:59:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 25 13:29:58 2012 -0400"
      },
      "message": "net: add a truesize parameter to skb_add_rx_frag()\n\nskb_add_rx_frag() API is misleading.\n\nNetwork skbs built with this helper can use uncharged kernel memory and\neventually stress/crash machine in OOM.\n\nAdd a \u0027truesize\u0027 parameter and then fix drivers in followup patches.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
      "tree": "1cbfd86070f724d5ffe53146d4c67edf14cccf98",
      "parents": [
        "dae430c6f6e5d0b98c238c340a41a39e221e8940",
        "4e474a00d7ff746ed177ddae14fa8b2d4bad7a00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl\n\nPull sysctl updates from Eric Biederman:\n\n - Rewrite of sysctl for speed and clarity.\n\n   Insert/remove/Lookup in sysctl are all now O(NlogN) operations, and\n   are no longer bottlenecks in the process of adding and removing\n   network devices.\n\n   sysctl is now focused on being a filesystem instead of system call\n   and the code can all be found in fs/proc/proc_sysctl.c.  Hopefully\n   this means the code is now approachable.\n\n   Much thanks is owed to Lucian Grinjincu for keeping at this until\n   something was found that was usable.\n\n - The recent proc_sys_poll oops found by the fuzzer during hibernation\n   is fixed.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl: (36 commits)\n  sysctl: protect poll() in entries that may go away\n  sysctl: Don\u0027t call sysctl_follow_link unless we are a link.\n  sysctl: Comments to make the code clearer.\n  sysctl: Correct error return from get_subdir\n  sysctl: An easier to read version of find_subdir\n  sysctl: fix memset parameters in setup_sysctl_set()\n  sysctl: remove an unused variable\n  sysctl: Add register_sysctl for normal sysctl users\n  sysctl: Index sysctl directories with rbtrees.\n  sysctl: Make the header lists per directory.\n  sysctl: Move sysctl_check_dups into insert_header\n  sysctl: Modify __register_sysctl_paths to take a set instead of a root and an nsproxy\n  sysctl: Replace root_list with links between sysctl_table_sets.\n  sysctl: Add sysctl_print_dir and use it in get_subdir\n  sysctl: Stop requiring explicit management of sysctl directories\n  sysctl: Add a root pointer to ctl_table_set\n  sysctl: Rewrite proc_sys_readdir in terms of first_entry and next_entry\n  sysctl: Rewrite proc_sys_lookup introducing find_entry and lookup_entry.\n  sysctl: Normalize the root_table data structure.\n  sysctl: Factor out insert_header and erase_header\n  ...\n"
    },
    {
      "commit": "626cf236608505d376e4799adb4f7eb00a8594af",
      "tree": "eb0421fec1a7fed05cd9ea785bd18b5f40c80971",
      "parents": [
        "5cde7656d0dd222170eb0250bd1f70c9018fd438"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hans.verkuil@cisco.com",
        "time": "Fri Mar 23 15:02:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "poll: add poll_requested_events() and poll_does_not_wait() functions\n\nIn some cases the poll() implementation in a driver has to do different\nthings depending on the events the caller wants to poll for.  An example\nis when a driver needs to start a DMA engine if the caller polls for\nPOLLIN, but doesn\u0027t want to do that if POLLIN is not requested but instead\nonly POLLOUT or POLLPRI is requested.  This is something that can happen\nin the video4linux subsystem among others.\n\nUnfortunately, the current epoll/poll/select implementation doesn\u0027t\nprovide that information reliably.  The poll_table_struct does have it: it\nhas a key field with the event mask.  But once a poll() call matches one\nor more bits of that mask any following poll() calls are passed a NULL\npoll_table pointer.\n\nAlso, the eventpoll implementation always left the key field at ~0 instead\nof using the requested events mask.\n\nThis was changed in eventpoll.c so the key field now contains the actual\nevents that should be polled for as set by the caller.\n\nThe solution to the NULL poll_table pointer is to set the qproc field to\nNULL in poll_table once poll() matches the events, not the poll_table\npointer itself.  That way drivers can obtain the mask through a new\npoll_requested_events inline.\n\nThe poll_table_struct can still be NULL since some kernel code calls it\ninternally (netfs_state_poll() in ./drivers/staging/pohmelfs/netfs.h).  In\nthat case poll_requested_events() returns ~0 (i.e.  all events).\n\nVery rarely drivers might want to know whether poll_wait will actually\nwait.  If another earlier file descriptor in the set already matched the\nevents the caller wanted to wait for, then the kernel will return from the\nselect() call without waiting.  This might be useful information in order\nto avoid doing expensive work.\n\nA new helper function poll_does_not_wait() is added that drivers can use\nto detect this situation.  This is now used in sock_poll_wait() in\ninclude/net/sock.h.  This was the only place in the kernel that needed\nthis information.\n\nDrivers should no longer access any of the poll_table internals, but use\nthe poll_requested_events() and poll_does_not_wait() access functions\ninstead.  In order to enforce that the poll_table fields are now prepended\nwith an underscore and a comment was added warning against using them\ndirectly.\n\nThis required a change in unix_dgram_poll() in unix/af_unix.c which used\nthe key field to get the requested events.  It\u0027s been replaced by a call\nto poll_requested_events().\n\nFor qproc it was especially important to change its name since the\nbehavior of that field changes with this patch since this function pointer\ncan now be NULL when that wasn\u0027t possible in the past.\n\nAny driver accessing the qproc or key fields directly will now fail to compile.\n\nSome notes regarding the correctness of this patch: the driver\u0027s poll()\nfunction is called with a \u0027struct poll_table_struct *wait\u0027 argument.  This\npointer may or may not be NULL, drivers can never rely on it being one or\nthe other as that depends on whether or not an earlier file descriptor in\nthe select()\u0027s fdset matched the requested events.\n\nThere are only three things a driver can do with the wait argument:\n\n1) obtain the key field:\n\n\tevents \u003d wait ? wait-\u003ekey : ~0;\n\n   This will still work although it should be replaced with the new\n   poll_requested_events() function (which does exactly the same).\n   This will now even work better, since wait is no longer set to NULL\n   unnecessarily.\n\n2) use the qproc callback. This could be deadly since qproc can now be\n   NULL. Renaming qproc should prevent this from happening. There are no\n   kernel drivers that actually access this callback directly, BTW.\n\n3) test whether wait \u003d\u003d NULL to determine whether poll would return without\n   waiting. This is no longer sufficient as the correct test is now\n   wait \u003d\u003d NULL || wait-\u003e_qproc \u003d\u003d NULL.\n\n   However, the worst that can happen here is a slight performance hit in\n   the case where wait !\u003d NULL and wait-\u003e_qproc \u003d\u003d NULL. In that case the\n   driver will assume that poll_wait() will actually add the fd to the set\n   of waiting file descriptors. Of course, poll_wait() will not do that\n   since it tests for wait-\u003e_qproc. This will not break anything, though.\n\n   There is only one place in the whole kernel where this happens\n   (sock_poll_wait() in include/net/sock.h) and that code will be replaced\n   by a call to poll_does_not_wait() in the next patch.\n\n   Note that even if wait-\u003e_qproc !\u003d NULL drivers cannot rely on poll_wait()\n   actually waiting. The next file descriptor from the set might match the\n   event mask and thus any possible waits will never happen.\n\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nReviewed-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nReviewed-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c6b0865aa80c4f30baa343d3d707389f738af48",
      "tree": "1bd7d780376ce67d677c2449b16a320d2d5d5f08",
      "parents": [
        "8a78335442cea429afb2b964318b6e257448ea00",
        "60b5f8f745739a4789395648595ed31ede582448"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 23 14:25:05 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 23 14:25:05 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net\n"
    },
    {
      "commit": "934e18b5cb4531cc6e81865bf54115cfd21d1ac6",
      "tree": "c9e9398648f8be6948f41bf879e8962812418088",
      "parents": [
        "a20ae85abaefb02cc0edf19c34f78d19437c1cf1",
        "8a78335442cea429afb2b964318b6e257448ea00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 10:07:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 10:07:16 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) L2TP doesn\u0027t get autoloaded when you try to open an L2TP socket due\n    to a missing module alias, fix from Benjamin LaHaise.\n\n 2) Netlabel and RDS should propagate gfp flags given to them by\n    callers, fixes from Dan Carpeneter.\n\n 3) Recursive locking fix in usbnet wasn\u0027t bulletproof and can result in\n    objects going away mid-flight due to races, fix from Ming Lei.\n\n 4) Fix up some confusion about a bool module parameter in netfilter\u0027s\n    iptable_filter and ip6table_filter, from Rusty Russell.\n\n 5) If SKB recycling is used via napi_reuse_skb() we end up with\n    different amounts of headroom reserved than we had at the original\n    SKB allocation.  Fix from Eric Dumazet.\n\n 6) Fix races in TG3 driver ring refilling, from Michael Chan.\n\n 7) We have callbacks for IPSEC replay notifiers, but some call sites\n    were not using the ops method and instead were calling one of the\n    implementations directly.  Oops.  Fix from Steffen Klassert.\n\n 8) Fix IP address validation properly in the bonding driver, the\n    previous fix only works with netlink where the subnet mask and IP\n    address are changed in one atomic operation.  When \u0027ifconfig\u0027 ioctls\n    are used the IP address and the subnet mask are changed in two\n    distinct operations.  Fix from Andy Gospodarek.\n\n 9) Provide a sky2 module operation to work around power management\n    issues with some BIOSes.  From Stephen Hemminger.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  usbnet: consider device busy at each recieved packet\n  bonding: remove entries for master_ip and vlan_ip and query devices instead\n  netfilter: remove forward module param confusion.\n  usbnet: don\u0027t clear urb-\u003edev in tx_complete\n  usbnet: increase URB reference count before usb_unlink_urb\n  xfrm: Access the replay notify functions via the registered callbacks\n  xfrm: Remove unused xfrm_state from xfrm_state_check_space\n  RDS: use gfp flags from caller in conn_alloc()\n  netlabel: use GFP flags from caller instead of GFP_ATOMIC\n  l2tp: enable automatic module loading for l2tp_ppp\n  cnic: Fix parity error code conflict\n  tg3: Fix RSS ring refill race condition\n  sky2: override for PCI legacy power management\n  net: fix napi_reuse_skb() skb reserve\n"
    },
    {
      "commit": "f63d395d47f37a4fe771e6d4b1db9d2cdae5ffc5",
      "tree": "3448a14ae965802adb963762cadeb9989ce4caa2",
      "parents": [
        "643ac9fc5429e85b8b7f534544b80bcc4f34c367",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:53:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:53:47 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.4-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client updates for Linux 3.4 from Trond Myklebust:\n \"New features include:\n   - Add NFS client support for containers.\n\n     This should enable most of the necessary functionality, including\n     lockd support, and support for rpc.statd, NFSv4 idmapper and\n     RPCSEC_GSS upcalls into the correct network namespace from which\n     the mount system call was issued.\n\n   - NFSv4 idmapper scalability improvements\n\n     Base the idmapper cache on the keyring interface to allow\n     concurrent access to idmapper entries.  Start the process of\n     migrating users from the single-threaded daemon-based approach to\n     the multi-threaded request-key based approach.\n\n   - NFSv4.1 implementation id.\n\n     Allows the NFSv4.1 client and server to mutually identify each\n     other for logging and debugging purposes.\n\n   - Support the \u0027vers\u003d4.1\u0027 mount option for mounting NFSv4.1 instead of\n     having to use the more counterintuitive \u0027vers\u003d4,minorversion\u003d1\u0027.\n\n   - SUNRPC tracepoints.\n\n     Start the process of adding tracepoints in order to improve\n     debugging of the RPC layer.\n\n   - pNFS object layout support for autologin.\n\n  Important bugfixes include:\n\n   - Fix a bug in rpc_wake_up/rpc_wake_up_status that caused them to\n     fail to wake up all tasks when applied to priority waitqueues.\n\n   - Ensure that we handle read delegations correctly, when we try to\n     truncate a file.\n\n   - A number of fixes for NFSv4 state manager loops (mostly to do with\n     delegation recovery).\"\n\n* tag \u0027nfs-for-3.4-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (224 commits)\n  NFS: fix sb-\u003es_id in nfs debug prints\n  xprtrdma: Remove assumption that each segment is \u003c\u003d PAGE_SIZE\n  xprtrdma: The transport should not bug-check when a dup reply is received\n  pnfs-obj: autologin: Add support for protocol autologin\n  NFS: Remove nfs4_setup_sequence from generic rename code\n  NFS: Remove nfs4_setup_sequence from generic unlink code\n  NFS: Remove nfs4_setup_sequence from generic read code\n  NFS: Remove nfs4_setup_sequence from generic write code\n  NFS: Fix more NFS debug related build warnings\n  SUNRPC/LOCKD: Fix build warnings when CONFIG_SUNRPC_DEBUG is undefined\n  nfs: non void functions must return a value\n  SUNRPC: Kill compiler warning when RPC_DEBUG is unset\n  SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG\n  NFS: Use cond_resched_lock() to reduce latencies in the commit scans\n  NFSv4: It is not safe to dereference lsp-\u003els_state in release_lockowner\n  NFS: ncommit count is being double decremented\n  SUNRPC: We must not use list_for_each_entry_safe() in rpc_wake_up()\n  Try using machine credentials for RENEW calls\n  NFSv4.1: Fix a few issues in filelayout_commit_pagelist\n  NFSv4.1: Clean ups and bugfixes for the pNFS read/writeback/commit code\n  ...\n"
    },
    {
      "commit": "eaddcd76903c28e84bb452a35835babb0800a2c4",
      "tree": "97e512e21955da69d434a34b4e073ba880ec7d3d",
      "parents": [
        "523f610e1be2a4afca605962e137064378883c5f"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Thu Mar 22 16:14:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 22:36:17 2012 -0400"
      },
      "message": "bonding: remove entries for master_ip and vlan_ip and query devices instead\n\nThe following patch aimed to resolve an issue where secondary, tertiary,\netc. addresses added to bond interfaces could overwrite the\nbond-\u003emaster_ip and vlan_ip values.\n\n        commit 917fbdb32f37e9a93b00bb12ee83532982982df3\n        Author: Henrik Saavedra Persson \u003chenrik.e.persson@ericsson.com\u003e\n        Date:   Wed Nov 23 23:37:15 2011 +0000\n\n            bonding: only use primary address for ARP\n\nThat patch was good because it prevented bonds using ARP monitoring from\nsending frames with an invalid source IP address.  Unfortunately, it\ndidn\u0027t always work as expected.\n\nWhen using an ioctl (like ifconfig does) to set the IP address and\nnetmask, 2 separate ioctls are actually called to set the IP and netmask\nif the mask chosen doesn\u0027t match the standard mask for that class of\naddress.  The first ioctl did not have a mask that matched the one in\nthe primary address and would still cause the device address to be\noverwritten.  The second ioctl that was called to set the mask would\nthen detect as secondary and ignored, but the damage was already done.\n\nThis was not an issue when using an application that used netlink\nsockets as the setting of IP and netmask came down at once.  The\ninconsistent behavior between those two interfaces was something that\nneeded to be resolved.\n\nWhile I was thinking about how I wanted to resolve this, Ralf Zeidler\ncame with a patch that resolved this on a RHEL kernel by keeping a full\nshadow of the entries in dev-\u003eifa_list for the bonding device and vlan\ndevices in the bonding driver.  I didn\u0027t like the duplication of the\nlist as I want to see the \u0027bonding\u0027 struct and code shrink rather than\ngrow, but liked the general idea.\n\nAs the Subject indicates this patch drops the master_ip and vlan_ip\nelements from the \u0027bonding\u0027 and \u0027vlan_entry\u0027 structs, respectively.\nThis can be done because a device\u0027s address-list is now traversed to\ndetermine the optimal source IP address for ARP requests and for checks\nto see if the bonding device has a particular IP address.  This code\ncould have all be contained inside the bonding driver, but it made more\nsense to me to EXPORT and call inet_confirm_addr since it did exactly\nwhat was needed.\n\nI tested this and a backported patch and everything works as expected.\nRalf also helped with verification of the backported patch.\n\nThanks to Ralf for all his help on this.\n\nv2: Whitespace and organizational changes based on suggestions from Jay\nVosburgh and Dave Miller.\n\nv3: Fixup incorrect usage of rcu_read_unlock based on Dave Miller\u0027s\nsuggestion.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Ralf Zeidler \u003cralf.zeidler@nsn.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "523f610e1be2a4afca605962e137064378883c5f",
      "tree": "82923297355fccb70a03c5d2108bc5a6030212a2",
      "parents": [
        "5d5440a835710d09f0ef18da5000541ec98b537a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 22 12:27:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 22:36:17 2012 -0400"
      },
      "message": "netfilter: remove forward module param confusion.\n\nIt used to be an int, and it got changed to a bool parameter at least\n7 years ago.  It happens that NF_ACCEPT and NF_DROP are 0 and 1, so\nthis works, but it\u0027s unclear, and the check that it\u0027s in range is not\nrequired.\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db1417967959569599da2a4bd0ffb93b17ad795f",
      "tree": "08751414d5f4a9e264af924154ed3543a8e573a9",
      "parents": [
        "48aab2f79dfc1357c48ce22ff5c989b52a590069",
        "c6da39f26cfe475704ec521723192e520e8f51b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 18:15:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 18:15:32 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux\n\nPull s390 patches from Martin Schwidefsky:\n \"The biggest patch is the rework of the smp code, something I wanted to\n  do for some time.  There are some patches for our various dump methods\n  and one new thing: z/VM LGR detection.  LGR stands for linux-guest-\n  relocation and is the guest migration feature of z/VM.  For debugging\n  purposes we keep a log of the systems where a specific guest has lived.\"\n\nFix up trivial conflict in arch/s390/kernel/smp.c due to the scheduler\ncleanup having removed some code next to removed s390 code.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:\n  [S390] kernel: Pass correct stack for smp_call_ipl_cpu()\n  [S390] Ensure that vmcore_info pointer is never accessed directly\n  [S390] dasd: prevent validate server for offline devices\n  [S390] Remove monolithic build option for zcrypt driver.\n  [S390] stack dump: fix indentation in output\n  [S390] kernel: Add OS info memory interface\n  [S390] Use block_sigmask()\n  [S390] kernel: Add z/VM LGR detection\n  [S390] irq: external interrupt code passing\n  [S390] irq: set __ARCH_IRQ_EXIT_IRQS_DISABLED\n  [S390] zfcpdump: Implement async sdias event processing\n  [S390] Use copy_to_absolute_zero() instead of \"stura/sturg\"\n  [S390] rework idle code\n  [S390] rework smp code\n  [S390] rename lowcore field\n  [S390] Fix gcc 4.6.0 compile warning\n"
    },
    {
      "commit": "60b5f8f745739a4789395648595ed31ede582448",
      "tree": "9b818ddc4cea729301110bbbc082c010f30dd691",
      "parents": [
        "eeb4cb952386aac764a5cf4cf2490e50a24a8880"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Mar 23 00:04:53 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Mar 23 00:52:08 2012 +0100"
      },
      "message": "netfilter: nf_conntrack: permanently attach timeout policy to conntrack\n\nWe need to permanently attach the timeout policy to the conntrack,\notherwise we may apply the custom timeout policy inconsistently.\n\nWithout this patch, the following example:\n\n nfct timeout add test inet icmp timeout 100\n iptables -I PREROUTING -t raw -p icmp -s 1.1.1.1 -j CT --timeout test\n\nWill only apply the custom timeout policy to outgoing packets from\n1.1.1.1, but not to reply packets from 2.2.2.2 going to 1.1.1.1.\n\nTo fix this issue, this patch modifies the current logic to attach the\ntimeout policy when the first packet is seen (which is when the\nconntrack entry is created). Then, we keep using the attached timeout\npolicy until the conntrack entry is destroyed.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "eeb4cb952386aac764a5cf4cf2490e50a24a8880",
      "tree": "6f22434bb52107e257493393c5da695453b893e2",
      "parents": [
        "1ac0bf99260761ad0a536ddbc15f6f9b82b9bab3"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Mar 23 00:02:07 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Mar 23 00:52:08 2012 +0100"
      },
      "message": "netfilter: xt_CT: fix assignation of the generic protocol tracker\n\n`iptables -p all\u0027 uses 0 to match all protocols, while the conntrack\nsubsystem uses 255. We still need `-p all\u0027 to attach the custom\ntimeout policies for the generic protocol tracker.\n\nMoreover, we may use `iptables -p sctp\u0027 while the SCTP tracker is\nnot loaded. In that case, we have to default on the generic protocol\ntracker.\n\nAnother possibility is `iptables -p ip\u0027 that should be supported\nas well. This patch makes sure we validate all possible scenarios.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "1ac0bf99260761ad0a536ddbc15f6f9b82b9bab3",
      "tree": "d343d753dd84c0be8742466e811835474ab87a83",
      "parents": [
        "c1ebd7dff700277e4d0a3da36833a406142e31d4"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Mar 22 23:58:41 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Mar 23 00:52:07 2012 +0100"
      },
      "message": "netfilter: xt_CT: missing rcu_read_lock section in timeout assignment\n\nFix a dereference to pointer without rcu_read_lock held.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "c1ebd7dff700277e4d0a3da36833a406142e31d4",
      "tree": "fbcfed48280d81744fe77efebb91900c7db1c776",
      "parents": [
        "a0f65a267dd62aef4e003f833ea6290fd1e07b34"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Mar 22 23:40:01 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Mar 23 00:52:01 2012 +0100"
      },
      "message": "netfilter: cttimeout: fix dependency with l4protocol conntrack module\n\nThis patch introduces nf_conntrack_l4proto_find_get() and\nnf_conntrack_l4proto_put() to fix module dependencies between\ntimeout objects and l4-protocol conntrack modules.\n\nThus, we make sure that the module cannot be removed if it is\nused by any of the cttimeout objects.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "1265fd616782ef03b98fd19f65c2b47fcd4ea11f",
      "tree": "ca6b946227f4d0f1b8419a335de1657f3e3a6aea",
      "parents": [
        "26b2072e7536e57995b2867d057fbb32ecfe498d"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Mar 21 23:36:13 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 19:29:58 2012 -0400"
      },
      "message": "xfrm: Access the replay notify functions via the registered callbacks\n\nWe call the wrong replay notify function when we use ESN replay\nhandling. This leads to the fact that we don\u0027t send notifications\nif we use ESN. Fix this by calling the registered callbacks instead\nof xfrm_replay_notify().\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26b2072e7536e57995b2867d057fbb32ecfe498d",
      "tree": "edc4ae4dd3a01a1b2059a723b699f4b8c266db2e",
      "parents": [
        "f0229eaaf3f82522e2b16b41b0f45bb84a88d1b0"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Mar 21 23:32:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 19:29:58 2012 -0400"
      },
      "message": "xfrm: Remove unused xfrm_state from xfrm_state_check_space\n\nThe xfrm_state argument is unused in this function, so remove it.\nAlso the name xfrm_state_check_space does not really match what this\nfunction does. It actually checks if we have enough head and tailroom\non the skb. So we rename the function to xfrm_skb_check_space.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0229eaaf3f82522e2b16b41b0f45bb84a88d1b0",
      "tree": "dfe2f90e6aeb6d4a4406300f48c24e11b2ee8995",
      "parents": [
        "64b5fad526f63e9b56752a7e8e153b99ec0ddecd"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Mar 21 20:44:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 19:29:58 2012 -0400"
      },
      "message": "RDS: use gfp flags from caller in conn_alloc()\n\nWe should be using the gfp flags the caller specified here, instead of\nGFP_KERNEL.  I think this might be a bugfix, depending on the value of\n\"sock-\u003esk-\u003esk_allocation\" when we call rds_conn_create_outgoing() in\nrds_sendmsg().  Otherwise, it\u0027s just a cleanup.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Venkat Venkatsubra \u003cvenkat.x.venkatsubra@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64b5fad526f63e9b56752a7e8e153b99ec0ddecd",
      "tree": "4c9b7796fc958bd760e64b0726da01c62a6db9ec",
      "parents": [
        "9395a09d05a23bb313cd20c99fb234f308d948b3"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Mar 21 20:41:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 19:29:57 2012 -0400"
      },
      "message": "netlabel: use GFP flags from caller instead of GFP_ATOMIC\n\nThis function takes a GFP flags as a parameter, but they are never used.\nWe don\u0027t take a lock in this function so there is no reason to prefer\nGFP_ATOMIC over the caller\u0027s GFP flags.\n\nThere is only one caller, cipso_v4_map_cat_rng_ntoh(), and it passes\nGFP_ATOMIC as the GFP flags so this doesn\u0027t change how the code works.\nIt\u0027s just a cleanup.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d63e318c4eb1bea6f7e3cb4b77849eaa167bfec",
      "tree": "4783d4d0ab9a5d9c17e8eb0f93b0d279ad1b879a",
      "parents": [
        "9bd1966344bf975b5ce65e80fd6bacc41b4325a8"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Mar 07 11:40:08 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:52 2012 -0500"
      },
      "message": "libceph: isolate kmap() call in write_partial_msg_pages()\n\nIn write_partial_msg_pages(), every case now does an identical call\nto kmap(page).  Instead, just call it once inside the CRC-computing\nblock where it\u0027s needed.  Move the definition of kaddr inside that\nblock, and make it a (char *) to ensure portable pointer arithmetic.\n\nWe still don\u0027t kunmap() it until after the sendpage() call, in case\nthat also ends up needing to use the mapping.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nReviewed-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9bd1966344bf975b5ce65e80fd6bacc41b4325a8",
      "tree": "86ff9e21f79e3d20b1d8feda4bc8000fe18069da",
      "parents": [
        "0cdf9e60189a87356a865a96dbafc2240af5c91d"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Mar 07 11:40:08 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:52 2012 -0500"
      },
      "message": "libceph: rename \"page_shift\" variable to something sensible\n\nIn write_partial_msg_pages() there is a local variable used to\ntrack the starting offset within a bio segment to use.  Its name,\n\"page_shift\" defies the Linux convention of using that name for\nlog-base-2(page size).\n\nSince it\u0027s only used in the bio case rename it \"bio_offset\".  Use it\nalong with the page_pos field to compute the memory offset when\ncomputing CRC\u0027s in that function.  This makes the bio case match the\nothers more closely.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nReviewed-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0cdf9e60189a87356a865a96dbafc2240af5c91d",
      "tree": "832d6059c472d2d8777a9819a0ecb7b945167a1f",
      "parents": [
        "e36b13cceb46136d849aeee06b4907ad3570ba78"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Mar 07 11:40:08 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:52 2012 -0500"
      },
      "message": "libceph: get rid of zero_page_address\n\nThere\u0027s not a lot of benefit to zero_page_address, which basically\nholds a mapping of the zero page through the life of the messenger\nmodule.  Even with our own mapping, the sendpage interface where\nit\u0027s used may need to kmap() it again.  It\u0027s almost certain to\nbe in low memory anyway.\n\nSo stop treating the zero page specially in write_partial_msg_pages()\nand just get rid of zero_page_address entirely.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nReviewed-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e36b13cceb46136d849aeee06b4907ad3570ba78",
      "tree": "ec2ff06bed82d719c9f68183ac19db483380af33",
      "parents": [
        "31739139f3ed7be802dd9019ec8d8cc910e3d241"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Mar 07 11:40:08 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:52 2012 -0500"
      },
      "message": "libceph: only call kernel_sendpage() via helper\n\nMake ceph_tcp_sendpage() be the only place kernel_sendpage() is\nused, by using this helper in write_partial_msg_pages().\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nReviewed-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "31739139f3ed7be802dd9019ec8d8cc910e3d241",
      "tree": "3182393002d7a8e29d230e30aa4920d7de737530",
      "parents": [
        "37675b0f42a8f7699c3602350d1c3b2a1698a3d3"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Mar 07 11:40:08 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: use kernel_sendpage() for sending zeroes\n\nIf a message queued for send gets revoked, zeroes are sent over the\nwire instead of any unsent data.  This is done by constructing a\nmessage and passing it to kernel_sendmsg() via ceph_tcp_sendmsg().\n\nSince we are already working with a page in this case we can use\nthe sendpage interface instead.  Create a new ceph_tcp_sendpage()\nhelper that sets up flags to match the way ceph_tcp_sendmsg()\ndoes now.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nReviewed-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "37675b0f42a8f7699c3602350d1c3b2a1698a3d3",
      "tree": "17717f3bcd3eea065d0d08e49699af6dbec7c0ff",
      "parents": [
        "84495f496170a73ed79667b7fbf91947b7f47c87"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Mar 07 11:40:08 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: fix inverted crc option logic\n\nCRC\u0027s are computed for all messages between ceph entities.  The CRC\ncomputation for the data portion of message can optionally be\ndisabled using the \"nocrc\" (common) ceph option.  The default is\nfor CRC computation for the data portion to be enabled.\n\nUnfortunately, the code that implements this feature interprets the\nfeature flag wrong, meaning that by default the CRC\u0027s have *not*\nbeen computed (or checked) for the data portion of messages unless\nthe \"nocrc\" option was supplied.\n\nFix this, in write_partial_msg_pages() and read_partial_message().\nAlso change the flag variable in write_partial_msg_pages() to be\n\"no_datacrc\" to match the usage elsewhere in the file.\n\nThis fixes http://tracker.newdream.net/issues/2064\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nReviewed-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "84495f496170a73ed79667b7fbf91947b7f47c87",
      "tree": "c36204466b0dc85b39c187f78275c3b25925b15c",
      "parents": [
        "f42299e6c3883c69c14079b8c88fe33815b2dcc3"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Feb 15 07:43:55 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: some simple changes\n\nNothing too big here.\n    - define the size of the buffer used for consuming ignored\n      incoming data using a symbolic constant\n    - simplify the condition determining whether to unmap the page\n      in write_partial_msg_pages(): do it for crc but not if the\n      page is the zero page\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f42299e6c3883c69c14079b8c88fe33815b2dcc3",
      "tree": "f94d09a6438705bff01311dbe7cd426d1a800ff5",
      "parents": [
        "fe3ad593e2c34457ffa6233014ab19f4d36f85f2"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Feb 15 07:43:54 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: small refactor in write_partial_kvec()\n\nMake a small change in the code that counts down kvecs consumed by\na ceph_tcp_sendmsg() call.  Same functionality, just blocked out\na little differently.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fe3ad593e2c34457ffa6233014ab19f4d36f85f2",
      "tree": "eed6ceddbca3021e7492a1baaf658922e2aa8a6c",
      "parents": [
        "a9a0c51af4e7c825c014b40694571456a75ebbc4"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Feb 15 07:43:54 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: do crc calculations outside loop\n\nMove blocks of code out of loops in read_partial_message_section()\nand read_partial_message().  They were only was getting called at\nthe end of the last iteration of the loop anyway.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a9a0c51af4e7c825c014b40694571456a75ebbc4",
      "tree": "6df7b2873d21f3c9c5e449aca1d8c16f4dd5fc1d",
      "parents": [
        "bca064d236a2e3162a07c758855221bcbe3c475b"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Feb 15 07:43:54 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: separate CRC calculation from byte swapping\n\nCalculate CRC in a separate step from rearranging the byte order\nof the result, to improve clarity and readability.\n\nUse offsetof() to determine the number of bytes to include in the\nCRC calculation.\n\nIn read_partial_message(), switch which value gets byte-swapped,\nsince the just-computed CRC is already likely to be in a register.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "bca064d236a2e3162a07c758855221bcbe3c475b",
      "tree": "49fca3de9007fa6cc5304bd8d7851d28cbe33110",
      "parents": [
        "cffaba15cd95d4a16eb5a6aa5c22a79f67d555ab"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Feb 15 07:43:54 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: use \"do\" in CRC-related Boolean variables\n\nChange the name (and type) of a few CRC-related Boolean local\nvariables so they contain the word \"do\", to distingish their purpose\nfrom variables used for holding an actual CRC value.\n\nNote that in the process of doing this I identified a fairly serious\nlogic error in write_partial_msg_pages():  the value of \"do_crc\"\nassigned appears to be the opposite of what it should be.  No\nattempt to fix this is made here; this change preserves the\nerroneous behavior.  The problem I found is documented here:\n    http://tracker.newdream.net/issues/2064\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cffaba15cd95d4a16eb5a6aa5c22a79f67d555ab",
      "tree": "d752174022e8444c70afb27e798e032163f89ac9",
      "parents": [
        "d3002b974cefbb7c1e325cc296966f768ff76b06"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Feb 15 07:43:54 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "ceph: ensure Boolean options support both senses\n\nMany ceph-related Boolean options offer the ability to both enable\nand disable a feature.  For all those that don\u0027t offer this, add\na new option so that they do.\n\nNote that ceph_show_options()--which reports mount options currently\nin effect--only reports the option if it is different from the\ndefault value.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d3002b974cefbb7c1e325cc296966f768ff76b06",
      "tree": "8685d72f6530959c4e19c4c9f3a12709ec1f4b08",
      "parents": [
        "41617d0c9c9832e030667277ddf6b4ffb4ecdc90"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 14 14:05:33 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: a few small changes\n\nThis gathers a number of very minor changes:\n    - use %hu when formatting the a socket address\u0027s address family\n    - null out the ceph_msgr_wq pointer after the queue has been\n      destroyed\n    - drop a needless cast in ceph_write_space()\n    - add a WARN() call in ceph_state_change() in the event an\n      unrecognized socket state is encountered\n    - rearrange the logic in ceph_con_get() and ceph_con_put() so\n      that:\n        - the reference counts are only atomically read once\n\t- the values displayed via dout() calls are known to\n\t  be meaningful at the time they are formatted\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "41617d0c9c9832e030667277ddf6b4ffb4ecdc90",
      "tree": "6f943ada9195e794d84506b818ad3d8f0b9a49b9",
      "parents": [
        "6173d1f02fb19c0fba02857ae4e1109b5ec95034"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 14 14:05:33 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:51 2012 -0500"
      },
      "message": "libceph: make ceph_tcp_connect() return int\n\nThere is no real need for ceph_tcp_connect() to return the socket\npointer it creates, since it already assigns it to con-\u003esock, which\nis visible to the caller.  Instead, have it return an error code,\nwhich tidies things up a bit.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6173d1f02fb19c0fba02857ae4e1109b5ec95034",
      "tree": "c837bfe920220d138ba99d8fac2ac781bb2a44ac",
      "parents": [
        "e0f43c9419c1900e5b50de4261e9686a45a0a2b8"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 14 14:05:33 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "libceph: encapsulate some messenger cleanup code\n\nDefine a helper function to perform various cleanup operations.  Use\nit both in the exit routine and in the init routine in the event of\nan error.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e0f43c9419c1900e5b50de4261e9686a45a0a2b8",
      "tree": "28a0452e2bc223513b376f9db711f878a848bddc",
      "parents": [
        "859eb7994876f26fd9f52d9589fbcab8e2fe8069"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 14 14:05:33 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "libceph: make ceph_msgr_wq private\n\nThe messenger workqueue has no need to be public.  So give it static\nscope.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "859eb7994876f26fd9f52d9589fbcab8e2fe8069",
      "tree": "128067d342a4937228ac5c307c153b9b95ec254e",
      "parents": [
        "963be4d7709f84d865f76d12d5b0ec7edad1c498"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 14 14:05:33 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "libceph: encapsulate connection kvec operations\n\nEncapsulate the operation of adding a new chunk of data to the next\nopen slot in a ceph_connection\u0027s out_kvec array.  Also add a \"reset\"\noperation to make subsequent add operations start at the beginning\nof the array again.\n\nUse these routines throughout, avoiding duplicate code and ensuring\nall calls are handled consistently.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "963be4d7709f84d865f76d12d5b0ec7edad1c498",
      "tree": "798e98459427acc942228c42a69c3bc4ff3308bd",
      "parents": [
        "32eec68d2f233e8a6ae1cd326022f6862e2b9ce3"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 14 14:05:33 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "libceph: move prepare_write_banner()\n\nOne of the arguments to prepare_write_connect() indicates whether it\nis being called immediately after a call to prepare_write_banner().\nMove the prepare_write_banner() call inside prepare_write_connect(),\nand reinterpret (and rename) the \"after_banner\" argument so it\nindicates that prepare_write_connect() should *make* the call\nrather than should know it has already been made.\n\nThis was split out from the next patch to highlight this change in\nlogic.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ee57741c5209154b8ef124bcaa2496da1b69a988",
      "tree": "248a6e7bf259bb849f885f1ff4a82be74ab4913b",
      "parents": [
        "2107978668de13da484f7abc3f03516494c7fca9"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Jan 24 10:08:36 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: make ceph_parse_options() return a pointer\n\nceph_parse_options() takes the address of a pointer as an argument\nand uses it to return the address of an allocated structure if\nsuccessful.  With this interface is not evident at call sites that\nthe pointer is always initialized.  Change the interface to return\nthe address instead (or a pointer-coded error code) to make the\nvalidity of the returned pointer obvious.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "99f0f3b2c4be15784bb4ede33b5f2c3f7861dba7",
      "tree": "356e82e59845aeb418f7975a4f8be1fb34de717e",
      "parents": [
        "bd406145129e8724cc71b65ff2a788dbd4d60c50"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Mon Jan 23 15:49:27 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:45 2012 -0500"
      },
      "message": "ceph: eliminate some abusive casts\n\nThis fixes some spots where a type cast to (void *) was used as\nas a universal type hiding mechanism.  Instead, properly cast the\ntype to the intended target type.\n\nSigned-off-by: Alex Elder \u003celder@newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "bd406145129e8724cc71b65ff2a788dbd4d60c50",
      "tree": "51ba39087c13296256c0af6e5785dc3345a654f8",
      "parents": [
        "f64a93172b97dcfcfa68f595652220653562f605"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Mon Jan 23 15:49:27 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:45 2012 -0500"
      },
      "message": "ceph: eliminate some needless casts\n\nThis eliminates type casts in some places where they are not\nrequired.\n\nSigned-off-by: Alex Elder \u003celder@newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f64a93172b97dcfcfa68f595652220653562f605",
      "tree": "7553ae9e69417d41467431e43b2b8e0d0694ded1",
      "parents": [
        "a5bc3129a296fd4663c3ef0be5575e82453739dd"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Mon Jan 23 15:49:27 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:45 2012 -0500"
      },
      "message": "ceph: kill addr_str_lock spinlock; use atomic instead\n\nA spinlock is used to protect a value used for selecting an array\nindex for a string used for formatting a socket address for human\nconsumption.  The index is reset to 0 if it ever reaches the maximum\nindex value.\n\nInstead, use an ever-increasing atomic variable as a sequence\nnumber, and compute the array index by masking off all but the\nsequence number\u0027s lowest bits.  Make the number of entries in the\narray a power of two to allow the use of such a mask (to avoid jumps\nin the index value when the sequence number wraps).\n\nThe length of these strings is somewhat arbitrarily set at 60 bytes.\nThe worst-case length of a string produced is 54 bytes, for an IPv6\naddress that can\u0027t be shortened, e.g.:\n    [1234:5678:9abc:def0:1111:2222:123.234.210.100]:32767\nChange it so we arbitrarily use 64 bytes instead; if nothing else\nit will make the array of these line up better in hex dumps.\n\nRename a few things to reinforce the distinction between the number\nof strings in the array and the length of individual strings.\n\nSigned-off-by: Alex Elder \u003celder@newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a5bc3129a296fd4663c3ef0be5575e82453739dd",
      "tree": "96024ed3b2cb7afef2fe860da26be030ec483e0b",
      "parents": [
        "5766651971e81298732466c9aa462ff47898ba37"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Mon Jan 23 15:49:27 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:45 2012 -0500"
      },
      "message": "ceph: make use of \"else\" where appropriate\n\nRearrange ceph_tcp_connect() a bit, making use of \"else\" rather than\nre-testing a value with consecutive \"if\" statements.  Don\u0027t record a\nconnection\u0027s socket pointer unless the connect operation is\nsuccessful.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5766651971e81298732466c9aa462ff47898ba37",
      "tree": "147bfd12f3b335d6b2fdb2af162c582a58c33fe5",
      "parents": [
        "80834312a4da1405a9bc788313c67643de6fcb4c"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Mon Jan 23 15:49:27 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:45 2012 -0500"
      },
      "message": "ceph: use a shared zero page rather than one per messenger\n\nEach messenger allocates a page to be used when writing zeroes\nout in the event of error or other abnormal condition.  Instead,\nuse the kernel ZERO_PAGE() for that purpose.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "64486697771cbe219fffcb5c8e2ed9ca4fdf086c",
      "tree": "a623eebb8105ae8e7585c7faaf171729a9cbadbb",
      "parents": [
        "810339ec2fae5cbd0164b8acde7fb65652755864"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Thu Feb 16 11:55:48 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:45 2012 -0500"
      },
      "message": "libceph: fix overflow check in crush_decode()\n\nThe existing overflow check (n \u003e ULONG_MAX / b) didn\u0027t work, because\nn \u003d ULONG_MAX / b would both bypass the check and still overflow the\nallocation size a + n * b.\n\nThe correct check should be (n \u003e (ULONG_MAX - a) / b).\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "182fac2689b769a96e7fc9defcd560c5cca92b1e",
      "tree": "1944b5db730a3157cd8f3d2e50fa88db263c5114",
      "parents": [
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "Jim Schutt",
        "email": "jaschut@sandia.gov",
        "time": "Wed Feb 29 08:30:58 2012 -0700"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:45 2012 -0500"
      },
      "message": "net/ceph: Only clear SOCK_NOSPACE when there is sufficient space in the socket buffer\n\nThe Ceph messenger would sometimes queue multiple work items to write\ndata to a socket when the socket buffer was full.\n\nFix this problem by making ceph_write_space() use SOCK_NOSPACE in the\nsame way that net/core/stream.c:sk_stream_write_space() does, i.e.,\nclearing it only when sufficient space is available in the socket buffer.\n\nSigned-off-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nReviewed-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "a0f65a267dd62aef4e003f833ea6290fd1e07b34",
      "tree": "b37ba10499aca354aa66b23dfe0d4b7a26d6ee61",
      "parents": [
        "5676cc7bfe1e388e87843f71daa229610385b41e"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Mar 10 12:15:15 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Mar 22 11:50:56 2012 +0100"
      },
      "message": "netfilter: xt_LOG: use CONFIG_IP6_NF_IPTABLES instead of CONFIG_IPV6\n\nThis fixes the following linking error:\n\nxt_LOG.c:(.text+0x789b1): undefined reference to `ip6t_ext_hdr\u0027\n\nifdefs have to use CONFIG_IP6_NF_IPTABLES instead of CONFIG_IPV6.\n\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "9395a09d05a23bb313cd20c99fb234f308d948b3",
      "tree": "c0850e712e9b93eef264712a9868b150d15e70ce",
      "parents": [
        "8ec3e70207486bbd3e2d3c0d6b809116ccd4f219"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Mar 20 14:01:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 21 22:14:56 2012 -0400"
      },
      "message": "l2tp: enable automatic module loading for l2tp_ppp\n\nWhen L2TP is configured as a module, requests for L2TP sockets do not result\nin the l2tp_ppp module being loaded.  Fix this by adding the appropriate\nMODULE_ALIAS to be recognized by pppox\u0027s request_module() call.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a2a459eeeff48640dc557548ce576d666ab06ed",
      "tree": "01d4a817920961ff68d8bfca618d2d62817a4169",
      "parents": [
        "3556485f1595e3964ba539e39ea682acbb835cee"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 21 06:58:03 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 21 16:52:09 2012 -0400"
      },
      "message": "net: fix napi_reuse_skb() skb reserve\n\nnapi-\u003eskb is allocated in napi_get_frags() using\nnetdev_alloc_skb_ip_align(), with a reserve of NET_SKB_PAD +\nNET_IP_ALIGN bytes.\n\nHowever, when such skb is recycled in napi_reuse_skb(), it ends with a\nreserve of NET_IP_ALIGN which is suboptimal.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "3556485f1595e3964ba539e39ea682acbb835cee",
      "tree": "7f5ee254f425b1427ac0059b5f347a307f8538a1",
      "parents": [
        "b8716614a7cc2fc15ea2a518edd04755fb08d922",
        "09f61cdbb32a9d812c618d3922db533542736bb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:25:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:25:04 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security subsystem updates for 3.4 from James Morris:\n \"The main addition here is the new Yama security module from Kees Cook,\n  which was discussed at the Linux Security Summit last year.  Its\n  purpose is to collect miscellaneous DAC security enhancements in one\n  place.  This also marks a departure in policy for LSM modules, which\n  were previously limited to being standalone access control systems.\n  Chromium OS is using Yama, and I believe there are plans for Ubuntu,\n  at least.\n\n  This patchset also includes maintenance updates for AppArmor, TOMOYO\n  and others.\"\n\nFix trivial conflict in \u003cnet/sock.h\u003e due to the jumo_label-\u003estatic_key\nrename.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (38 commits)\n  AppArmor: Fix location of const qualifier on generated string tables\n  TOMOYO: Return error if fails to delete a domain\n  AppArmor: add const qualifiers to string arrays\n  AppArmor: Add ability to load extended policy\n  TOMOYO: Return appropriate value to poll().\n  AppArmor: Move path failure information into aa_get_name and rename\n  AppArmor: Update dfa matching routines.\n  AppArmor: Minor cleanup of d_namespace_path to consolidate error handling\n  AppArmor: Retrieve the dentry_path for error reporting when path lookup fails\n  AppArmor: Add const qualifiers to generated string tables\n  AppArmor: Fix oops in policy unpack auditing\n  AppArmor: Fix error returned when a path lookup is disconnected\n  KEYS: testing wrong bit for KEY_FLAG_REVOKED\n  TOMOYO: Fix mount flags checking order.\n  security: fix ima kconfig warning\n  AppArmor: Fix the error case for chroot relative path name lookup\n  AppArmor: fix mapping of META_READ to audit and quiet flags\n  AppArmor: Fix underflow in xindex calculation\n  AppArmor: Fix dropping of allowed operations that are force audited\n  AppArmor: Add mising end of structure test to caps unpacking\n  ...\n"
    },
    {
      "commit": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "9b78145c0f280d4f01c460d6251eab2584181fa9",
      "tree": "09f0f8b13541db68f23e73be122129a9ee4e4dcb",
      "parents": [
        "4a6862b3649d705bf41a36e3c7943d0322a9ee27"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Mon Feb 20 13:07:57 2012 -0600"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:47 2012 -0400"
      },
      "message": "xprtrdma: Remove assumption that each segment is \u003c\u003d PAGE_SIZE\n\nThe xprtrdma FRMR mapping logic assumes that a segment is \u003c\u003d PAGE_SIZE.\nThis is not true for NFS4.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a6862b3649d705bf41a36e3c7943d0322a9ee27",
      "tree": "d4e53e6f1c1b53716a373bb316e408653d28a8ef",
      "parents": [
        "18d98f6c04991dd3c12acf6f39cea40e9510640a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Mon Feb 20 13:07:42 2012 -0600"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:47 2012 -0400"
      },
      "message": "xprtrdma: The transport should not bug-check when a dup reply is received\n\nThe client side RDMA transport will bug check if it receives a duplicate\nreply, instead we should simply drop the duplicate reply.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ffa94db6042e6fd014ae0bed8832ac707ef2afe9",
      "tree": "c2e98dc23546be53b311bf4eb010e824709e4d76",
      "parents": [
        "9304a8120a6ac06d08874d2aec76f52d3376dfe4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 20 09:22:00 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:44 2012 -0400"
      },
      "message": "SUNRPC/LOCKD: Fix build warnings when CONFIG_SUNRPC_DEBUG is undefined\n\nStephen Rothwell reports:\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_enc_mapping\u0027:\nnet/sunrpc/rpcb_clnt.c:820:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_dec_getport\u0027:\nnet/sunrpc/rpcb_clnt.c:837:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_dec_set\u0027:\nnet/sunrpc/rpcb_clnt.c:860:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_enc_getaddr\u0027:\nnet/sunrpc/rpcb_clnt.c:892:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_dec_getaddr\u0027:\nnet/sunrpc/rpcb_clnt.c:914:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nfs/lockd/svclock.c:49:20: warning: \u0027nlmdbg_cookie2a\u0027 declared \u0027static\u0027 but never defined [-Wunused-function]\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
      "tree": "7211df5704b743a7667159748c670a9744164482",
      "parents": [
        "d464c92b5234227c1698862a1906827e2e398ae0",
        "f1f996b66cc3908a8f5ffccc2ff41840e92f3b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"It\u0027s indeed trivial -- mostly documentation updates and a bunch of\n  typo fixes from Masanari.\n\n  There are also several linux/version.h include removals from Jesper.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)\n  kcore: fix spelling in read_kcore() comment\n  constify struct pci_dev * in obvious cases\n  Revert \"char: Fix typo in viotape.c\"\n  init: fix wording error in mm_init comment\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  Revert \"power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c\"\n  writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header\n  writeback: fix typo in the writeback_control comment\n  Documentation: Fix multiple typo in Documentation\n  tpm_tis: fix tis_lock with respect to RCU\n  Revert \"media: Fix typo in mixer_drv.c and hdmi_drv.c\"\n  Doc: Update numastat.txt\n  qla4xxx: Add missing spaces to error messages\n  compiler.h: Fix typo\n  security: struct security_operations kerneldoc fix\n  Documentation: broken URL in libata.tmpl\n  Documentation: broken URL in filesystems.tmpl\n  mtd: simplify return logic in do_map_probe()\n  mm: fix comment typo of truncate_inode_pages_range\n  power: bq27x00: Fix typos in comment\n  ...\n"
    },
    {
      "commit": "3b59bf081622b6446db77ad06c93fe23677bc533",
      "tree": "3f4bb5a27c90cc86994a1f6d3c53fbf9208003cb",
      "parents": [
        "e45836fafe157df137a837093037f741ad8f4c90",
        "bbdb32cb5b73597386913d052165423b9d736145"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking merge from David Miller:\n \"1) Move ixgbe driver over to purely page based buffering on receive.\n     From Alexander Duyck.\n\n  2) Add receive packet steering support to e1000e, from Bruce Allan.\n\n  3) Convert TCP MD5 support over to RCU, from Eric Dumazet.\n\n  4) Reduce cpu usage in handling out-of-order TCP packets on modern\n     systems, also from Eric Dumazet.\n\n  5) Support the IP{,V6}_UNICAST_IF socket options, making the wine\n     folks happy, from Erich Hoover.\n\n  6) Support VLAN trunking from guests in hyperv driver, from Haiyang\n     Zhang.\n\n  7) Support byte-queue-limtis in r8169, from Igor Maravic.\n\n  8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but\n     was never properly implemented, Jiri Benc fixed that.\n\n  9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.\n\n  10) Support kernel side dump filtering by ctmark in netfilter\n      ctnetlink, from Pablo Neira Ayuso.\n\n  11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.\n\n  12) Add new peek socket options to assist with socket migration, from\n      Pavel Emelyanov.\n\n  13) Add sch_plug packet scheduler whose queue is controlled by\n      userland daemons using explicit freeze and release commands.  From\n      Shriram Rajagopalan.\n\n  14) Fix FCOE checksum offload handling on transmit, from Yi Zou.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)\n  Fix pppol2tp getsockname()\n  Remove printk from rds_sendmsg\n  ipv6: fix incorrent ipv6 ipsec packet fragment\n  cpsw: Hook up default ndo_change_mtu.\n  net: qmi_wwan: fix build error due to cdc-wdm dependecy\n  netdev: driver: ethernet: Add TI CPSW driver\n  netdev: driver: ethernet: add cpsw address lookup engine support\n  phy: add am79c874 PHY support\n  mlx4_core: fix race on comm channel\n  bonding: send igmp report for its master\n  fs_enet: Add MPC5125 FEC support and PHY interface selection\n  net: bpf_jit: fix BPF_S_LDX_B_MSH compilation\n  net: update the usage of CHECKSUM_UNNECESSARY\n  fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n  net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso\n  ixgbe: Fix issues with SR-IOV loopback when flow control is disabled\n  net/hyperv: Fix the code handling tx busy\n  ixgbe: fix namespace issues when FCoE/DCB is not enabled\n  rtlwifi: Remove unused ETH_ADDR_LEN defines\n  igbvf: Use ETH_ALEN\n  ...\n\nFix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and\ndrivers/net/usb/{Kconfig,qmi_wwan.c} as per David.\n"
    },
    {
      "commit": "68ac1234fb949b66941d94dce4157742799fc581",
      "tree": "04059b7dbaed92d672b8ceef1fcf25c6185e06f8",
      "parents": [
        "40ffe67d2e89c7a475421d007becc11a2f88ea3d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 15 08:21:57 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:41 2012 -0400"
      },
      "message": "switch touch_atime to struct path\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "40ffe67d2e89c7a475421d007becc11a2f88ea3d",
      "tree": "5373e71b18895b9ffd8370a88aec6c54438240a0",
      "parents": [
        "38eff2892628fa5c4fc8962a17b7296f42833ebe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 14 21:54:32 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:41 2012 -0400"
      },
      "message": "switch unix_sock to struct path\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "48fde701aff662559b38d9a609574068f22d00fe",
      "tree": "aa6b203dc671b51d58575b65eb08310ff8309b60",
      "parents": [
        "6b4231e2f92adbcf96fb2a3fa751d7ca0a61b21f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 22:15:13 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:35 2012 -0400"
      },
      "message": "switch open-coded instances of d_make_root() to new helper\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0d9cabdccedb79ee5f27b77ff51f29a9e7d23275",
      "tree": "8bfb64c3672d058eb90aec3c3a9c4f61cef9097c",
      "parents": [
        "701085b219016d38f105b031381b9cee6200253a",
        "3ce3230a0cff484e5130153f244d4fb8a56b3a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Out of the 8 commits, one fixes a long-standing locking issue around\n  tasklist walking and others are cleanups.\"\n\n* \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: Walk task list under tasklist_lock in cgroup_enable_task_cg_list\n  cgroup: Remove wrong comment on cgroup_enable_task_cg_list()\n  cgroup: remove cgroup_subsys argument from callbacks\n  cgroup: remove extra calls to find_existing_css_set\n  cgroup: replace tasklist_lock with rcu_read_lock\n  cgroup: simplify double-check locking in cgroup_attach_proc\n  cgroup: move struct cgroup_pidlist out from the header file\n  cgroup: remove cgroup_attach_task_current_cg()\n"
    },
    {
      "commit": "bbdb32cb5b73597386913d052165423b9d736145",
      "tree": "7eaad4e895ed2947eb75d6320df8460c01d1bf6c",
      "parents": [
        "a6506e1486181975d318344143aca722b2b91621"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Mar 20 03:57:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 20 16:12:11 2012 -0400"
      },
      "message": "Fix pppol2tp getsockname()\n\nWhile testing L2TP functionality, I came across a bug in getsockname().  The\nIP address returned within the pppol2tp_addr\u0027s addr memember was not being\nset to the IP  address in use.  This bug is caused by using inet_sk() on the\nwrong socket (the L2TP socket rather than the underlying UDP socket), and was\nlikely introduced during the addition of L2TPv3 support.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6506e1486181975d318344143aca722b2b91621",
      "tree": "3ce23cc057dc6c3dc3e643653882853379df5677",
      "parents": [
        "1f85851e17b64cabd089a8a8839dddebc627948c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 19 13:01:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 20 16:12:11 2012 -0400"
      },
      "message": "Remove printk from rds_sendmsg\n\nno socket layer outputs a message for this error and neither should rds.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "843ec558f91b8e8fdb6efc908f2c0506407cc750",
      "tree": "1866dccbc298390fc8686875942324075fd83f9d",
      "parents": [
        "71e7ff2578c3bc67fd893a9ba7f69fd563f271de",
        "fb8ebec00b04f921ea1614a7303f1a8e5e9e47c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:24:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:24:39 2012 -0700"
      },
      "message": "Merge tag \u0027tty-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull TTY/serial patches from Greg KH:\n \"tty and serial merge for 3.4-rc1\n\n  Here\u0027s the big serial and tty merge for the 3.4-rc1 tree.\n\n  There\u0027s loads of fixes and reworks in here from Jiri for the tty\n  layer, and a number of patches from Alan to help try to wrestle the vt\n  layer into a sane model.\n\n  Other than that, lots of driver updates and fixes, and other minor\n  stuff, all detailed in the shortlog.\"\n\n* tag \u0027tty-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (132 commits)\n  serial: pxa: add clk_prepare/clk_unprepare calls\n  TTY: Wrong unicode value copied in con_set_unimap()\n  serial: PL011: clear pending interrupts\n  serial: bfin-uart: Don\u0027t access tty circular buffer in TX DMA interrupt after it is reset.\n  vt: NULL dereference in vt_do_kdsk_ioctl()\n  tty: serial: vt8500: fix annotations for probe/remove\n  serial: remove back and forth conversions in serial_out_sync\n  serial: use serial_port_in/out vs serial_in/out in 8250\n  serial: introduce generic port in/out helpers\n  serial: reduce number of indirections in 8250 code\n  serial: delete useless void casts in 8250.c\n  serial: make 8250\u0027s serial_in shareable to other drivers.\n  serial: delete last unused traces of pausing I/O in 8250\n  pch_uart: Add module parameter descriptions\n  pch_uart: Use existing default_baud in setup_console\n  pch_uart: Add user_uartclk parameter\n  pch_uart: Add Fish River Island II uart clock quirks\n  pch_uart: Use uartclk instead of base_baud\n  mpc5200b/uart: select more tolerant uart prescaler on low baudrates\n  tty: moxa: fix bit test in moxa_start()\n  ...\n"
    },
    {
      "commit": "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
      "tree": "0dbb83e57260ea7fc0dc421f214d5f1b26262005",
      "parents": [
        "0bbfcaff9b2a69c71a95e6902253487ab30cb498",
        "bea95c152dee1791dd02cbc708afbb115bb00f9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf events changes for v3.4 from Ingo Molnar:\n\n - New \"hardware based branch profiling\" feature both on the kernel and\n   the tooling side, on CPUs that support it.  (modern x86 Intel CPUs\n   with the \u0027LBR\u0027 hardware feature currently.)\n\n   This new feature is basically a sophisticated \u0027magnifying glass\u0027 for\n   branch execution - something that is pretty difficult to extract from\n   regular, function histogram centric profiles.\n\n   The simplest mode is activated via \u0027perf record -b\u0027, and the result\n   looks like this in perf report:\n\n\t$ perf record -b any_call,u -e cycles:u branchy\n\n\t$ perf report -b --sort\u003dsymbol\n\t    52.34%  [.] main                   [.] f1\n\t    24.04%  [.] f1                     [.] f3\n\t    23.60%  [.] f1                     [.] f2\n\t     0.01%  [k] _IO_new_file_xsputn    [k] _IO_file_overflow\n\t     0.01%  [k] _IO_vfprintf_internal  [k] _IO_new_file_xsputn\n\t     0.01%  [k] _IO_vfprintf_internal  [k] strchrnul\n\t     0.01%  [k] __printf               [k] _IO_vfprintf_internal\n\t     0.01%  [k] main                   [k] __printf\n\n   This output shows from/to branch columns and shows the highest\n   percentage (from,to) jump combinations - i.e.  the most likely taken\n   branches in the system.  \"branches\" can also include function calls\n   and any other synchronous and asynchronous transitions of the\n   instruction pointer that are not \u0027next instruction\u0027 - such as system\n   calls, traps, interrupts, etc.\n\n   This feature comes with (hopefully intuitive) flat ascii and TUI\n   support in perf report.\n\n - Various \u0027perf annotate\u0027 visual improvements for us assembly junkies.\n   It will now recognize function calls in the TUI and by hitting enter\n   you can follow the call (recursively) and back, amongst other\n   improvements.\n\n - Multiple threads/processes recording support in perf record, perf\n   stat, perf top - which is activated via a comma-list of PIDs:\n\n\tperf top -p 21483,21485\n\tperf stat -p 21483,21485 -ddd\n\tperf record -p 21483,21485\n\n - Support for per UID views, via the --uid paramter to perf top, perf\n   report, etc.  For example \u0027perf top --uid mingo\u0027 will only show the\n   tasks that I am running, excluding other users, root, etc.\n\n - Jump label restructurings and improvements - this includes the\n   factoring out of the (hopefully much clearer) include/linux/static_key.h\n   generic facility:\n\n\tstruct static_key key \u003d STATIC_KEY_INIT_FALSE;\n\n\t...\n\n\tif (static_key_false(\u0026key))\n\t        do unlikely code\n\telse\n\t        do likely code\n\n\t...\n\tstatic_key_slow_inc();\n\t...\n\tstatic_key_slow_inc();\n\t...\n\n   The static_key_false() branch will be generated into the code with as\n   little impact to the likely code path as possible.  the\n   static_key_slow_*() APIs flip the branch via live kernel code patching.\n\n   This facility can now be used more widely within the kernel to\n   micro-optimize hot branches whose likelihood matches the static-key\n   usage and fast/slow cost patterns.\n\n - SW function tracer improvements: perf support and filtering support.\n\n - Various hardenings of the perf.data ABI, to make older perf.data\u0027s\n   smoother on newer tool versions, to make new features integrate more\n   smoothly, to support cross-endian recording/analyzing workflows\n   better, etc.\n\n - Restructuring of the kprobes code, the splitting out of \u0027optprobes\u0027,\n   and a corner case bugfix.\n\n - Allow the tracing of kernel console output (printk).\n\n - Improvements/fixes to user-space RDPMC support, allowing user-space\n   self-profiling code to extract PMU counts without performing any\n   system calls, while playing nice with the kernel side.\n\n - \u0027perf bench\u0027 improvements\n\n - ... and lots of internal restructurings, cleanups and fixes that made\n   these features possible.  And, as usual this list is incomplete as\n   there were also lots of other improvements\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (120 commits)\n  perf report: Fix annotate double quit issue in branch view mode\n  perf report: Remove duplicate annotate choice in branch view mode\n  perf/x86: Prettify pmu config literals\n  perf report: Enable TUI in branch view mode\n  perf report: Auto-detect branch stack sampling mode\n  perf record: Add HEADER_BRANCH_STACK tag\n  perf record: Provide default branch stack sampling mode option\n  perf tools: Make perf able to read files from older ABIs\n  perf tools: Fix ABI compatibility bug in print_event_desc()\n  perf tools: Enable reading of perf.data files from different ABI rev\n  perf: Add ABI reference sizes\n  perf report: Add support for taken branch sampling\n  perf record: Add support for sampling taken branch\n  perf tools: Add code to support PERF_SAMPLE_BRANCH_STACK\n  x86/kprobes: Split out optprobe related code to kprobes-opt.c\n  x86/kprobes: Fix a bug which can modify kernel code permanently\n  x86/kprobes: Fix instruction recovery on optimized path\n  perf: Add callback to flush branch_stack on context switch\n  perf: Disable PERF_SAMPLE_BRANCH_* when not supported\n  perf/x86: Add LBR software filter support for Intel CPUs\n  ...\n"
    },
    {
      "commit": "5928a2b60cfdbad730f93696acab142d0b607280",
      "tree": "49bb21c9219673e61bad7a7c9202c7f25f5fe1be",
      "parents": [
        "5ed59af85077d28875a3a137b21933aaf1b4cd50",
        "bdd4431c8d071491a68a65d9457996f222b5ecd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 17:12:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU changes for v3.4 from Ingo Molnar.  The major features of this\nseries are:\n\n - making RCU more aggressive about entering dyntick-idle mode in order\n   to improve energy efficiency\n\n - converting a few more call_rcu()s to kfree_rcu()s\n\n - applying a number of rcutree fixes and cleanups to rcutiny\n\n - removing CONFIG_SMP #ifdefs from treercu\n\n - allowing RCU CPU stall times to be set via sysfs\n\n - adding CPU-stall capability to rcutorture\n\n - adding more RCU-abuse diagnostics\n\n - updating documentation\n\n - fixing yet more issues located by the still-ongoing top-to-bottom\n   inspection of RCU, this time with a special focus on the CPU-hotplug\n   code path.\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)\n  rcu: Stop spurious warnings from synchronize_sched_expedited\n  rcu: Hold off RCU_FAST_NO_HZ after timer posted\n  rcu: Eliminate softirq-mediated RCU_FAST_NO_HZ idle-entry loop\n  rcu: Add RCU_NONIDLE() for idle-loop RCU read-side critical sections\n  rcu: Allow nesting of rcu_idle_enter() and rcu_idle_exit()\n  rcu: Remove redundant check for rcu_head misalignment\n  PTR_ERR should be called before its argument is cleared.\n  rcu: Convert WARN_ON_ONCE() in rcu_lock_acquire() to lockdep\n  rcu: Trace only after NULL-pointer check\n  rcu: Call out dangers of expedited RCU primitives\n  rcu: Rework detection of use of RCU by offline CPUs\n  lockdep: Add CPU-idle/offline warning to lockdep-RCU splat\n  rcu: No interrupt disabling for rcu_prepare_for_idle()\n  rcu: Move synchronize_sched_expedited() to rcutree.c\n  rcu: Check for illegal use of RCU from offlined CPUs\n  rcu: Update stall-warning documentation\n  rcu: Add CPU-stall capability to rcutorture\n  rcu: Make documentation give more realistic rcutorture duration\n  rcutorture: Permit holding off CPU-hotplug operations during boot\n  rcu: Print scheduling-clock information on RCU CPU stall-warning messages\n  ...\n"
    },
    {
      "commit": "e27d359e9b7e446190362cd5c8fe281d02194896",
      "tree": "5dece1801337b32e9d4ecc03e487a95856b413fa",
      "parents": [
        "3b3be88d67cc17d0f0ab6edaf131516793fc947e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 18 14:07:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 20 13:08:26 2012 -0400"
      },
      "message": "SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG\n\nThis allows us to turn on/off the dprintk() debugging interfaces for\nthose distributions that don\u0027t ship the \u0027rpcdebug\u0027 utility.\nIt also allows us to add Kbuild dependencies. Specifically, we already\nknow that dprintk() in general relies on CONFIG_SYSCTL. Now it turns out\nthat the NFS dprintks depend on CONFIG_CRC32 after we added support\nfor the filehandle hash.\n\nReported-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b85417860172ff693dc115d7999805fc240cec1c",
      "tree": "e7f1c8ac18958e7bcb9182caa8639104384e44f9",
      "parents": [
        "6114eab535ab49239e0a6ce08eb9243664aef993"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:40 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:28 2012 +0800"
      },
      "message": "sunrpc: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "6114eab535ab49239e0a6ce08eb9243664aef993",
      "tree": "cb699cfc9f29eb80105f6513fc4679b5ade5df46",
      "parents": [
        "0352bc550cfa536e4fa2c0e906359bcd5687afff"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:40 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:28 2012 +0800"
      },
      "message": "rds: remove the second argument of k[un]map_atomic()\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    }
  ],
  "next": "0352bc550cfa536e4fa2c0e906359bcd5687afff"
}
