)]}'
{
  "log": [
    {
      "commit": "077931446b85e7858bf9dc0927cd116669b965d2",
      "tree": "02fbdf4a42b30b841a61aca399bd0ac6a5c308e6",
      "parents": [
        "f7c819c020db9796ae3a662b82a310617f92b15b",
        "74876a98a87a115254b3a66a14b27320b7f0acaa"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 05 00:48:46 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 05 00:48:46 2013 +0100"
      },
      "message": "Merge branch \u0027nohz/printk-v8\u0027 into irq/core\n\nConflicts:\n\tkernel/irq_work.c\n\nAdd support for printk in full dynticks CPU.\n\n* Don\u0027t stop tick with irq works pending. This\nfix is generally useful and concerns archs that\ncan\u0027t raise self IPIs.\n\n* Flush irq works before CPU offlining.\n\n* Introduce \"lazy\" irq works that can wait for the\nnext tick to be executed, unless it\u0027s stopped.\n\n* Implement klogd wake up using irq work. This\nremoves the ad-hoc printk_tick()/printk_needs_cpu()\nhooks and make it working even in dynticks mode.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "c02cf5f8ed6137e2b3b2f10e0fca336e06e09ba4",
      "tree": "808036e5a89ace73ea2a92719529df6c6321977b",
      "parents": [
        "786133f6e8ff94aaa78cd6b7844d04c227098327"
      ],
      "author": {
        "name": "anish kumar",
        "email": "anish198519851985@gmail.com",
        "time": "Sun Feb 03 22:08:23 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Feb 04 11:50:59 2013 +0100"
      },
      "message": "irq_work: Remove return value from the irq_work_queue() function\n\nAs no one is using the return value of irq_work_queue(),\nso it is better to just make it void.\n\nSigned-off-by: anish kumar \u003canish198519851985@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ Fix stale comments, remove now unnecessary __irq_work_queue() intermediate function ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1359925703-24304-1-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "309b51e87905e8a52060dbbab1e427552d5dda9a",
      "tree": "891aaefe5d347de1b3b1b233fa62b9e576b4e096",
      "parents": [
        "3a55fb0d9fe8e2f4594329edd58c5fd6f35a99dd",
        "8aef33a7cf40ca9da188e8578b2abe7267a38c52"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 14:34:52 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 14:34:52 2013 -0800"
      },
      "message": "Merge tag \u0027pm+acpi-for-3.8-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull ACPI and power management fixes from Rafael Wysocki:\n\n - cpuidle regression fix related to the initialization of state\n   kobjects from Krzysztof Mazur.\n\n - cpuidle fix removing some not very useful code and making some\n   user-visible problems go away at the same time.  From Daniel Lezcano.\n\n - ACPI build fix from Yinghai Lu.\n\n* tag \u0027pm+acpi-for-3.8-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  cpuidle: remove the power_specified field in the driver\n  ACPI / glue: Fix build with ACPI_GLUE_DEBUG set\n  cpuidle: fix number of initialized/destroyed states\n"
    },
    {
      "commit": "e65b9ad222c280c031bc8d3642cc38dd3026fe06",
      "tree": "e1156d88a4fb42d7623e0390469227b6e3f4202b",
      "parents": [
        "36e7a96ceb6e9d347d8bf3def689c315131edf10"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 15 20:12:37 2013 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 12:13:20 2013 -0800"
      },
      "message": "lockdep, rwsem: fix down_write_nest_lock() if !CONFIG_DEBUG_LOCK_ALLOC\n\nCommit 1b963c81b145 (\"lockdep, rwsem: provide down_write_nest_lock()\")\ncontains a bug in a codepath when CONFIG_DEBUG_LOCK_ALLOC is disabled,\nwhich causes down_read() to be called instead of down_write() by mistake\non such configurations.  Fix that.\n\nReported-and-tested-by: Andrew Clayton \u003candrew@digital-domain.net\u003e\nReported-and-tested-by: Zlatko Calusic \u003czlatko.calusic@iskon.hr\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "774a1221e862b343388347bac9b318767336b20b",
      "tree": "ee02b2b71268d9478f709bea8636ddd5eafdc007",
      "parents": [
        "406089d01562f1e2bf9f089fd7637009ebaad589"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 15 18:52:51 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 09:05:33 2013 -0800"
      },
      "message": "module, async: async_synchronize_full() on module init iff async is used\n\nIf the default iosched is built as module, the kernel may deadlock\nwhile trying to load the iosched module on device probe if the probing\nwas running off async.  This is because async_synchronize_full() at\nthe end of module init ends up waiting for the async job which\ninitiated the module loading.\n\n async A\t\t\t\tmodprobe\n\n 1. finds a device\n 2. registers the block device\n 3. request_module(default iosched)\n\t\t\t\t\t4. modprobe in userland\n\t\t\t\t\t5. load and init module\n\t\t\t\t\t6. async_synchronize_full()\n\nAsync A waits for modprobe to finish in request_module() and modprobe\nwaits for async A to finish in async_synchronize_full().\n\nBecause there\u0027s no easy to track dependency once control goes out to\nuserland, implementing properly nested flushing is difficult.  For\nnow, make module init perform async_synchronize_full() iff module init\nhas queued async jobs as suggested by Linus.\n\nThis avoids the described deadlock because iosched module doesn\u0027t use\nasync and thus wouldn\u0027t invoke async_synchronize_full().  This is\nhacky and incomplete.  It will deadlock if async module loading nests;\nhowever, this works around the known problem case and seems to be the\nbest of bad options.\n\nFor more details, please refer to the following thread.\n\n  http://thread.gmane.org/gmane.linux.kernel/1420814\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nTested-by: Ming Lei \u003cming.lei@canonical.com\u003e\nTested-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aef33a7cf40ca9da188e8578b2abe7267a38c52",
      "tree": "4f0908d2b007ad3f372ffeeaca624cfe81afdf47",
      "parents": [
        "a412a11d6a24aebb6a898ed5d4e1c0725b638da3"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Tue Jan 15 14:18:04 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Jan 15 14:18:04 2013 +0100"
      },
      "message": "cpuidle: remove the power_specified field in the driver\n\nWe realized that the power usage field is never filled and when it\nis filled for tegra, the power_specified flag is not set causing all\nof these values to be reset when the driver is initialized with\nset_power_state().\n\nHowever, the power_specified flag can be simply removed under the\nassumption that the states are always backward sorted, which is the\ncase with the current code.\n\nThis change allows the menu governor select function and the\ncpuidle_play_dead() to be simplified.  Moreover, the\nset_power_states() function can removed as it does not make sense\nany more.\n\nDrop the power_specified flag from struct cpuidle_driver and make\nthe related changes as described above.\n\nAs a consequence, this also fixes the bug where on the dynamic\nC-states system, the power fields are not initialized.\n\n[rjw: Changelog]\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d42870\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d43349\nReferences: https://lkml.org/lkml/2012/10/16/518\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "3441f0d26d02ec8073ea9ac7d1a4da8a9818ad59",
      "tree": "fb82a5ae8ec99df63ed13ea72d9eaf1d8ed0c0b7",
      "parents": [
        "f6a0e2ca7b1fe89da4e4b0afa6ba08dc34f1a0f7",
        "f1688e0431d3a395388e70fe21da89ed0de0c323"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 09:07:11 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 09:07:11 2013 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.8-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core fixes from Greg Kroah-Hartman:\n \"Here are two patches for 3.8-rc3.\n\n  One removes the __dev* defines from init.h now that all usages of it\n  are gone from your tree.  The other fix is for debugfs\u0027s paramater\n  that was using the wrong base for the option.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027driver-core-3.8-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  debugfs: convert gid\u003d argument from decimal, not octal\n  Remove __dev* markings from init.h\n"
    },
    {
      "commit": "6843cc0e0f59643d75a624999012b4dd72bfe1cf",
      "tree": "6924ab19725e67b3f35f90277b2b670d0f0e0958",
      "parents": [
        "7c8284c3aa127ffe72a90a1bad52183ec9ad870a",
        "d0b9cec3e27d0e9fda2fbf6aaacece68c99b1104"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 08:27:10 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 08:27:10 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Fix regression allowing IP_TTL setting of zero, fix from Cong Wang.\n\n 2) Fix leak regressions in tunap, from Jason Wang.\n\n 3) be2net driver always returns IRQ_HANDLED in INTx handler, fix from\n    Sathya Perla.\n\n 4) qlge doesn\u0027t really support NETIF_F_TSO6, don\u0027t set that flag.  Fix\n    from Amerigo Wang.\n\n 5) Add 802.11ad Atheros wil6210 driver, from Vladimir Kondratiev.\n\n 6) Fix MTU calculations in mac80211 layer, from T Krishna Chaitanya.\n\n 7) Station info layer of mac80211 needs to use del_timer_sync(), from\n    Johannes Berg.\n\n 8) tcp_read_sock() can loop forever, because we don\u0027t immediately stop\n    when recv_actor() returns zero.  Fix from Eric Dumazet.\n\n 9) Fix WARN_ON() in tcp_cleanup_rbuf().  We have to use sk_eat_skb() in\n    tcp_recv_skb() to handle the case where a large GRO packet is split\n    up while it is use by a splice() operation.  Fix also from Eric\n    Dumazet.\n\n10) addrconf_get_prefix_route() in ipv6 tests flags incorrectly, it\n    does:\n\n        if (X \u0026\u0026 (p-\u003eflags \u0026 Y) !\u003d 0)\n\n    when it really meant to go:\n\n        if (X \u0026\u0026 (p-\u003eflags \u0026 X) !\u003d 0)\n\n    fix from Romain Kuntz.\n\n11) Fix lost Kconfig dependency for bfin_mac driver hardware\n    timestamping.  From Lars-Peter Clausen.\n\n12) Fix regression in handling of RST without ACK in TCP, from Eric\n    Dumazet.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (37 commits)\n  be2net: fix unconditionally returning IRQ_HANDLED in INTx\n  tuntap: fix leaking reference count\n  tuntap: forbid calling TUNSETIFF when detached\n  tuntap: switch to use rtnl_dereference()\n  net, wireless: overwrite default_ethtool_ops\n  qlge: remove NETIF_F_TSO6 flag\n  tcp: accept RST without ACK flag\n  net: ethernet: xilinx: Do not use NO_IRQ in axienet\n  net: ethernet: xilinx: Do not use axienet on PPC\n  bnx2x: Allow management traffic after boot from SAN\n  bnx2x: Fix fastpath structures when memory allocation fails\n  bfin_mac: Restore hardware time-stamping dependency on BF518\n  tun: avoid owner checks on IFF_ATTACH_QUEUE\n  bnx2x: move debugging code before the return\n  tuntap: refuse to re-attach to different tun_struct\n  ipv6: use addrconf_get_prefix_route for prefix route lookup [v2]\n  ipv6: fix the noflags test in addrconf_get_prefix_route\n  tcp: fix splice() and tcp collapsing interaction\n  tcp: splice: fix an infinite loop in tcp_read_sock()\n  net: prevent setting ttl\u003d0 via IP_TTL\n  ...\n"
    },
    {
      "commit": "d07d7507bfb4e23735c9b83e397c43e1e8a173e8",
      "tree": "1422f8bc9cfa0340a7b1cdec03456a6bf5e3a7d5",
      "parents": [
        "f7e9e230f41f991a6e3e7cb6096424fdfb626081"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu Jan 10 23:19:10 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 11 15:55:48 2013 -0800"
      },
      "message": "net, wireless: overwrite default_ethtool_ops\n\nSince:\n\ncommit 2c60db037034d27f8c636403355d52872da92f81\nAuthor: Eric Dumazet \u003cedumazet@google.com\u003e\nDate:   Sun Sep 16 09:17:26 2012 +0000\n\n    net: provide a default dev-\u003eethtool_ops\n\nwireless core does not correctly assign ethtool_ops.\n\nAfter alloc_netdev*() call, some cfg80211 drivers provide they own\nethtool_ops, but some do not. For them, wireless core provide generic\ncfg80211_ethtool_ops, which is assigned in NETDEV_REGISTER notify call:\n\n        if (!dev-\u003eethtool_ops)\n                dev-\u003eethtool_ops \u003d \u0026cfg80211_ethtool_ops;\n\nBut after Eric\u0027s commit, dev-\u003eethtool_ops is no longer NULL (on cfg80211\ndrivers without custom ethtool_ops), but points to \u0026default_ethtool_ops.\n\nIn order to fix the problem, provide function which will overwrite\ndefault_ethtool_ops and use it by wireless core.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cb7a56344ca45ee56d71c5f8fe9f922306bff1f",
      "tree": "da6fd5aa462e9e7c117063740c15fd95241c72d3",
      "parents": [
        "a8906b0b673a8a64ae1446a7847def62388f6e46"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Fri Jan 11 14:32:20 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:56 2013 -0800"
      },
      "message": "lib/rbtree.c: avoid the use of non-static __always_inline\n\nlib/rbtree.c declared __rb_erase_color() as __always_inline void, and\nthen exported it with EXPORT_SYMBOL.\n\nThis was because __rb_erase_color() must be exported for augmented\nrbtree users, but it must also be inlined into rb_erase() so that the\ndummy callback can get optimized out of that call site.\n\n(Actually with a modern compiler, none of the dummy callback functions\nshould even be generated as separate text functions).\n\nThe above usage is legal C, but it was unusual enough for some compilers\nto warn about it.  This change makes things more explicit, with a static\n__always_inline ____rb_erase_color function for use in rb_erase(), and a\nseparate non-inline __rb_erase_color function for use in\nrb_erase_augmented call sites.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReported-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8fb74b9fb2b182d54beee592350d9ea1f325917a",
      "tree": "ccdcf36cfedb0cf54268226ebde75330e4882539",
      "parents": [
        "c0a3a20b6c4b5229ef5d26fd9b1c4b1957632aa7"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Jan 11 14:32:16 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:56 2013 -0800"
      },
      "message": "mm: compaction: partially revert capture of suitable high-order page\n\nEric Wong reported on 3.7 and 3.8-rc2 that ppoll() got stuck when\nwaiting for POLLIN on a local TCP socket.  It was easier to trigger if\nthere was disk IO and dirty pages at the same time and he bisected it to\ncommit 1fb3f8ca0e92 (\"mm: compaction: capture a suitable high-order page\nimmediately when it is made available\").\n\nThe intention of that patch was to improve high-order allocations under\nmemory pressure after changes made to reclaim in 3.6 drastically hurt\nTHP allocations but the approach was flawed.  For Eric, the problem was\nthat page-\u003epfmemalloc was not being cleared for captured pages leading\nto a poor interaction with swap-over-NFS support causing the packets to\nbe dropped.  However, I identified a few more problems with the patch\nincluding the fact that it can increase contention on zone-\u003elock in some\ncases which could result in async direct compaction being aborted early.\n\nIn retrospect the capture patch took the wrong approach.  What it should\nhave done is mark the pageblock being migrated as MIGRATE_ISOLATE if it\nwas allocating for THP and avoided races that way.  While the patch was\nshowing to improve allocation success rates at the time, the benefit is\nmarginal given the relative complexity and it should be revisited from\nscratch in the context of the other reclaim-related changes that have\ntaken place since the patch was first written and tested.  This patch\npartially reverts commit 1fb3f8ca0e92 (\"mm: compaction: capture a\nsuitable high-order page immediately when it is made available\").\n\nReported-and-tested-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c0a3a20b6c4b5229ef5d26fd9b1c4b1957632aa7",
      "tree": "3809e683c054ba7e285db493aad31132e7ea9681",
      "parents": [
        "829199197a430dade2519d54f5545c4a094393b8"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Jan 11 14:32:13 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:56 2013 -0800"
      },
      "message": "linux/audit.h: move ptrace.h include to kernel header\n\nWhile the kernel internals want pt_regs (and so it includes\nlinux/ptrace.h), the user version of audit.h does not need it.  So move\nthe include out of the uapi version.\n\nThis avoids issues where people want the audit defines and userland\nptrace api.  Including both the kernel ptrace and the userland ptrace\nheaders can easily lead to failure.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b9205bd775afc4439ed86d617f9042ee9e76a71",
      "tree": "cfb91447f15301d7daccc73bda12a63fde6a229d",
      "parents": [
        "56ca9d98772c68368c929ab41d42108319a38da2"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Fri Jan 11 14:32:05 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:55 2013 -0800"
      },
      "message": "audit: create explicit AUDIT_SECCOMP event type\n\nThe seccomp path was using AUDIT_ANOM_ABEND from when seccomp mode 1\ncould only kill a process.  While we still want to make sure an audit\nrecord is forced on a kill, this should use a separate record type since\nseccomp mode 2 introduces other behaviors.\n\nIn the case of \"handled\" behaviors (process wasn\u0027t killed), only emit a\nrecord if the process is under inspection.  This change also fixes\nuserspace examination of seccomp audit events, since it was considered\nmalformed due to missing fields of the AUDIT_ANOM_ABEND event type.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Julien Tinnes \u003cjln@google.com\u003e\nAcked-by: Will Drewry \u003cwad@chromium.org\u003e\nAcked-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b963c81b14509e330e0fe3218b645ece2738dc5",
      "tree": "5179a29d62e7283c8a1d764e7e320490c4352aeb",
      "parents": [
        "fef6c12e8874279ebebfa4cd58d735f6adce3ed1"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jan 11 14:31:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:55 2013 -0800"
      },
      "message": "lockdep, rwsem: provide down_write_nest_lock()\n\ndown_write_nest_lock() provides a means to annotate locking scenario\nwhere an outer lock is guaranteed to serialize the order nested locks\nare being acquired.\n\nThis is analogoue to already existing mutex_lock_nest_lock() and\nspin_lock_nest_lock().\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@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": "896f97ea95c1d29c0520ee0766b66b7f64cb967c",
      "tree": "9898ba669c2348294452fcfd5b7b81fe04cb072f",
      "parents": [
        "254adaa465c40151df11fc1f88f93e6e86eb61d4"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@googlers.com",
        "time": "Fri Jan 11 14:31:36 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:54 2013 -0800"
      },
      "message": "lib: cpu_rmap: avoid flushing all workqueues\n\nIn some cases, free_irq_cpu_rmap() is called while holding a lock (eg\nrtnl).  This can lead to deadlocks, because it invokes\nflush_scheduled_work() which ends up waiting for whole system workqueue\nto flush, but some pending works might try to acquire the lock we are\nalready holding.\n\nThis commit uses reference-counting to replace\nirq_run_affinity_notifiers().  It also removes\nirq_run_affinity_notifiers() altogether.\n\n[akpm@linux-foundation.org: eliminate free_cpu_rmap, rename cpu_rmap_reclaim() to cpu_rmap_release(), propagate kref_put() retval from cpu_rmap_put()]\nSigned-off-by: David Decotigny \u003cdecot@googlers.com\u003e\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nAcked-by: Amir Vadai \u003camirv@mellanox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54b956b903607f8f8878754dd4352da6a54a1da2",
      "tree": "5f4a5bafbafb4105882c21183e397524c53f1e69",
      "parents": [
        "9931faca02c604c22335f5a935a501bb2ace6e20"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 10 10:57:01 2013 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 10 10:57:01 2013 -0800"
      },
      "message": "Remove __dev* markings from init.h\n\nNow that all in-kernel users of __dev* are gone, let\u0027s remove them from\ninit.h to keep them from popping up again and again.\n\nThanks to Bill Pemberton for doing all of the hard work to make removal\nof this possible.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "08c097fc3bb283299a6915a6a3795edab85979b1",
      "tree": "5c19a18fd83a34a0a853a4a43c83ec9b9aa1ee96",
      "parents": [
        "974b33586b4bbbdab33c666417f9ba9ef50b62c3"
      ],
      "author": {
        "name": "Marc Dionne",
        "email": "marc.c.dionne@gmail.com",
        "time": "Wed Jan 09 14:16:30 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 09 08:26:53 2013 -0800"
      },
      "message": "cred: Remove tgcred pointer from struct cred\n\nCommit 3a50597de863 (\"KEYS: Make the session and process keyrings\nper-thread\") removed the definition of the thread_group_cred structure,\nbut left a now unused pointer in struct cred.\n\nSigned-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d287b8750e47c1702dab0e37ac11012bb751ece0",
      "tree": "f3663e3e612b2e25be1d261acd39dda6f36ca08e",
      "parents": [
        "36a25de23359940b7713fc40cbcbb046b3797511",
        "08b60f8438879a84246d7debded31c9cb7aea6e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 09:41:20 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 09:41:20 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull namei.h missing include fix from Al Viro.\n\nThe new use of ESTALE in namei.h can cause compile failures on ARM with\ncertain configurations due to lack of errno.h.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  namei.h: include errno.h\n"
    },
    {
      "commit": "a458431e176ddb27e8ef8b98c2a681b217337393",
      "tree": "466ec91a25ebbe30870d12486071bb08a8c7cd5a",
      "parents": [
        "358e419f826b552c9d795bcd3820597217692461"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "b.zolnierkie@samsung.com",
        "time": "Fri Jan 04 15:35:08 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:46 2013 -0800"
      },
      "message": "mm: fix zone_watermark_ok_safe() accounting of isolated pages\n\nCommit 702d1a6e0766 (\"memory-hotplug: fix kswapd looping forever\nproblem\") added an isolated pageblocks counter (nr_pageblock_isolate in\nstruct zone) and used it to adjust free pages counter in\nzone_watermark_ok_safe() to prevent kswapd looping forever problem.\n\nThen later, commit 2139cbe627b8 (\"cma: fix counting of isolated pages\")\nfixed accounting of isolated pages in global free pages counter.  It\nmade the previous zone_watermark_ok_safe() fix unnecessary and\npotentially harmful (cause now isolated pages may be accounted twice\nmaking free pages counter incorrect).\n\nThis patch removes the special isolated pageblocks counter altogether\nwhich fixes zone_watermark_ok_safe() free pages check.\n\nReported-by: Tomasz Stanislawski \u003ct.stanislaws@samsung.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Aaditya Kumar \u003caaditya.kumar.30@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a665531a3b7c2ad2c87903b24646be6916340e4",
      "tree": "9f5186e3b9786216a74c092b6652d958abc8e2a9",
      "parents": [
        "4a674f34ba04a002244edaf891b5da7fc1473ae8"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 04 15:34:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:45 2013 -0800"
      },
      "message": "selftests: IPC message queue copy feature test\n\nThis test can be used to check wheither kernel supports IPC message queue\ncopy and restore features (required by CRIU project).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@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": "f9dd87f4738c7555aca2cdf8cb2b2326cafb0cad",
      "tree": "4fb581910eaee4309ae6befeef8c4f921b274c5d",
      "parents": [
        "03f595668017f1a1fb971c02fc37140bc6e7bb1c"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 04 15:34:52 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:45 2013 -0800"
      },
      "message": "ipc: message queue receive cleanup\n\nMove all message related manipulation into one function msg_fill().\nActually, two functions because of the compat one.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@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": "03f595668017f1a1fb971c02fc37140bc6e7bb1c",
      "tree": "3aa5c4b32b5fd396f0d74679548de8c09ca195a1",
      "parents": [
        "9afdacda0252fc1ddb7907728e878518edbcdfce"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 04 15:34:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:45 2013 -0800"
      },
      "message": "ipc: add sysctl to specify desired next object id\n\nAdd 3 new variables and sysctls to tune them (by one \"next_id\" variable\nfor messages, semaphores and shared memory respectively).  This variable\ncan be used to set desired id for next allocated IPC object.  By default\nit\u0027s equal to -1 and old behaviour is preserved.  If this variable is\nnon-negative, then desired idr will be extracted from it and used as a\nstart value to search for free IDR slot.\n\nNotes:\n\n1) this patch doesn\u0027t guarantee that the new object will have desired\n   id.  So it\u0027s up to user space how to handle new object with wrong id.\n\n2) After a sucessful id allocation attempt, \"next_id\" will be set back\n   to -1 (if it was non-negative).\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@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": "e389623a68622e3c9be440ab522fac1aa1ca3454",
      "tree": "9cf1e13b4656c1d6b79a83e6225d2496b65ac387",
      "parents": [
        "63a29f744fe1c19742039ce7526663a98f172f7e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:15:49 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:16 2013 -0800"
      },
      "message": "include: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the use of __devinit from some include files that\nwere previously missed.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0f58a01ddd5e8177255705ba15e64c3b74d67993",
      "tree": "3ac74486247a11f2bc98da40e5be78fbded09192",
      "parents": [
        "bcd2982a0e2af8d0506271b439af4b568fc33fdc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:12:59 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:15 2013 -0800"
      },
      "message": "Drivers: bcma: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the use of __devinit, __devexit_p, and __devexit\nfrom these drivers.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nCc: \"Rafał Miłecki\" \u003czajec5@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f568f6ca811fe681ecfd11c4ce78b6aa488020c0",
      "tree": "032951483c8d9d70867c0d8d5f7f9bc2ad5d14f1",
      "parents": [
        "fcb35a9bac6710851bbca1b7908ca85e83aecb4a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:02:05 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:14 2013 -0800"
      },
      "message": "pstore: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the use of __devinit from the pstore filesystem.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nCc: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nCc: Colin Cross \u003cccross@android.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "080a62e2ceec28163194facb837d6388983aae5d",
      "tree": "c39ea5bd760383e2300057adcc112ea3be6ce4a4",
      "parents": [
        "8a7eab2b54b349d005181fd971cfa027b1976c7b",
        "812089e01b9f65f90fc8fc670d8cce72a0e01fbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:44:29 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:44:29 2013 -0800"
      },
      "message": "Merge tag \u00273.8-pci-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci\n\nPull PCI updates from Bjorn Helgaas:\n \"Some fixes for v3.8.  They include a fix for the new SR-IOV sysfs\n  management support, an expanded quirk for Ricoh SD card readers, a\n  Stratus DMI quirk fix, and a PME polling fix.\"\n\n* tag \u00273.8-pci-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:\n  PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz\n  PCI/PM: Do not suspend port if any subordinate device needs PME polling\n  PCI: Add PCIe Link Capability link speed and width names\n  PCI: Work around Stratus ftServer broken PCIe hierarchy (fix DMI check)\n  PCI: Remove spurious error for sriov_numvfs store and simplify flow\n"
    },
    {
      "commit": "3d33fcc11bdd11b6949cf5c406726a094395dc4f",
      "tree": "c2c25e3d7b3c031d21048c5606cceb5fe09d37f8",
      "parents": [
        "007f6c3a63e0831ff5a34bde072db08e917134c8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jan 02 15:12:55 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:36:10 2013 -0800"
      },
      "message": "UAPI: Remove empty Kbuild files\n\nEmpty files can get deleted by the patch program, so remove empty Kbuild\nfiles and their links from the parent Kbuilds.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42288fe366c4f1ce7522bc9f27d0bc2a81c55264",
      "tree": "f881ebd4f4032e6cc8f5f848b2e61e9ff1d611af",
      "parents": [
        "5439ca6b8ff8cf8d758c19eb28b617a5912904ee"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Dec 21 23:10:25 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:32:13 2013 -0800"
      },
      "message": "mm: mempolicy: Convert shared_policy mutex to spinlock\n\nSasha was fuzzing with trinity and reported the following problem:\n\n  BUG: sleeping function called from invalid context at kernel/mutex.c:269\n  in_atomic(): 1, irqs_disabled(): 0, pid: 6361, name: trinity-main\n  2 locks held by trinity-main/6361:\n   #0:  (\u0026mm-\u003emmap_sem){++++++}, at: [\u003cffffffff810aa314\u003e] __do_page_fault+0x1e4/0x4f0\n   #1:  (\u0026(\u0026mm-\u003epage_table_lock)-\u003erlock){+.+...}, at: [\u003cffffffff8122f017\u003e] handle_pte_fault+0x3f7/0x6a0\n  Pid: 6361, comm: trinity-main Tainted: G        W\n  3.7.0-rc2-next-20121024-sasha-00001-gd95ef01-dirty #74\n  Call Trace:\n    __might_sleep+0x1c3/0x1e0\n    mutex_lock_nested+0x29/0x50\n    mpol_shared_policy_lookup+0x2e/0x90\n    shmem_get_policy+0x2e/0x30\n    get_vma_policy+0x5a/0xa0\n    mpol_misplaced+0x41/0x1d0\n    handle_pte_fault+0x465/0x6a0\n\nThis was triggered by a different version of automatic NUMA balancing\nbut in theory the current version is vunerable to the same problem.\n\ndo_numa_page\n  -\u003e numa_migrate_prep\n    -\u003e mpol_misplaced\n      -\u003e get_vma_policy\n        -\u003e shmem_get_policy\n\nIt\u0027s very unlikely this will happen as shared pages are not marked\npte_numa -- see the page_mapcount() check in change_pte_range() -- but\nit is possible.\n\nTo address this, this patch restores sp-\u003elock as originally implemented\nby Kosaki Motohiro.  In the path where get_vma_policy() is called, it\nshould not be calling sp_alloc() so it is not necessary to treat the PTL\nspecially.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5439ca6b8ff8cf8d758c19eb28b617a5912904ee",
      "tree": "676f9e0b25074d2d8c5ab29df30c962b3cb7311e",
      "parents": [
        "a7a88b23737095e6c18a20c5d4eef9e25ec5b829",
        "0e9a9a1ad619e7e987815d20262d36a2f95717ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:57:34 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:57:34 2013 -0800"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 bug fixes from Ted Ts\u0027o:\n \"Various bug fixes for ext4.  Perhaps the most serious bug fixed is one\n  which could cause file system corruptions when performing file punch\n  operations.\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: avoid hang when mounting non-journal filesystems with orphan list\n  ext4: lock i_mutex when truncating orphan inodes\n  ext4: do not try to write superblock on ro remount w/o journal\n  ext4: include journal blocks in df overhead calcs\n  ext4: remove unaligned AIO warning printk\n  ext4: fix an incorrect comment about i_mutex\n  ext4: fix deadlock in journal_unmap_buffer()\n  ext4: split off ext4_journalled_invalidatepage()\n  jbd2: fix assertion failure in jbd2_journal_flush()\n  ext4: check dioread_nolock on remount\n  ext4: fix extent tree corruption caused by hole punch\n"
    },
    {
      "commit": "a7a88b23737095e6c18a20c5d4eef9e25ec5b829",
      "tree": "da6000487d0a1e4694fd760ac55467bce091e854",
      "parents": [
        "f2a07f40dbc603c15f8b06e6ec7f768af67b424f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Jan 02 02:04:23 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:27:10 2013 -0800"
      },
      "message": "mempolicy: remove arg from mpol_parse_str, mpol_to_str\n\nRemove the unused argument (formerly no_context) from mpol_parse_str()\nand from mpol_to_str().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddf75ae34e61bc8472f8b54281ad29bc87274be1",
      "tree": "cd93e82253bc35d1bd97859f7b6353223e0c2f84",
      "parents": [
        "7fd83b47cebb9e4fafab0ff9a058d2bebf29b8f5",
        "48c6d1217e3dc743e7d3ad9b9def8d4810d13a85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 27 10:42:46 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 27 10:42:46 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull namespace fixes from Eric Biederman:\n \"This tree includes two bug fixes for problems Oleg spotted on his\n  review of the recent pid namespace work.  A small fix to not enable\n  bottom halves with irqs disabled, and a trivial build fix for f2fs\n  with user namespaces enabled.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:\n  f2fs: Don\u0027t assign e_id in f2fs_acl_from_disk\n  proc: Allow proc_free_inum to be called from any context\n  pidns: Stop pid allocation when init dies\n  pidns: Outlaw thread creation after unshare(CLONE_NEWPID)\n"
    },
    {
      "commit": "7fd83b47cebb9e4fafab0ff9a058d2bebf29b8f5",
      "tree": "eb669f55b4e144afd49349f4922b78009f938ccd",
      "parents": [
        "ad4b3fb7ff9940bcdb1e4cd62bd189d10fa636ba",
        "ae782bb16c35ce27512beeda9be6024c88f85b08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 27 10:40:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 27 10:40:30 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n1) GRE tunnel drivers don\u0027t set the transport header properly, they also\n   blindly deref the inner protocol ipv4 and needs some checks.  Fixes\n   from Isaku Yamahata.\n\n2) Fix sleeps while atomic in netdevice rename code, from Eric Dumazet.\n\n3) Fix double-spinlock in solos-pci driver, from Dan Carpenter.\n\n4) More ARP bug fixes.  Fix lockdep splat in arp_solicit() and then the\n   bug accidentally added by that fix.  From Eric Dumazet and Cong Wang.\n\n5) Remove some __dev* annotations that slipped back in, as well as all\n   HOTPLUG references.  From Greg KH\n\n6) RDS protocol uses wrong interfaces to access scatter-gather elements,\n   causing a regression.  From Mike Marciniszyn.\n\n7) Fix build error in cpts driver, from Richard Cochran.\n\n8) Fix arithmetic in packet scheduler, from Stefan Hasko.\n\n9) Similarly, fix association during calculation of random backoff in\n   batman-adv.  From Akinobu Mita.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (21 commits)\n  ipv6/ip6_gre: set transport header correctly\n  ipv4/ip_gre: set transport header correctly to gre header\n  IB/rds: suppress incompatible protocol when version is known\n  IB/rds: Correct ib_api use with gs_dma_address/sg_dma_len\n  net/vxlan: Use the underlying device index when joining/leaving multicast groups\n  tcp: should drop incoming frames without ACK flag set\n  netprio_cgroup: define sk_cgrp_prioidx only if NETPRIO_CGROUP is enabled\n  cpts: fix a run time warn_on.\n  cpts: fix build error by removing useless code.\n  batman-adv: fix random jitter calculation\n  arp: fix a regression in arp_solicit()\n  net: sched: integer overflow fix\n  CONFIG_HOTPLUG removal from networking core\n  Drivers: network: more __dev* removal\n  bridge: call br_netpoll_disable in br_add_if\n  ipv4: arp: fix a lockdep splat in arp_solicit()\n  tuntap: dont use a private kmem_cache\n  net: devnet_rename_seq should be a seqcount\n  ip_gre: fix possible use after free\n  ip_gre: make ipgre_tunnel_xmit() not parse network header as IP unconditionally\n  ...\n"
    },
    {
      "commit": "ad4b3fb7ff9940bcdb1e4cd62bd189d10fa636ba",
      "tree": "aa9d7bc0e606df0104b47716c90a38c6689fc713",
      "parents": [
        "637704cbc95c02d18741b4a6e7a5d2397f8b28ce"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "cdall@cs.columbia.edu",
        "time": "Fri Dec 21 13:03:50 2012 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 26 14:57:34 2012 -0800"
      },
      "message": "mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED\n\nUnfortunately with !CONFIG_PAGEFLAGS_EXTENDED, (!PageHead) is false, and\n(PageHead) is true, for tail pages.  If this is indeed the intended\nbehavior, which I doubt because it breaks cache cleaning on some ARM\nsystems, then the nomenclature is highly problematic.\n\nThis patch makes sure PageHead is only true for head pages and PageTail\nis only true for tail pages, and neither is true for non-compound pages.\n\n[ This buglet seems ancient - seems to have been introduced back in Apr\n  2008 in commit 6a1e7f777f61: \"pageflags: convert to the use of new\n  macros\".  And the reason nobody noticed is because the PageHead()\n  tests are almost all about just sanity-checking, and only used on\n  pages that are actual page heads.  The fact that the old code returned\n  true for tail pages too was thus not really noticeable.   - Linus ]\n\nSigned-off-by: Christoffer Dall \u003ccdall@cs.columbia.edu\u003e\nAcked-by:  Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Will Deacon \u003cWill.Deacon@arm.com\u003e\nCc: Steve Capper \u003cSteve.Capper@arm.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: stable@kernel.org  # 2.6.26+\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "812089e01b9f65f90fc8fc670d8cce72a0e01fbb",
      "tree": "cc187999ed4f669cd5bed0b9de661e9d99ec3753",
      "parents": [
        "c733b77475707cc3980542c86ee0ad5c841d544c"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@amacapital.net",
        "time": "Sat Dec 01 12:37:20 2012 -0800"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Wed Dec 26 10:43:06 2012 -0700"
      },
      "message": "PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz\n\nOtherwise it fails like this on cards like the Transcend 16GB SDHC card:\n\n    mmc0: new SDHC card at address b368\n    mmcblk0: mmc0:b368 SDC   15.0 GiB\n    mmcblk0: error -110 sending status command, retrying\n    mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb0\n\nTested on my Lenovo x200 laptop.\n\n[bhelgaas: changelog]\nSigned-off-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nAcked-by: Chris Ball \u003ccjb@laptop.org\u003e\nCC: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nCC: stable@vger.kernel.org"
    },
    {
      "commit": "c876ad7682155958d0c9c27afe9017925c230d64",
      "tree": "926064bd7909f60daed3b6b963555e57cab7b520",
      "parents": [
        "8382fcac1b813ad0a4e68a838fc7ae93fa39eda0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Dec 21 20:27:12 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Dec 25 16:10:05 2012 -0800"
      },
      "message": "pidns: Stop pid allocation when init dies\n\nOleg pointed out that in a pid namespace the sequence.\n- pid 1 becomes a zombie\n- setns(thepidns), fork,...\n- reaping pid 1.\n- The injected processes exiting.\n\nCan lead to processes attempting access their child reaper and\ninstead following a stale pointer.\n\nThat waitpid for init can return before all of the processes in\nthe pid namespace have exited is also unfortunate.\n\nAvoid these problems by disabling the allocation of new pids in a pid\nnamespace when init dies, instead of when the last process in a pid\nnamespace is reaped.\n\nPointed-out-by:  Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "08b60f8438879a84246d7debded31c9cb7aea6e4",
      "tree": "75367ca36c1e531e6fbf7745f8ffdf556eeb4864",
      "parents": [
        "a49f0d1ea3ec94fc7cf33a7c36a16343b74bd565"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@wwwdotorg.org",
        "time": "Mon Dec 24 11:14:58 2012 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 25 18:45:06 2012 -0500"
      },
      "message": "namei.h: include errno.h\n\nThis solves:\n\nIn file included from fs/ext3/symlink.c:20:0:\ninclude/linux/namei.h: In function \u0027retry_estale\u0027:\ninclude/linux/namei.h:114:19: error: \u0027ESTALE\u0027 undeclared (first use in this function)\n\nSigned-off-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "53e872681fed6a43047e71bf927f77d06f467988",
      "tree": "8b5061acbaf222b3f25df54ddbcaa0b1123c471a",
      "parents": [
        "4520fb3c3690f2643006d85f09ecb74554c10e95"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 25 13:29:52 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 25 13:29:52 2012 -0500"
      },
      "message": "ext4: fix deadlock in journal_unmap_buffer()\n\nWe cannot wait for transaction commit in journal_unmap_buffer()\nbecause we hold page lock which ranks below transaction start.  We\nsolve the issue by bailing out of journal_unmap_buffer() and\njbd2_journal_invalidatepage() with -EBUSY.  Caller is then responsible\nfor waiting for transaction commit to finish and try invalidation\nagain. Since the issue can happen only for page stradding i_size, it\nis simple enough to manually call jbd2_journal_invalidatepage() for\nsuch page from ext4_setattr(), check the return value and wait if\nnecessary.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4fe19a136a8871e5fc6e44d72979f18a4968c2ab",
      "tree": "785366514a250acd3f38f91686f2c886dc34cfb9",
      "parents": [
        "769cb858c23ba7379ea27208624b444cd7b61af2",
        "d692170037c0338b31dac5ac4722c1360a4b5257"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:10:29 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:10:29 2012 -0800"
      },
      "message": "Merge git://www.linux-watchdog.org/linux-watchdog\n\nPull watchdog updates from Wim Van Sebroeck:\n \"This includes some fixes and code improvements (like\n  clk_prepare_enable and clk_disable_unprepare), conversion from the\n  omap_wdt and twl4030_wdt drivers to the watchdog framework, addition\n  of the SB8x0 chipset support and the DA9055 Watchdog driver and some\n  OF support for the davinci_wdt driver.\"\n\n* git://www.linux-watchdog.org/linux-watchdog: (22 commits)\n  watchdog: mei: avoid oops in watchdog unregister code path\n  watchdog: Orion: Fix possible null-deference in orion_wdt_probe\n  watchdog: sp5100_tco: Add SB8x0 chipset support\n  watchdog: davinci_wdt: add OF support\n  watchdog: da9052: Fix invalid free of devm_ allocated data\n  watchdog: twl4030_wdt: Change TWL4030_MODULE_PM_RECEIVER to TWL_MODULE_PM_RECEIVER\n  watchdog: remove depends on CONFIG_EXPERIMENTAL\n  watchdog: Convert dev_printk(KERN_\u003cLEVEL\u003e to dev_\u003clevel\u003e(\n  watchdog: DA9055 Watchdog driver\n  watchdog: omap_wdt: eliminate goto\n  watchdog: omap_wdt: delete redundant platform_set_drvdata() calls\n  watchdog: omap_wdt: convert to devm_ functions\n  watchdog: omap_wdt: convert to new watchdog core\n  watchdog: WatchDog Timer Driver Core: fix comment\n  watchdog: s3c2410_wdt: use clk_prepare_enable and clk_disable_unprepare\n  watchdog: imx2_wdt: Select the driver via ARCH_MXC\n  watchdog: cpu5wdt.c: add missing del_timer call\n  watchdog: hpwdt.c: Increase version string\n  watchdog: Convert twl4030_wdt to watchdog core\n  davinci_wdt: preparation for switch to common clock framework\n  ...\n"
    },
    {
      "commit": "b49249d10324d0fd6fb29725c2807dfd80d0edbc",
      "tree": "9a8fa724e6c9f9283530979c6e32a311c74999d5",
      "parents": [
        "10532b560bacf23766f9c7dc09778b31b198ff45",
        "45e621d45e24ffc4cb2b2935e8438987b860063a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:08:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:08:06 2012 -0800"
      },
      "message": "Merge tag \u0027dm-3.8-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm\n\nPull dm update from Alasdair G Kergon:\n \"Miscellaneous device-mapper fixes, cleanups and performance\n  improvements.\n\n  Of particular note:\n   - Disable broken WRITE SAME support in all targets except linear and\n     striped.  Use it when kcopyd is zeroing blocks.\n   - Remove several mempools from targets by moving the data into the\n     bio\u0027s new front_pad area(which dm calls \u0027per_bio_data\u0027).\n   - Fix a race in thin provisioning if discards are misused.\n   - Prevent userspace from interfering with the ioctl parameters and\n     use kmalloc for the data buffer if it\u0027s small instead of vmalloc.\n   - Throttle some annoying error messages when I/O fails.\"\n\n* tag \u0027dm-3.8-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm: (36 commits)\n  dm stripe: add WRITE SAME support\n  dm: remove map_info\n  dm snapshot: do not use map_context\n  dm thin: dont use map_context\n  dm raid1: dont use map_context\n  dm flakey: dont use map_context\n  dm raid1: rename read_record to bio_record\n  dm: move target request nr to dm_target_io\n  dm snapshot: use per_bio_data\n  dm verity: use per_bio_data\n  dm raid1: use per_bio_data\n  dm: introduce per_bio_data\n  dm kcopyd: add WRITE SAME support to dm_kcopyd_zero\n  dm linear: add WRITE SAME support\n  dm: add WRITE SAME support\n  dm: prepare to support WRITE SAME\n  dm ioctl: use kmalloc if possible\n  dm ioctl: remove PF_MEMALLOC\n  dm persistent data: improve improve space map block alloc failure message\n  dm thin: use DMERR_LIMIT for errors\n  ...\n"
    },
    {
      "commit": "184e2516614f7055d4c3a2e63fd8a3eb95fff6d6",
      "tree": "9822dd3cc97f8cfed3cbda6167818b60355cc7ec",
      "parents": [
        "0264405b84505f60ae00625f261e75a32c7ddf56",
        "d72623b665d84b1e07fe43854e83387fce8dd134"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 16:40:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 16:40:26 2012 -0800"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull more infiniband changes from Roland Dreier:\n \"Second batch of InfiniBand/RDMA changes for 3.8:\n   - cxgb4 changes to fix lookup engine hash collisions\n   - mlx4 changes to make flow steering usable\n   - fix to IPoIB to avoid pinning dst reference for too long\"\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA/cxgb4: Fix bug for active and passive LE hash collision path\n  RDMA/cxgb4: Fix LE hash collision bug for passive open connection\n  RDMA/cxgb4: Fix LE hash collision bug for active open connection\n  mlx4_core: Allow choosing flow steering mode\n  mlx4_core: Adjustments to Flow Steering activation logic for SR-IOV\n  mlx4_core: Fix error flow in the flow steering wrapper\n  mlx4_core: Add QPN enforcement for flow steering rules set by VFs\n  cxgb4: Add LE hash collision bug fix path in LLD driver\n  cxgb4: Add T4 filter support\n  IPoIB: Call skb_dst_drop() once skb is enqueued for sending\n"
    },
    {
      "commit": "30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a",
      "tree": "e313291a178010fb892d9725cbecb326bd63fdc0",
      "parents": [
        "f7e75ba1772bc712af0070655ffd8b09906993b5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Dec 20 17:25:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 21 13:14:01 2012 -0800"
      },
      "message": "net: devnet_rename_seq should be a seqcount\n\nUsing a seqlock for devnet_rename_seq is not a good idea,\nas device_rename() can sleep.\n\nAs we hold RTNL, we dont need a protection for writers,\nand only need a seqcount so that readers can catch a change done\nby a writer.\n\nBug added in commit c91f6df2db4972d3 (sockopt: Change getsockopt() of\nSO_BINDTODEVICE to return an interface name)\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7de3ee57da4b717050e79c9313a9bf66ccc72519",
      "tree": "dd9bf250c6d9139528e563167cabdb811c8fd6cb",
      "parents": [
        "ee18026ac69efba804144541171299efd41747d2"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:41 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:41 2012 +0000"
      },
      "message": "dm: remove map_info\n\nThis patch removes map_info from bio-based device mapper targets.\nmap_info is still used for request-based targets.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ddbd658f6446a35e4d6ba84812fd71023320cae2",
      "tree": "6c5bf9fd1cab10d20c21eb8582a5cc73f1bccc85",
      "parents": [
        "42bc954f2a4525c9034667dedc9bd1c342208013"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:39 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:39 2012 +0000"
      },
      "message": "dm: move target request nr to dm_target_io\n\nThis patch moves target_request_nr from map_info to dm_target_io and\nmakes it accessible with dm_bio_get_target_request_nr.\n\nThis patch is a preparation for the next patch that removes map_info.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c0820cf5ad09522bdd9ff68e84841a09c9f339d8",
      "tree": "04817d6d9a7d213ac96d1e014a9714f8f29ff07a",
      "parents": [
        "70d6c400acc386ea910c77318688541fc32e7ce8"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:38 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:38 2012 +0000"
      },
      "message": "dm: introduce per_bio_data\n\nIntroduce a field per_bio_data_size in struct dm_target.\n\nTargets can set this field in the constructor. If a target sets this\nfield to a non-zero value, \"per_bio_data_size\" bytes of auxiliary data\nare allocated for each bio submitted to the target. These data can be\nused for any purpose by the target and help us improve performance by\nremoving some per-target mempools.\n\nPer-bio data is accessed with dm_per_bio_data. The\nargument data_size must be the same as the value per_bio_data_size in\ndm_target.\n\nIf the target has a pointer to per_bio_data, it can get a pointer to\nthe bio with dm_bio_from_per_bio_data() function (data_size must be the\nsame as the value passed to dm_per_bio_data).\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d54eaa5a0fde0a202e4e91f200f818edcef15bee",
      "tree": "bb40893166dc8cd1d0f84c8087d021b66774a007",
      "parents": [
        "9c5091f2eeeffe5eca2ffe8a1bc28d312c8a5083"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Dec 21 20:23:36 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:36 2012 +0000"
      },
      "message": "dm: prepare to support WRITE SAME\n\nAllow targets to opt in to WRITE SAME support by setting\n\u0027num_write_same_requests\u0027 in the dm_target structure.\n\nA dm device will only advertise WRITE SAME support if all its\ntargets and all its underlying devices support it.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "96680d2b9174668100824d763382240c71baa811",
      "tree": "ec84c2347df47913cc98e3cfc1d43f427d51fa1f",
      "parents": [
        "4c9a44aebeaef35570a67aed17b72a2cf8d0b219",
        "1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:11:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:11:52 2012 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.infradead.org/users/eparis/notify\n\nPull filesystem notification updates from Eric Paris:\n \"This pull mostly is about locking changes in the fsnotify system.  By\n  switching the group lock from a spin_lock() to a mutex() we can now\n  hold the lock across things like iput().  This fixes a problem\n  involving unmounting a fs and having inodes be busy, first pointed out\n  by FAT, but reproducible with tmpfs.\n\n  This also restores signal driven I/O for inotify, which has been\n  broken since about 2.6.32.\"\n\nUgh.  I *hate* the timing of this.  It was rebased after the merge\nwindow opened, and then left to sit with the pull request coming the day\nbefore the merge window closes.  That\u0027s just crap.  But apparently the\npatches themselves have been around for over a year, just gathering\ndust, so now it\u0027s suddenly critical.\n\nFixed up semantic conflict in fs/notify/fdinfo.c as per Stephen\nRothwell\u0027s fixes from -next.\n\n* \u0027for-next\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: automatically restart syscalls\n  inotify: dont skip removal of watch descriptor if creation of ignored event failed\n  fanotify: dont merge permission events\n  fsnotify: make fasync generic for both inotify and fanotify\n  fsnotify: change locking order\n  fsnotify: dont put marks on temporary list when clearing marks by group\n  fsnotify: introduce locked versions of fsnotify_add_mark() and fsnotify_remove_mark()\n  fsnotify: pass group to fsnotify_destroy_mark()\n  fsnotify: use a mutex instead of a spinlock to protect a groups mark list\n  fanotify: add an extra flag to mark_remove_from_mask that indicates wheather a mark should be destroyed\n  fsnotify: take groups mark_lock before mark lock\n  fsnotify: use reference counting for groups\n  fsnotify: introduce fsnotify_get_group()\n  inotify, fanotify: replace fsnotify_put_group() with fsnotify_destroy_group()\n"
    },
    {
      "commit": "4c9a44aebeaef35570a67aed17b72a2cf8d0b219",
      "tree": "abb874fe7f50671627b282f6c7fb58db5e75a2e3",
      "parents": [
        "1f0377ff088ed2971c57debc9b0c3b846ec431fd",
        "cfde819088422503b5c69e03ab7bb90f87121d4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:00:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:00:43 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge the rest of Andrew\u0027s patches for -rc1:\n \"A bunch of fixes and misc missed-out-on things.\n\n  That\u0027ll do for -rc1.  I still have a batch of IPC patches which still\n  have a possible bug report which I\u0027m chasing down.\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (25 commits)\n  keys: use keyring_alloc() to create module signing keyring\n  keys: fix unreachable code\n  sendfile: allows bypassing of notifier events\n  SGI-XP: handle non-fatal traps\n  fat: fix incorrect function comment\n  Documentation: ABI: remove testing/sysfs-devices-node\n  proc: fix inconsistent lock state\n  linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors\n  memcg: don\u0027t register hotcpu notifier from -\u003ecss_alloc()\n  checkpatch: warn on uapi #includes that #include \u003cuapi/...\n  revert \"rtc: recycle id when unloading a rtc driver\"\n  mm: clean up transparent hugepage sysfs error messages\n  hfsplus: add error message for the case of failure of sync fs in delayed_sync_fs() method\n  hfsplus: rework processing of hfs_btree_write() returned error\n  hfsplus: rework processing errors in hfsplus_free_extents()\n  hfsplus: avoid crash on failed block map free\n  kcmp: include linux/ptrace.h\n  drivers/rtc/rtc-imxdi.c: must include \u003clinux/spinlock.h\u003e\n  mm: cma: WARN if freed memory is still in use\n  exec: do not leave bprm-\u003einterp on stack\n  ...\n"
    },
    {
      "commit": "1f0377ff088ed2971c57debc9b0c3b846ec431fd",
      "tree": "cd53c8981269e57e38e4285abd71cc990e1cfc67",
      "parents": [
        "54d46ea993744c5408e39ce0cb4851e13cbea716",
        "b729d75d19777a5dd34672020516eada43ff026f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:14:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:14:31 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull VFS update from Al Viro:\n \"fscache fixes, ESTALE patchset, vmtruncate removal series, assorted\n  misc stuff.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (79 commits)\n  vfs: make lremovexattr retry once on ESTALE error\n  vfs: make removexattr retry once on ESTALE\n  vfs: make llistxattr retry once on ESTALE error\n  vfs: make listxattr retry once on ESTALE error\n  vfs: make lgetxattr retry once on ESTALE\n  vfs: make getxattr retry once on an ESTALE error\n  vfs: allow lsetxattr() to retry once on ESTALE errors\n  vfs: allow setxattr to retry once on ESTALE errors\n  vfs: allow utimensat() calls to retry once on an ESTALE error\n  vfs: fix user_statfs to retry once on ESTALE errors\n  vfs: make fchownat retry once on ESTALE errors\n  vfs: make fchmodat retry once on ESTALE errors\n  vfs: have chroot retry once on ESTALE error\n  vfs: have chdir retry lookup and call once on ESTALE error\n  vfs: have faccessat retry once on an ESTALE error\n  vfs: have do_sys_truncate retry once on an ESTALE error\n  vfs: fix renameat to retry on ESTALE errors\n  vfs: make do_unlinkat retry once on ESTALE errors\n  vfs: make do_rmdir retry once on ESTALE errors\n  vfs: add a flags argument to user_path_parent\n  ...\n"
    },
    {
      "commit": "54d46ea993744c5408e39ce0cb4851e13cbea716",
      "tree": "8e38fa92cc2ae72e0353c44e1e68be9bf5a7a058",
      "parents": [
        "f59dc2bb5a50b26ea751f9eac1c81e4cc7de5257",
        "50ececcfa7d1acee085b2c518cad495062db6379"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull signal handling cleanups from Al Viro:\n \"sigaltstack infrastructure + conversion for x86, alpha and um,\n  COMPAT_SYSCALL_DEFINE infrastructure.\n\n  Note that there are several conflicts between \"unify\n  SS_ONSTACK/SS_DISABLE definitions\" and UAPI patches in mainline;\n  resolution is trivial - just remove definitions of SS_ONSTACK and\n  SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and\n  include/uapi/linux/signal.h contains the unified variant.\"\n\nFixed up conflicts as per Al.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  alpha: switch to generic sigaltstack\n  new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those\n  generic compat_sys_sigaltstack()\n  introduce generic sys_sigaltstack(), switch x86 and um to it\n  new helper: compat_user_stack_pointer()\n  new helper: restore_altstack()\n  unify SS_ONSTACK/SS_DISABLE definitions\n  new helper: current_user_stack_pointer()\n  missing user_stack_pointer() instances\n  Bury the conditionals from kernel_thread/kernel_execve series\n  COMPAT_SYSCALL_DEFINE: infrastructure\n"
    },
    {
      "commit": "c4e18497d8fd92eef2c6e7eadcc1a107ccd115ea",
      "tree": "9513b220cbdd633ad7c42299d61f2b46b9fb1561",
      "parents": [
        "154b454edaf6d94a69016db6c342c57fa935bbe9"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Thu Dec 20 15:05:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:20 2012 -0800"
      },
      "message": "linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors\n\nCommit 263a523d18bc (\"linux/kernel.h: Fix warning seen with W\u003d1 due to\nchange in DIV_ROUND_CLOSEST\") fixes a warning seen with W\u003d1 due to\nchange in DIV_ROUND_CLOSEST.\n\nUnfortunately, the C compiler converts divide operations with unsigned\ndivisors to unsigned, even if the dividend is signed and negative (for\nexample, -10 / 5U \u003d 858993457).  The C standard says \"If one operand has\nunsigned int type, the other operand is converted to unsigned int\", so\nthe compiler is not to blame.  As a result, DIV_ROUND_CLOSEST(0, 2U) and\nsimilar operations now return bad values, since the automatic conversion\nof expressions such as \"0 - 2U/2\" to unsigned was not taken into\naccount.\n\nFix by checking for the divisor variable type when deciding which\noperation to perform.  This fixes DIV_ROUND_CLOSEST(0, 2U), but still\nreturns bad values for negative dividends divided by unsigned divisors.\nMark the latter case as unsupported.\n\nOne observed effect of this problem is that the s2c_hwmon driver reports\na value of 4198403 instead of 0 if the ADC reads 0.\n\nOther impact is unpredictable.  Problem is seen if the divisor is an\nunsigned variable or constant and the dividend is less than (divisor/2).\n\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nReported-by: Juergen Beisert \u003cjbe@pengutronix.de\u003e\nTested-by: Juergen Beisert \u003cjbe@pengutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.7.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b66c5984017533316fd1951770302649baf1aa33",
      "tree": "78d1e5fc82a057c62699734602c8e5f7ca86b7a2",
      "parents": [
        "9f9c9cbb60576a1518d0bf93fb8e499cffccf377"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Dec 20 15:05:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "exec: do not leave bprm-\u003einterp on stack\n\nIf a series of scripts are executed, each triggering module loading via\nunprintable bytes in the script header, kernel stack contents can leak\ninto the command line.\n\nNormally execution of binfmt_script and binfmt_misc happens recursively.\nHowever, when modules are enabled, and unprintable bytes exist in the\nbprm-\u003ebuf, execution will restart after attempting to load matching\nbinfmt modules.  Unfortunately, the logic in binfmt_script and\nbinfmt_misc does not expect to get restarted.  They leave bprm-\u003einterp\npointing to their local stack.  This means on restart bprm-\u003einterp is\nleft pointing into unused stack memory which can then be copied into the\nuserspace argv areas.\n\nAfter additional study, it seems that both recursion and restart remains\nthe desirable way to handle exec with scripts, misc, and modules.  As\nsuch, we need to protect the changes to interp.\n\nThis changes the logic to require allocation for any changes to the\nbprm-\u003einterp.  To avoid adding a new kmalloc to every exec, the default\nvalue is left as-is.  Only when passing through binfmt_script or\nbinfmt_misc does an allocation take place.\n\nFor a proof of concept, see DoTest.sh from:\n\n   http://www.halfdog.net/Security/2012/LinuxKernelBinfmtScriptStackDataDisclosure/\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: halfdog \u003cme@halfdog.net\u003e\nCc: P J P \u003cppandit@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ac12b4b6d707937f9de6d09622823b2fd0c93ef",
      "tree": "7ac3f66abfcce206615abe9effd9e55f26c117a9",
      "parents": [
        "7955119e02d9fdf78a39fba8073f19ca6152613e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:02 2012 -0500"
      },
      "message": "vfs: turn is_dir argument to kern_path_create into a lookup_flags arg\n\nWhere we can pass in LOOKUP_DIRECTORY or LOOKUP_REVAL. Any other flags\npassed in here are currently ignored.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b9d6ba94b875192ef5e2dab92d72beea33b83c3d",
      "tree": "a06e604535e10ec0c469300f0d36cb5aa8c2782d",
      "parents": [
        "21e89c0c48bb799beb09181740796fc80c9676e2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 20 14:59:40 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:00 2012 -0500"
      },
      "message": "vfs: add a retry_estale helper function to handle retries on ESTALE\n\nThis function is expected to be called from path-based syscalls to help\nthem decide whether to try the lookup and call again in the event that\nthey got an -ESTALE return back on an earier try.\n\nCurrently, we only retry the call once on an ESTALE error, but in the\nevent that we decide that that\u0027s not enough in the future, we should be\nable to change the logic in this helper without too much effort.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "21e89c0c48bb799beb09181740796fc80c9676e2",
      "tree": "bd5aef34a980f189ad41c75e881d225bc854bf44",
      "parents": [
        "b911a6bdeef5848c468597d040e3407e0aee04ce",
        "91c7fbbf63f33c77d8d28de624834a21888842bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:49:14 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:49:14 2012 -0500"
      },
      "message": "Merge branch \u0027fscache\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into for-linus\n"
    },
    {
      "commit": "471667391a92bf7bf2cd4ff31a3ad88e5dec934b",
      "tree": "cb07ce436ed20f5f50e0e3c1db386a105ed65434",
      "parents": [
        "b9f61c3c0c8daed9844870bc9358e6d9fdb7eb61"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@kernel.org",
        "time": "Thu Dec 13 12:22:39 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:47:08 2012 -0500"
      },
      "message": "vfs: Remove useless function prototypes\n\nCommit 8e22cc88d68ca1a46d7d582938f979eb640ed30f removes the (un)lock_super\nfunction definitions but forgets to remove their prototypes.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7898575fc81bd707ce0844cb06874d48e39bbe09",
      "tree": "ab30305f0d957854497fababde6caff644b2bfca",
      "parents": [
        "d30357f2f0ec0bfb67fd39f8f76d22d02d78631e"
      ],
      "author": {
        "name": "Marco Stornelli",
        "email": "marco.stornelli@gmail.com",
        "time": "Sat Dec 15 12:00:02 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:46:29 2012 -0500"
      },
      "message": "mm: drop vmtruncate\n\nRemoved vmtruncate\n\nSigned-off-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d30357f2f0ec0bfb67fd39f8f76d22d02d78631e",
      "tree": "0923a2f8276af03293410cb2b78b2457d7fc6996",
      "parents": [
        "9014da7525dffef69131f717decf262e08ff3d58"
      ],
      "author": {
        "name": "Marco Stornelli",
        "email": "marco.stornelli@gmail.com",
        "time": "Sat Dec 15 11:59:20 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:46:29 2012 -0500"
      },
      "message": "vfs: drop vmtruncate\n\nRemoved vmtruncate\n\nSigned-off-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1f372dff1da37e2b36ae9085368fa46896398598",
      "tree": "f47b00dc61c9cf6c0eaa6d437bd7f91bfcb4d76d",
      "parents": [
        "7ef001e937e8b9cbedb2fc1c31dd681ac3b31927"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 13 20:03:13 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:34:00 2012 +0000"
      },
      "message": "FS-Cache: Mark cancellation of in-progress operation\n\nMark as cancelled an operation that is in progress rather than pending at the\ntime it is cancelled, and call fscache_complete_op() to cancel an operation so\nthat blocked ops can be started.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "36a02de5d7981435931d4608ee3e510b752e072b",
      "tree": "d0d8283ba3ab9bcb9224582677d8ec00ec987ef3",
      "parents": [
        "b4cf1e08c8ac95eff65faa53904f7f13ac78194b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 05 13:34:46 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:08:05 2012 +0000"
      },
      "message": "FS-Cache: Convert the object event ID #defines into an enum\n\nConvert the fscache_object event IDs from #defines into an enum.  Also add an\nextra label to the enum to carry the event count and redefine the event mask\nin terms of that.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "a02de9608595c8ef649ef03ae735b0b45e3d4396",
      "tree": "ca411825ecc8a30b70d869244a7e9412d0728486",
      "parents": [
        "ef778e7ae67cd426c30cad43378b908f5eb0bad5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:36 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:05:41 2012 +0000"
      },
      "message": "VFS: Make more complete truncate operation available to CacheFiles\n\nMake a more complete truncate operation available to CacheFiles (including\nsecurity checks and suchlike) so that it can use this to clear invalidated\ncache files.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "982197277c85018cc6eb77f1d3bef17933b0c5fd",
      "tree": "805fcef9ec7c1e83867b89332fd37f751594fae3",
      "parents": [
        "40889e8d9fc6355980cf2bc94ef4356c10dec4ec",
        "24ffb93872f7363a01ad639e3c8a9889b46c3f0a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields:\n \"Included this time:\n\n   - more nfsd containerization work from Stanislav Kinsbursky: we\u0027re\n     not quite there yet, but should be by 3.9.\n\n   - NFSv4.1 progress: implementation of basic backchannel security\n     negotiation and the mandatory BACKCHANNEL_CTL operation.  See\n\n       http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\n     for remaining TODO\u0027s\n\n   - Fixes for some bugs that could be triggered by unusual compounds.\n     Our xdr code wasn\u0027t designed with v4 compounds in mind, and it\n     shows.  A more thorough rewrite is still a todo.\n\n   - If you\u0027ve ever seen \"RPC: multiple fragments per record not\n     supported\" logged while using some sort of odd userland NFS client,\n     that should now be fixed.\n\n   - Further work from Jeff Layton on our mechanism for storing\n     information about NFSv4 clients across reboots.\n\n   - Further work from Bryan Schumaker on his fault-injection mechanism\n     (which allows us to discard selective NFSv4 state, to excercise\n     rarely-taken recovery code paths in the client.)\n\n   - The usual mix of miscellaneous bugs and cleanup.\n\n  Thanks to everyone who tested or contributed this cycle.\"\n\n* \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux: (111 commits)\n  nfsd4: don\u0027t leave freed stateid hashed\n  nfsd4: free_stateid can use the current stateid\n  nfsd4: cleanup: replace rq_resused count by rq_next_page pointer\n  nfsd: warn on odd reply state in nfsd_vfs_read\n  nfsd4: fix oops on unusual readlike compound\n  nfsd4: disable zero-copy on non-final read ops\n  svcrpc: fix some printks\n  NFSD: Correct the size calculation in fault_inject_write\n  NFSD: Pass correct buffer size to rpc_ntop\n  nfsd: pass proper net to nfsd_destroy() from NFSd kthreads\n  nfsd: simplify service shutdown\n  nfsd: replace boolean nfsd_up flag by users counter\n  nfsd: simplify NFSv4 state init and shutdown\n  nfsd: introduce helpers for generic resources init and shutdown\n  nfsd: make NFSd service structure allocated per net\n  nfsd: make NFSd service boot time per-net\n  nfsd: per-net NFSd up flag introduced\n  nfsd: move per-net startup code to separated function\n  nfsd: pass net to __write_ports() and down\n  nfsd: pass net to nfsd_set_nrthreads()\n  ...\n"
    },
    {
      "commit": "ef778e7ae67cd426c30cad43378b908f5eb0bad5",
      "tree": "4893f19487cb99e8ec0eb835ec4391d952641a9c",
      "parents": [
        "9f10523f891928330b7529da54c1a3cc65180b1a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:36 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:04:07 2012 +0000"
      },
      "message": "FS-Cache: Provide proper invalidation\n\nProvide a proper invalidation method rather than relying on the netfs retiring\nthe cookie it has and getting a new one.  The problem with this is that isn\u0027t\neasy for the netfs to make sure that it has completed/cancelled all its\noutstanding storage and retrieval operations on the cookie it is retiring.\n\nInstead, have the cache provide an invalidation method that will cancel or wait\nfor all currently outstanding operations before invalidating the cache, and\nwill cause new operations to queue up behind that.  Whilst invalidation is in\nprogress, some requests will be rejected until the cache can stack a barrier on\nthe operation queue to cause new operations to be deferred behind it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "40889e8d9fc6355980cf2bc94ef4356c10dec4ec",
      "tree": "c03f4e218477052c665cd9b01352f83e32c4a593",
      "parents": [
        "1ca22254b32657d65315af261ae0e699b8427fb7",
        "c3e946ce7276faf0b302acd25c7b874edbeba661"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:00:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:00:13 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull Ceph update from Sage Weil:\n \"There are a few different groups of commits here.  The largest is\n  Alex\u0027s ongoing work to enable the coming RBD features (cloning,\n  striping).  There is some cleanup in libceph that goes along with it.\n\n  Cyril and David have fixed some problems with NFS reexport (leaking\n  dentries and page locks), and there is a batch of patches from Yan\n  fixing problems with the fs client when running against a clustered\n  MDS.  There are a few bug fixes mixed in for good measure, many of\n  which will be going to the stable trees once they\u0027re upstream.\n\n  My apologies for the late pull.  There is still a gremlin in the rbd\n  map/unmap code and I was hoping to include the fix for that as well,\n  but we haven\u0027t been able to confirm the fix is correct yet; I\u0027ll send\n  that in a separate pull once it\u0027s nailed down.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (68 commits)\n  rbd: get rid of rbd_{get,put}_dev()\n  libceph: register request before unregister linger\n  libceph: don\u0027t use rb_init_node() in ceph_osdc_alloc_request()\n  libceph: init event-\u003enode in ceph_osdc_create_event()\n  libceph: init osd-\u003eo_node in create_osd()\n  libceph: report connection fault with warning\n  libceph: socket can close in any connection state\n  rbd: don\u0027t use ENOTSUPP\n  rbd: remove linger unconditionally\n  rbd: get rid of RBD_MAX_SEG_NAME_LEN\n  libceph: avoid using freed osd in __kick_osd_requests()\n  ceph: don\u0027t reference req after put\n  rbd: do not allow remove of mounted-on image\n  libceph: Unlock unprocessed pages in start_read() error path\n  ceph: call handle_cap_grant() for cap import message\n  ceph: Fix __ceph_do_pending_vmtruncate\n  ceph: Don\u0027t add dirty inode to dirty list if caps is in migration\n  ceph: Fix infinite loop in __wake_requests\n  ceph: Don\u0027t update i_max_size when handling non-auth cap\n  bdi_register: add __printf verification, fix arg mismatch\n  ...\n"
    },
    {
      "commit": "9f10523f891928330b7529da54c1a3cc65180b1a",
      "tree": "014731e89d44d1ca86cc665f4d39d8d2c25c69bf",
      "parents": [
        "ef46ed888efb1e8da33be5d33c9b54476289a43b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:35 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:58:26 2012 +0000"
      },
      "message": "FS-Cache: Fix operation state management and accounting\n\nFix the state management of internal fscache operations and the accounting of\nwhat operations are in what states.\n\nThis is done by:\n\n (1) Give struct fscache_operation a enum variable that directly represents the\n     state it\u0027s currently in, rather than spreading this knowledge over a bunch\n     of flags, who\u0027s processing the operation at the moment and whether it is\n     queued or not.\n\n     This makes it easier to write assertions to check the state at various\n     points and to prevent invalid state transitions.\n\n (2) Add an \u0027operation complete\u0027 state and supply a function to indicate the\n     completion of an operation (fscache_op_complete()) and make things call\n     it.  The final call to fscache_put_operation() can then check that an op\n     in the appropriate state (complete or cancelled).\n\n (3) Adjust the use of object-\u003en_ops, -\u003en_in_progress, -\u003en_exclusive to better\n     govern the state of an object:\n\n\t(a) The -\u003en_ops is now the number of extant operations on the object\n\t    and is now decremented by fscache_put_operation() only.\n\n\t(b) The -\u003en_in_progress is simply the number of objects that have been\n\t    taken off of the object\u0027s pending queue for the purposes of being\n\t    run.  This is decremented by fscache_op_complete() only.\n\n\t(c) The -\u003en_exclusive is the number of exclusive ops that have been\n\t    submitted and queued or are in progress.  It is decremented by\n\t    fscache_op_complete() and by fscache_cancel_op().\n\n     fscache_put_operation() and fscache_operation_gc() now no longer try to\n     clean up -\u003en_exclusive and -\u003en_in_progress.  That was leading to double\n     decrements against fscache_cancel_op().\n\n     fscache_cancel_op() now no longer decrements -\u003en_ops.  That was leading to\n     double decrements against fscache_put_operation().\n\n     fscache_submit_exclusive_op() now decides whether it has to queue an op\n     based on -\u003en_in_progress being \u003e 0 rather than -\u003en_ops \u003e 0 as the latter\n     will persist in being true even after all preceding operations have been\n     cancelled or completed.  Furthermore, if an object is active and there are\n     runnable ops against it, there must be at least one op running.\n\n (4) Add a remaining-pages counter (n_pages) to struct fscache_retrieval and\n     provide a function to record completion of the pages as they complete.\n\n     When n_pages reaches 0, the operation is deemed to be complete and\n     fscache_op_complete() is called.\n\n     Add calls to fscache_retrieval_complete() anywhere we\u0027ve finished with a\n     page we\u0027ve been given to read or allocate for.  This includes places where\n     we just return pages to the netfs for reading from the server and where\n     accessing the cache fails and we discard the proposed netfs page.\n\nThe bugs in the unfixed state management manifest themselves as oopses like the\nfollowing where the operation completion gets out of sync with return of the\ncookie by the netfs.  This is possible because the cache unlocks and returns\nall the netfs pages before recording its completion - which means that there\u0027s\nnothing to stop the netfs discarding them and returning the cookie.\n\n\nFS-Cache: Cookie \u0027NFS.fh\u0027 still has outstanding reads\n------------[ cut here ]------------\nkernel BUG at fs/fscache/cookie.c:519!\ninvalid opcode: 0000 [#1] SMP\nCPU 1\nModules linked in: cachefiles nfs fscache auth_rpcgss nfs_acl lockd sunrpc\n\nPid: 400, comm: kswapd0 Not tainted 3.1.0-rc7-fsdevel+ #1090                  /DG965RY\nRIP: 0010:[\u003cffffffffa007050a\u003e]  [\u003cffffffffa007050a\u003e] __fscache_relinquish_cookie+0x170/0x343 [fscache]\nRSP: 0018:ffff8800368cfb00  EFLAGS: 00010282\nRAX: 000000000000003c RBX: ffff880023cc8790 RCX: 0000000000000000\nRDX: 0000000000002f2e RSI: 0000000000000001 RDI: ffffffff813ab86c\nRBP: ffff8800368cfb50 R08: 0000000000000002 R09: 0000000000000000\nR10: ffff88003a1b7890 R11: ffff88001df6e488 R12: ffff880023d8ed98\nR13: ffff880023cc8798 R14: 0000000000000004 R15: ffff88003b8bf370\nFS:  0000000000000000(0000) GS:ffff88003bd00000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 00000000008ba008 CR3: 0000000023d93000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess kswapd0 (pid: 400, threadinfo ffff8800368ce000, task ffff88003b8bf040)\nStack:\n ffff88003b8bf040 ffff88001df6e528 ffff88001df6e528 ffffffffa00b46b0\n ffff88003b8bf040 ffff88001df6e488 ffff88001df6e620 ffffffffa00b46b0\n ffff88001ebd04c8 0000000000000004 ffff8800368cfb70 ffffffffa00b2c91\nCall Trace:\n [\u003cffffffffa00b2c91\u003e] nfs_fscache_release_inode_cookie+0x3b/0x47 [nfs]\n [\u003cffffffffa008f25f\u003e] nfs_clear_inode+0x3c/0x41 [nfs]\n [\u003cffffffffa0090df1\u003e] nfs4_evict_inode+0x2f/0x33 [nfs]\n [\u003cffffffff810d8d47\u003e] evict+0xa1/0x15c\n [\u003cffffffff810d8e2e\u003e] dispose_list+0x2c/0x38\n [\u003cffffffff810d9ebd\u003e] prune_icache_sb+0x28c/0x29b\n [\u003cffffffff810c56b7\u003e] prune_super+0xd5/0x140\n [\u003cffffffff8109b615\u003e] shrink_slab+0x102/0x1ab\n [\u003cffffffff8109d690\u003e] balance_pgdat+0x2f2/0x595\n [\u003cffffffff8103e009\u003e] ? process_timeout+0xb/0xb\n [\u003cffffffff8109dba3\u003e] kswapd+0x270/0x289\n [\u003cffffffff8104c5ea\u003e] ? __init_waitqueue_head+0x46/0x46\n [\u003cffffffff8109d933\u003e] ? balance_pgdat+0x595/0x595\n [\u003cffffffff8104bf7a\u003e] kthread+0x7f/0x87\n [\u003cffffffff813ad6b4\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff81026b98\u003e] ? finish_task_switch+0x45/0xc0\n [\u003cffffffff813abcdd\u003e] ? retint_restore_args+0xe/0xe\n [\u003cffffffff8104befb\u003e] ? __init_kthread_worker+0x53/0x53\n [\u003cffffffff813ad6b0\u003e] ? gs_change+0xb/0xb\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "ef46ed888efb1e8da33be5d33c9b54476289a43b",
      "tree": "d538dc01a075162f95da416da1fb5d6fd676445a",
      "parents": [
        "37491a1339df26259b06dfa33f30e574e9e52034"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:35 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:58:25 2012 +0000"
      },
      "message": "FS-Cache: Make cookie relinquishment wait for outstanding reads\n\nMake fscache_relinquish_cookie() log a warning and wait if there are any\noutstanding reads left on the cookie it was given.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "a13eea6bd9ee62ceacfc5243d54c84396bc86cb4",
      "tree": "46192468880c144f2b367deb5188267866ee1fac",
      "parents": [
        "fcc16882ac4532aaa644bff444f0c5d6228ba71e",
        "6666e6aa9f36b2bfd6b30072c07b34f2a24becf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 13:54:51 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 13:54:52 2012 -0800"
      },
      "message": "Merge tag \u0027for-3.8-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull new F2FS filesystem from Jaegeuk Kim:\n \"Introduce a new file system, Flash-Friendly File System (F2FS), to\n  Linux 3.8.\n\n  Highlights:\n   - Add initial f2fs source codes\n   - Fix an endian conversion bug\n   - Fix build failures on random configs\n   - Fix the power-off-recovery routine\n   - Minor cleanup, coding style, and typos patches\"\n\nFrom the Kconfig help text:\n\n  F2FS is based on Log-structured File System (LFS), which supports\n  versatile \"flash-friendly\" features. The design has been focused on\n  addressing the fundamental issues in LFS, which are snowball effect\n  of wandering tree and high cleaning overhead.\n\n  Since flash-based storages show different characteristics according to\n  the internal geometry or flash memory management schemes aka FTL, F2FS\n  and tools support various parameters not only for configuring on-disk\n  layout, but also for selecting allocation and cleaning algorithms.\n\nand there\u0027s an article by Neil Brown about it on lwn.net:\n\n  http://lwn.net/Articles/518988/\n\n* tag \u0027for-3.8-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (36 commits)\n  f2fs: fix tracking parent inode number\n  f2fs: cleanup the f2fs_bio_alloc routine\n  f2fs: introduce accessor to retrieve number of dentry slots\n  f2fs: remove redundant call to f2fs_put_page in delete entry\n  f2fs: make use of GFP_F2FS_ZERO for setting gfp_mask\n  f2fs: rewrite f2fs_bio_alloc to make it simpler\n  f2fs: fix a typo in f2fs documentation\n  f2fs: remove unused variable\n  f2fs: move error condition for mkdir at proper place\n  f2fs: remove unneeded initialization\n  f2fs: check read only condition before beginning write out\n  f2fs: remove unneeded memset from init_once\n  f2fs: show error in case of invalid mount arguments\n  f2fs: fix the compiler warning for uninitialized use of variable\n  f2fs: resolve build failures\n  f2fs: adjust kernel coding style\n  f2fs: fix endian conversion bugs reported by sparse\n  f2fs: remove unneeded version.h header file from f2fs.h\n  f2fs: update the f2fs document\n  f2fs: update Kconfig and Makefile\n  ...\n"
    },
    {
      "commit": "c4d6d8dbf335c7fa47341654a37c53a512b519bb",
      "tree": "14f0b9c7146a39aa3770c26bc7c480cf0d2c4f56",
      "parents": [
        "1800098549fc310cffffefdcb3722adaad0edda8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:32 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:54:30 2012 +0000"
      },
      "message": "CacheFiles: Fix the marking of cached pages\n\nUnder some circumstances CacheFiles defers the marking of pages with PG_fscache\nso that it can take advantage of pagevecs to reduce the number of calls to\nfscache_mark_pages_cached() and the netfs\u0027s hook to keep track of this.\n\nThere are, however, two problems with this:\n\n (1) It can lead to the PG_fscache mark being applied _after_ the page is set\n     PG_uptodate and unlocked (by the call to fscache_end_io()).\n\n (2) CacheFiles\u0027s ref on the page is dropped immediately following\n     fscache_end_io() - and so may not still be held when the mark is applied.\n     This can lead to the page being passed back to the allocator before the\n     mark is applied.\n\nFix this by, where appropriate, marking the page before calling\nfscache_end_io() and releasing the page.  This means that we can\u0027t take\nadvantage of pagevecs and have to make a separate call for each page to the\nmarking routines.\n\nThe symptoms of this are Bad Page state errors cropping up under memory\npressure, for example:\n\nBUG: Bad page state in process tar  pfn:002da\npage:ffffea0000009fb0 count:0 mapcount:0 mapping:          (null) index:0x1447\npage flags: 0x1000(private_2)\nPid: 4574, comm: tar Tainted: G        W   3.1.0-rc4-fsdevel+ #1064\nCall Trace:\n [\u003cffffffff8109583c\u003e] ? dump_page+0xb9/0xbe\n [\u003cffffffff81095916\u003e] bad_page+0xd5/0xea\n [\u003cffffffff81095d82\u003e] get_page_from_freelist+0x35b/0x46a\n [\u003cffffffff810961f3\u003e] __alloc_pages_nodemask+0x362/0x662\n [\u003cffffffff810989da\u003e] __do_page_cache_readahead+0x13a/0x267\n [\u003cffffffff81098942\u003e] ? __do_page_cache_readahead+0xa2/0x267\n [\u003cffffffff81098d7b\u003e] ra_submit+0x1c/0x20\n [\u003cffffffff8109900a\u003e] ondemand_readahead+0x28b/0x29a\n [\u003cffffffff81098ee2\u003e] ? ondemand_readahead+0x163/0x29a\n [\u003cffffffff810990ce\u003e] page_cache_sync_readahead+0x38/0x3a\n [\u003cffffffff81091d8a\u003e] generic_file_aio_read+0x2ab/0x67e\n [\u003cffffffffa008cfbe\u003e] nfs_file_read+0xa4/0xc9 [nfs]\n [\u003cffffffff810c22c4\u003e] do_sync_read+0xba/0xfa\n [\u003cffffffff81177a47\u003e] ? security_file_permission+0x7b/0x84\n [\u003cffffffff810c25dd\u003e] ? rw_verify_area+0xab/0xc8\n [\u003cffffffff810c29a4\u003e] vfs_read+0xaa/0x13a\n [\u003cffffffff810c2a79\u003e] sys_read+0x45/0x6c\n [\u003cffffffff813ac37b\u003e] system_call_fastpath+0x16/0x1b\n\nAs can be seen, PG_private_2 (\u003d\u003d PG_fscache) is set in the page flags.\n\nInstrumenting fscache_mark_pages_cached() to verify whether page-\u003emapping was\nset appropriately showed that sometimes it wasn\u0027t.  This led to the discovery\nthat sometimes the page has apparently been reclaimed by the time the marker\ngot to see it.\n\nReported-by: M. Stevens \u003cm@tippett.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "39e3c9553f34381a1b664c27b0c696a266a5735e",
      "tree": "f754789dccac7a017ee8feb602b01dd42b73023d",
      "parents": [
        "741b7c3f77937b2fb7c10aeb4c5c621463582583"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Nov 28 11:30:53 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 13:57:36 2012 -0500"
      },
      "message": "vfs: remove DCACHE_NEED_LOOKUP\n\nThe code that relied on that flag was ripped out of btrfs quite some\ntime ago, and never added back. Josef indicated that he was going to\ntake a different approach to the problem in btrfs, and that we\ncould just eliminate this flag.\n\nCc: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "787314c35fbb97e02823a1b8eb8cfa58f366cd49",
      "tree": "3fe5a484c1846c80361217a726997484533e8344",
      "parents": [
        "6491d4d02893d9787ba67279595990217177b351",
        "9c6ecf6a3ade2dc4b03a239af68058b22897af41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 10:07:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 10:07:25 2012 -0800"
      },
      "message": "Merge tag \u0027iommu-updates-v3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\nPull IOMMU updates from Joerg Roedel:\n \"A few new features this merge-window.  The most important one is\n  probably, that dma-debug now warns if a dma-handle is not checked with\n  dma_mapping_error by the device driver.  This requires minor changes\n  to some architectures which make use of dma-debug.  Most of these\n  changes have the respective Acks by the Arch-Maintainers.\n\n  Besides that there are updates to the AMD IOMMU driver for refactor\n  the IOMMU-Groups support and to make sure it does not trigger a\n  hardware erratum.\n\n  The OMAP changes (for which I pulled in a branch from Tony Lindgren\u0027s\n  tree) have a conflict in linux-next with the arm-soc tree.  The\n  conflict is in the file arch/arm/mach-omap2/clock44xx_data.c which is\n  deleted in the arm-soc tree.  It is safe to delete the file too so\n  solve the conflict.  Similar changes are done in the arm-soc tree in\n  the common clock framework migration.  A missing hunk from the patch\n  in the IOMMU tree will be submitted as a seperate patch when the\n  merge-window is closed.\"\n\n* tag \u0027iommu-updates-v3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (29 commits)\n  ARM: dma-mapping: support debug_dma_mapping_error\n  ARM: OMAP4: hwmod data: ipu and dsp to use parent clocks instead of leaf clocks\n  iommu/omap: Adapt to runtime pm\n  iommu/omap: Migrate to hwmod framework\n  iommu/omap: Keep mmu enabled when requested\n  iommu/omap: Remove redundant clock handling on ISR\n  iommu/amd: Remove obsolete comment\n  iommu/amd: Don\u0027t use 512GB pages\n  iommu/tegra: smmu: Move bus_set_iommu after probe for multi arch\n  iommu/tegra: gart: Move bus_set_iommu after probe for multi arch\n  iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all\n  tile: dma_debug: add debug_dma_mapping_error support\n  sh: dma_debug: add debug_dma_mapping_error support\n  powerpc: dma_debug: add debug_dma_mapping_error support\n  mips: dma_debug: add debug_dma_mapping_error support\n  microblaze: dma-mapping: support debug_dma_mapping_error\n  ia64: dma_debug: add debug_dma_mapping_error support\n  c6x: dma_debug: add debug_dma_mapping_error support\n  ARM64: dma_debug: add debug_dma_mapping_error support\n  intel-iommu: Prevent devices with RMRRs from being placed into SI Domain\n  ...\n"
    },
    {
      "commit": "b7dfde956daee23f4439d0c8562a5e38b43e79d9",
      "tree": "2ed71fb5c5eac6957fd1e1ad0a67be6c3282167a",
      "parents": [
        "03c850ec327c42a97e44c448b75983e12da417d9",
        "1b6370463e88b0c1c317de16d7b962acc1dab4f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 08:37:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 08:37:05 2012 -0800"
      },
      "message": "Merge tag \u0027virtio-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull virtio update from Rusty Russell:\n \"Some nice cleanups, and even a patch my wife did as a \"live\" demo for\n  Latinoware 2012.\n\n  There\u0027s a slightly non-trivial merge in virtio-net, as we cleaned up\n  the virtio add_buf interface while DaveM accepted the mq virtio-net\n  patches.\"\n\n* tag \u0027virtio-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (27 commits)\n  virtio_console: Add support for remoteproc serial\n  virtio_console: Merge struct buffer_token into struct port_buffer\n  virtio: add drv_to_virtio to make code clearly\n  virtio: use dev_to_virtio wrapper in virtio\n  virtio-mmio: Fix irq parsing in command line parameter\n  virtio_console: Free buffers from out-queue upon close\n  virtio: Convert dev_printk(KERN_\u003cLEVEL\u003e to dev_\u003clevel\u003e(\n  virtio_console: Use kmalloc instead of kzalloc\n  virtio_console: Free buffer if splice fails\n  virtio: tools: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: scsi: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: rpmsg: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: net: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: console: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: make virtqueue_add_buf() returning 0 on success, not capacity.\n  virtio: console: don\u0027t rely on virtqueue_add_buf() returning capacity.\n  virtio_net: don\u0027t rely on virtqueue_add_buf() returning capacity.\n  virtio-net: remove unused skb_vnet_hdr-\u003enum_sg field\n  virtio-net: correct capacity math on ring full\n  virtio: move queue_index and num_free fields into core struct virtqueue.\n  ...\n"
    },
    {
      "commit": "1ffab3d4139533eff6e27b7568825307e575faa6",
      "tree": "eca25b2ef6b9b7c8168625c2a5dea6b08fd37756",
      "parents": [
        "ddedec28b1d5144bc2c765d97003997f3505fd3a",
        "4d1839138220e7e35bf9e31c854e4e0196dea7a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 07:21:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 07:21:54 2012 -0800"
      },
      "message": "Merge tag \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM SoC fixes from Olof Johansson:\n \"This is a batch of fixes for arm-soc platforms, most of it is for OMAP\n  but there are others too (i.MX, Tegra, ep93xx).  Fixes warnings, some\n  broken platforms and drivers, etc.  A bit all over the map really.\"\n\nThere was some concern about commit 68136b10 (\"RM: sunxi: Change device\ntree naming scheme for sunxi\"), but Tony says:\n \"Looks like that\u0027s trivial to fix as needed, no need to rebuild the\n  branch to fix that AFAIK.\n\n  The fix can be done once Olof is available online again.\n\n  Linus, I suggest that you go ahead and pull this if there are no other\n  issues with this branch.\"\n\n* tag \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)\n  ARM: sunxi: Change device tree naming scheme for sunxi\n  ARM: ux500: fix missing include\n  ARM: u300: delete custom pin hog code\n  ARM: davinci: fix build break due to missing include\n  ARM: exynos: Fix warning due to missing \u0027inline\u0027 in stub\n  ARM: imx: Move platform-mx2-emma to arch/arm/mach-imx/devices\n  ARM i.MX51 clock: Fix regression since enabling MIPI/HSP clocks\n  ARM: dts: mx27: Fix the AIPI bus for FEC\n  ARM: OMAP2+: common: remove use of vram\n  ARM: OMAP3/4: cpuidle: fix sparse and checkpatch warnings\n  ARM: OMAP4: clock data: DPLLs are missing bypass clocks in their parent lists\n  ARM: OMAP4: clock data: div_iva_hs_clk is a power-of-two divider\n  ARM: OMAP4: Fix EMU clock domain always on\n  ARM: OMAP4460: Workaround ABE DPLL failing to turn-on\n  ARM: OMAP4: Enhance support for DPLLs with 4X multiplier\n  ARM: OMAP4: Add function table for non-M4X dplls\n  ARM: OMAP4: Update timer clock aliases\n  ARM: OMAP: Move plat/omap-serial.h to include/linux/platform_data/serial-omap.h\n  ARM: dts: Add build target for omap4-panda-a4\n  ARM: dts: OMAP2420: Correct H4 board memory size\n  ...\n"
    },
    {
      "commit": "ada65c74059f8c104f1b467c126205471634c435",
      "tree": "795e6bbf35c5a70b8778ec53bf5124ef546eefbb",
      "parents": [
        "b6fa0cd62c5b9d47f8e5d42cb2876677a5ed701e"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "maarten.lankhorst@canonical.com",
        "time": "Wed Dec 12 10:23:03 2012 +0100"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@linaro.org",
        "time": "Thu Dec 20 12:05:06 2012 +0530"
      },
      "message": "dma-buf: remove fallback for !CONFIG_DMA_SHARED_BUFFER\n\nDocumentation says that code requiring dma-buf should add it to\nselect, so inline fallbacks are not going to be used. A link error\nwill make it obvious what went wrong, instead of silently doing\nnothing at runtime.\n\nSigned-off-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Rob Clark \u003crob.clark@linaro.org\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "9eb127cc04c4005c8c0708ce92146d91da862b42",
      "tree": "bebab2c136110edf32d6cf32f898871df9fbb0e6",
      "parents": [
        "e32795503de02da4e7e74a5e039cc268f6a0ecfb",
        "152a2a8b5e1d4cbe91a7c66f1028db15164a3766"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 20:29:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 20:29:15 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Really fix tuntap SKB use after free bug, from Eric Dumazet.\n\n 2) Adjust SKB data pointer to point past the transport header before\n    calling icmpv6_notify() so that the headers are in the state which\n    that function expects.  From Duan Jiong.\n\n 3) Fix ambiguities in the new tuntap multi-queue APIs.  From Jason\n    Wang.\n\n 4) mISDN needs to use del_timer_sync(), from Konstantin Khlebnikov.\n\n 5) Don\u0027t destroy mutex after freeing up device private in mac802154,\n    fix also from Konstantin Khlebnikov.\n\n 6) Fix INET request socket leak in TCP and DCCP, from Christoph Paasch.\n\n 7) SCTP HMAC kconfig rework, from Neil Horman.\n\n 8) Fix SCTP jprobes function signature, otherwise things explode, from\n    Daniel Borkmann.\n\n 9) Fix typo in ipv6-offload Makefile variable reference, from Simon\n    Arlott.\n\n10) Don\u0027t fail USBNET open just because remote wakeup isn\u0027t supported,\n    from Oliver Neukum.\n\n11) be2net driver bug fixes from Sathya Perla.\n\n12) SOLOS PCI ATM driver bug fixes from Nathan Williams and David\n    Woodhouse.\n\n13) Fix MTU changing regression in 8139cp driver, from John Greene.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (45 commits)\n  solos-pci: ensure all TX packets are aligned to 4 bytes\n  solos-pci: add firmware upgrade support for new models\n  solos-pci: remove superfluous debug output\n  solos-pci: add GPIO support for newer versions on Geos board\n  8139cp: Prevent dev_close/cp_interrupt race on MTU change\n  net: qmi_wwan: add ZTE MF880\n  drivers/net: Use of_match_ptr() macro in smsc911x.c\n  drivers/net: Use of_match_ptr() macro in smc91x.c\n  ipv6: addrconf.c: remove unnecessary \"if\"\n  bridge: Correctly encode addresses when dumping mdb entries\n  bridge: Do not unregister all PF_BRIDGE rtnl operations\n  use generic usbnet_manage_power()\n  usbnet: generic manage_power()\n  usbnet: handle PM failure gracefully\n  ksz884x: fix receive polling race condition\n  qlcnic: update driver version\n  qlcnic: fix unused variable warnings\n  net: fec: forbid FEC_PTP on SoCs that do not support\n  be2net: fix wrong frag_idx reported by RX CQ\n  be2net: fix be_close() to ensure all events are ack\u0027ed\n  ...\n"
    },
    {
      "commit": "e32795503de02da4e7e74a5e039cc268f6a0ecfb",
      "tree": "2520af6bb12359458846d73842733c7cd07416a3",
      "parents": [
        "dcd6a97d1d821335051cbf35b1e2be54955d6276",
        "ab28698d33af05abab0bcf8021eafe38f7434f24",
        "bc1008cf7d243cf6ad87b1e16d3dbbd8c8d6f35c",
        "d3601e56cf64a3f2df6f6380cccb3644274406e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 20:26:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 20:26:16 2012 -0800"
      },
      "message": "Merge tags \u0027dt-for-linus\u0027, \u0027gpio-for-linus\u0027 and \u0027spi-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull devicetree, gpio and spi bugfixes from Grant Likely:\n \"Device tree v3.8 bug fix:\n   - Fixes an undefined struct device build error and a missing symbol\n     export.\n\n  GPIO device driver bug fixes:\n   - gpio/mvebu-gpio: Make mvebu-gpio depend on OF_CONFIG\n   - gpio/ich: Add missing spinlock init\n\n  SPI device driver bug fixes:\n   - Most of this is bug fixes to the core code and the sh-hspi and\n     s3c64xx device drivers.\n\n   - There is also a patch here to add DT support to the Atmel driver.\n     This one should have been in the first round, but I missed it.\n     It\u0027s a low risk change contained within a single driver and the\n     Atmel maintainer has requested it.\"\n\n* tag \u0027dt-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  of: define struct device in of_platform.h if !OF_DEVICE and !OF_ADDRESS\n  of: Fix export of of_find_matching_node_and_match()\n\n* tag \u0027gpio-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  gpio/mvebu-gpio: Make mvebu-gpio depend on OF_CONFIG\n  gpio/ich: Add missing spinlock init\n\n* tag \u0027spi-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi/sh-hspi: fix return value check in hspi_probe().\n  spi: fix tegra SPI binding examples\n  spi/atmel: add DT support\n  of/spi: Fix SPI module loading by using proper \"spi:\" modalias prefixes.\n  spi: Change FIFO flush operation and spi channel off\n  spi: Keep chipselect assertion during one message\n"
    },
    {
      "commit": "c40702c49faef05ae324f121d8b3e215244ee152",
      "tree": "b0b2a51b07e944497da5cb48fb461963a3762cad",
      "parents": [
        "9026843952adac5b123c7b8dc961e5c15828d9e1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 20 14:24:26 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:41 2012 -0500"
      },
      "message": "new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those\n\nnote that they are relying on access_ok() already checked by caller.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9026843952adac5b123c7b8dc961e5c15828d9e1",
      "tree": "4ef89cf05cf97427ceb2587fed94a6a12833d527",
      "parents": [
        "6bf9adfc90370b695cb111116e15fdc0e1906270"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 14 14:47:53 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:41 2012 -0500"
      },
      "message": "generic compat_sys_sigaltstack()\n\nAgain, conditional on CONFIG_GENERIC_SIGALTSTACK\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6bf9adfc90370b695cb111116e15fdc0e1906270",
      "tree": "b8e4d369cadad21f33b7a5f7f69d43665f821ddc",
      "parents": [
        "9b064fc3f95a8e44e929fdf4d6037334ea03d15b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 14 14:09:47 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:40 2012 -0500"
      },
      "message": "introduce generic sys_sigaltstack(), switch x86 and um to it\n\nConditional on CONFIG_GENERIC_SIGALTSTACK; architectures that do not\nselect it are completely unaffected\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9b064fc3f95a8e44e929fdf4d6037334ea03d15b",
      "tree": "dd1a2a6075667841f88b1ea8b62f4df2e18c3c68",
      "parents": [
        "5c49574ffd7ac07eae8c3b065d19e6ebc7e4760f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 14 13:49:35 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:40 2012 -0500"
      },
      "message": "new helper: compat_user_stack_pointer()\n\nCompat counterpart of current_user_stack_pointer(); for most of the biarch\narchitectures those two are identical, but e.g. arm64 and arm use different\nregisters for stack pointer...\n\nNote that amd64 variants of current_user_stack_pointer/compat_user_stack_pointer\ndo *not* rely on pt_regs having been through FIXUP_TOP_OF_STACK.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5c49574ffd7ac07eae8c3b065d19e6ebc7e4760f",
      "tree": "10c25476b152eca9917eea82fbecff28718eb2fc",
      "parents": [
        "031b6566983ad9c0247087f039af22b3f87596a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 18 15:29:16 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:40 2012 -0500"
      },
      "message": "new helper: restore_altstack()\n\nto be used by rt_sigreturn instances\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ca97bb541a1f5a735e697a8bba763cde3aab452",
      "tree": "548d835c0f13de780678922ba3b3ea4c841e8cd7",
      "parents": [
        "5208ba24e7826519d310474dedaed2f84b0ab6a0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 18 12:50:10 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:39 2012 -0500"
      },
      "message": "new helper: current_user_stack_pointer()\n\n\tCross-architecture equivalent of rdusp(); default is\nuser_stack_pointer(current_pt_regs()) - that works for almost all\nplatforms that have usp saved in pt_regs.  The only exception from\nthat is ia64 - we want memory stack, not the backing store for\nregister one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ae903caae267154de7cf8576b130ff474630596b",
      "tree": "a39d238d7fd1742f7f20cacbd24a4d1b4957176e",
      "parents": [
        "468366138850f20543f1d4878028900672b23dae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 14 12:44:11 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:38 2012 -0500"
      },
      "message": "Bury the conditionals from kernel_thread/kernel_execve series\n\nAll architectures have\n\tCONFIG_GENERIC_KERNEL_THREAD\n\tCONFIG_GENERIC_KERNEL_EXECVE\n\t__ARCH_WANT_SYS_EXECVE\nNone of them have __ARCH_WANT_KERNEL_EXECVE and there are only two callers\nof kernel_execve() (which is a trivial wrapper for do_execve() now) left.\nKill the conditionals and make both callers use do_execve().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "468366138850f20543f1d4878028900672b23dae",
      "tree": "89c694a8e8cbf60656ac69a7f783a34d75288c4a",
      "parents": [
        "541880d9a2c7871f6370071d55aa6662d329c51e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 23 09:12:59 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:06:58 2012 -0500"
      },
      "message": "COMPAT_SYSCALL_DEFINE: infrastructure\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf13a84d174947df4bb809edfb4887393642303e",
      "tree": "cdbe91423347d7d5ae02a01556ddae71dea26362",
      "parents": [
        "50d854c8a72b87ffa5523aa07c5013e2c6657714"
      ],
      "author": {
        "name": "Fabio Porcedda",
        "email": "fabio.porcedda@gmail.com",
        "time": "Fri Oct 05 12:16:09 2012 +0200"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed Dec 19 22:24:55 2012 +0100"
      },
      "message": "watchdog: WatchDog Timer Driver Core: fix comment\n\nSigned-off-by: Fabio Porcedda \u003cfabio.porcedda@gmail.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "ca2a88f56aa385890c7fd4ce9d2722b0848ca990",
      "tree": "935fd9cec938677d6529db203f24d803ed5f0b19",
      "parents": [
        "3935e89505a1c3ab3f3b0c7ef0eae54124f48905",
        "d4d4f1bf6a343b25220fdcdf559fd593dd3e25a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 12:47:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 12:47:41 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus-20121219\u0027 of git://git.infradead.org/linux-mtd\n\nPull MTD updates from David Woodhouse:\n - Various cleanups especially in NAND tests\n - Add support for NAND flash on BCMA bus\n - DT support for sh_flctl and denali NAND drivers\n - Kill obsolete/superceded drivers (fortunet, nomadik_nand)\n - Fix JFFS2 locking bug in ENOMEM failure path\n - New SPI flash chips, as usual\n - Support writing in \u0027reliable mode\u0027 for DiskOnChip G4\n - Debugfs support in nandsim\n\n* tag \u0027for-linus-20121219\u0027 of git://git.infradead.org/linux-mtd: (96 commits)\n  mtd: nand: typo in nand_id_has_period() comments\n  mtd: nand/gpio: use io{read,write}*_rep accessors\n  mtd: block2mtd: throttle writes by calling balance_dirty_pages_ratelimited.\n  mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems\n  mtd: nand/docg4: fix and improve read of factory bbt\n  mtd: nand/docg4: reserve bb marker area in ecclayout\n  mtd: nand/docg4: add support for writing in reliable mode\n  mtd: mxc_nand: reorder part_probes to let cmdline override other sources\n  mtd: mxc_nand: fix unbalanced clk_disable() in error path\n  mtd: nandsim: Introduce debugfs infrastructure\n  mtd: physmap_of: error checking to prevent a NULL pointer dereference\n  mtg: docg3: potential divide by zero in doc_write_oob()\n  mtd: bcm47xxnflash: writing support\n  mtd: tests/read: initialize buffer for whole next page\n  mtd: at91: atmel_nand: return bit flips for the PMECC read_page()\n  mtd: fix recovery after failed write-buffer operation in cfi_cmdset_0002.c\n  mtd: nand: onfi need to be probed in 8 bits mode\n  mtd: nand: add NAND_BUSWIDTH_AUTO to autodetect bus width\n  mtd: nand: print flash size during detection\n  mted: nand_wait_ready timeout fix\n  ...\n"
    },
    {
      "commit": "2dd7c8cf29769f6b66f26b501db2364640c2c9d0",
      "tree": "4b1e49cc9ff436092fbf086d6748a0cf3f3940c1",
      "parents": [
        "a1c088e01b71d90852b0df5a77cdae46bd0e0c05"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Dec 18 04:45:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 19 12:46:40 2012 -0800"
      },
      "message": "usbnet: generic manage_power()\n\nCentralise common code for manage_power() in usbnet\nby making a generic simple implementation\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1c088e01b71d90852b0df5a77cdae46bd0e0c05",
      "tree": "5aa6cae3330418b279d8f77d2bb466f75eee9018",
      "parents": [
        "4945106d21926eadaaa1c5465d26d9a0d26a2420"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Dec 18 04:45:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 19 12:46:40 2012 -0800"
      },
      "message": "usbnet: handle PM failure gracefully\n\nIf a device fails to do remote wakeup, this is no reason\nto abort an open totally. This patch just continues without\nruntime PM.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c439b5586e9200f7e6287ee77c175c4d5b0eeed",
      "tree": "8194cef0f549fbb81aa70985401220c91f228ee7",
      "parents": [
        "7b8157bedce2a7b5f07f7ec98c96cd6bd64a2a84"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Dec 06 17:12:00 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Dec 19 11:47:22 2012 -0800"
      },
      "message": "mlx4_core: Allow choosing flow steering mode\n\nDevice managed flow steering will be enabled only under administrator\ndirective provided through setting the existing module parameter\nlog_num_mgm_entry_size to -1 (if the device actually supports flow\nsteering).  If flow steering isn\u0027t requested or not available, the\ndriver will use the value of log_num_mgm_entry_size and B0 steering.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "74779e22261172ea728b989310f6ecc991b57d62",
      "tree": "a6c71e02bf6cefc9e0d261dd1ab11f4a7433ed92",
      "parents": [
        "5031a2a7c12b837a0913c4139ebeb6bbff5e1aa5",
        "20e8ac3eea4dcfeea6ebeae57cd2c739fa48da11"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 08:19:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 08:19:07 2012 -0800"
      },
      "message": "Merge tag \u0027for-3.8-rc1\u0027 of git://gitorious.org/linux-pwm/linux-pwm\n\nPull pwm changes from Thierry Reding:\n \"A new driver has been added for the SPEAr platform and the\n  TWL4030/6030 driver has been replaced by two drivers that control the\n  regular PWMs and the PWM driven LEDs provided by the chips.\n\n  The vt8500, tiecap, tiehrpwm, i.MX, LPC32xx and Samsung drivers have\n  all been improved and the device tree bindings now support the PWM\n  signal polarity.\"\n\nFix up trivial conflicts due to __devinit/exit removal.\n\n* tag \u0027for-3.8-rc1\u0027 of git://gitorious.org/linux-pwm/linux-pwm: (21 commits)\n  pwm: samsung: add missing s3c-\u003epwm_id assignment\n  pwm: lpc32xx: Set the chip base for dynamic allocation\n  pwm: lpc32xx: Properly disable the clock on device removal\n  pwm: lpc32xx: Fix the PWM polarity\n  pwm: i.MX: eliminate build warning\n  pwm: Export of_pwm_xlate_with_flags()\n  pwm: Remove pwm-twl6030 driver\n  pwm: New driver to support PWM driven LEDs on TWL4030/6030 series of PMICs\n  pwm: New driver to support PWMs on TWL4030/6030 series of PMICs\n  pwm: pwm-tiehrpwm: pinctrl support\n  pwm: tiehrpwm: Add device-tree binding\n  pwm: pwm-tiehrpwm: Adding TBCLK gating support.\n  pwm: pwm-tiecap: pinctrl support\n  pwm: tiecap: Add device-tree binding\n  pwm: Add TI PWM subsystem driver\n  pwm: Device tree support for PWM polarity\n  pwm: vt8500: Ensure PWM clock is enabled during pwm_config\n  pwm: vt8500: Fix build error\n  pwm: spear: Staticize spear_pwm_config()\n  pwm: Add SPEAr PWM chip driver support\n  ...\n"
    },
    {
      "commit": "ab28698d33af05abab0bcf8021eafe38f7434f24",
      "tree": "a8f357f0352f4dc7408bfc16d88664783d2b5f4d",
      "parents": [
        "80c2022e5645a1a789531d13010292c5c18bf1db"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jogo@openwrt.org",
        "time": "Wed Dec 19 09:10:09 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Dec 19 16:15:17 2012 +0000"
      },
      "message": "of: define struct device in of_platform.h if !OF_DEVICE and !OF_ADDRESS\n\nFixes the following warning:\n\ninclude/linux/of_platform.h:106:13: warning: \u0027struct device\u0027 declared\ninside parameter list [enabled by default]\ninclude/linux/of_platform.h:106:13: warning: its scope is only this\ndefinition or declaration, which is probably not what you want [enabled\nby default]\n\nSigned-off-by: Jonas Gorski \u003cjogo@openwrt.org\u003e\nSigned-off-by: Rob Herring \u003crobherring2@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "7a684c452e2589f3ddd7e2d466b4f747d3715ad9",
      "tree": "fed803e7450770993575b37807ba2195eafd5b0e",
      "parents": [
        "7f2de8171ddf28fdb2ca7f9a683ee1207849f718",
        "e10e1774efbdaec54698454200619a03a01e1d64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 07:55:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 07:55:08 2012 -0800"
      },
      "message": "Merge tag \u0027modules-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull module update from Rusty Russell:\n \"Nothing all that exciting; a new module-from-fd syscall for those who\n  want to verify the source of the module (ChromeOS) and/or use standard\n  IMA on it or other security hooks.\"\n\n* tag \u0027modules-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:\n  MODSIGN: Fix kbuild output when using default extra_certificates\n  MODSIGN: Avoid using .incbin in C source\n  modules: don\u0027t hand 0 to vmalloc.\n  module: Remove a extra null character at the top of module-\u003estrtab.\n  ASN.1: Use the ASN1_LONG_TAG and ASN1_INDEFINITE_LENGTH constants\n  ASN.1: Define indefinite length marker constant\n  moduleparam: use __UNIQUE_ID()\n  __UNIQUE_ID()\n  MODSIGN: Add modules_sign make target\n  powerpc: add finit_module syscall.\n  ima: support new kernel module syscall\n  add finit_module syscall to asm-generic\n  ARM: add finit_module syscall to ARM\n  security: introduce kernel_module_from_file hook\n  module: add flags arg to sys_finit_module()\n  module: add syscall to load module from fd\n"
    },
    {
      "commit": "7f2de8171ddf28fdb2ca7f9a683ee1207849f718",
      "tree": "d89da981ac762de3fd32e1c08ddc8041f3c37519",
      "parents": [
        "59771079c18c44e39106f0f30054025acafadb41",
        "cf66bb93e0f75e0a4ba1ec070692618fa028e994"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 07:52:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 07:52:48 2012 -0800"
      },
      "message": "Merge tag \u0027byteswap-for-linus-20121219\u0027 of git://git.infradead.org/users/dwmw2/byteswap\n\nPull preparatory gcc intrisics bswap patch from David Woodhouse:\n \"This single patch is effectively a no-op for now.  It enables\n  architectures to opt in to using GCC\u0027s __builtin_bswapXX() intrinsics\n  for byteswapping, and if we merge this now then the architecture\n  maintainers can enable it for their arch during the next cycle without\n  dependency issues.\n\n  It\u0027s worth making it a par-arch opt-in, because although in *theory*\n  the compiler should never do worse than hand-coded assembler (and of\n  course it also ought to do a lot better on platforms like Atom and\n  PowerPC which have load-and-swap or store-and-swap instructions), that\n  isn\u0027t always the case.  See\n\n     http://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d46453\n\n  for example.\"\n\n* tag \u0027byteswap-for-linus-20121219\u0027 of git://git.infradead.org/users/dwmw2/byteswap:\n  byteorder: allow arch to opt to use GCC intrinsics for byteswapping\n"
    },
    {
      "commit": "59771079c18c44e39106f0f30054025acafadb41",
      "tree": "9463781cf1d6f3055bc87840190cc322b59daa67",
      "parents": [
        "752451f01c4567b506bf4343082682dbb8fb30dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 07:18:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 07:18:35 2012 -0800"
      },
      "message": "blk: avoid divide-by-zero with zero discard granularity\n\nCommit 8dd2cb7e880d (\"block: discard granularity might not be power of\n2\") changed a couple of \u0027binary and\u0027 operations into modulus operations.\nWhich turned the harmless case of a zero discard_granularity into a\npossible divide-by-zero.\n\nThe code also had a much more subtle bug: it was doing the modulus of a\nvalue in bytes using \u0027sector_t\u0027.  That was always conceptually wrong,\nbut didn\u0027t actually matter back when the code assumed a power-of-two\ngranularity: we only looked at the low bits anyway.\n\nBut with potentially arbitrary sector numbers, using a \u0027sector_t\u0027 to\nexpress bytes is very very wrong: depending on configuration it limits\nthe starting offset of the device to just 32 bits, and any overflow\nwould result in a wrong value if the modulus wasn\u0027t a power-of-two.\n\nSo re-write the code to not only protect against the divide-by-zero, but\nto do the starting sector arithmetic in sectors, and using the proper\ntypes.\n\n[ For any mathematicians out there: it also looks monumentally stupid to\n  do the \u0027modulo granularity\u0027 operation *twice*, never mind having a \"+\n  granularity\" in the second modulus op.\n\n  But that\u0027s the easiest way to avoid negative values or overflow, and\n  it is how the original code was done. ]\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nReported-by: Doug Anderson \u003cdianders@chromium.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Shaohua Li \u003cshli@fusionio.com\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "752451f01c4567b506bf4343082682dbb8fb30dd",
      "tree": "ec2ec2989c93e567952ddc1ec879013aa2704f0a",
      "parents": [
        "673ab8783b596cda5b616b317b1a1b47480c66fd",
        "972deb4f49b5b6703d9c6117ba0aeda2180d4447"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 16:51:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 16:51:10 2012 -0800"
      },
      "message": "Merge branch \u0027i2c-embedded/for-next\u0027 of git://git.pengutronix.de/git/wsa/linux\n\nPull i2c-embedded changes from Wolfram Sang:\n - CBUS driver (an I2C variant)\n - continued rework of the omap driver\n - s3c2410 gets lots of fixes and gains pinctrl support\n - at91 gains DMA support\n - the GPIO muxer gains devicetree probing\n - typical fixes and additions all over\n\n* \u0027i2c-embedded/for-next\u0027 of git://git.pengutronix.de/git/wsa/linux: (45 commits)\n  i2c: omap: Remove the OMAP_I2C_FLAG_RESET_REGS_POSTIDLE flag\n  i2c: at91: add dma support\n  i2c: at91: change struct members indentation\n  i2c: at91: fix compilation warning\n  i2c: mxs: Do not disable the I2C SMBus quick mode\n  i2c: mxs: Handle i2c DMA failure properly\n  i2c: s3c2410: Remove recently introduced performance overheads\n  i2c: ocores: Move grlib set/get functions into #ifdef CONFIG_OF block\n  i2c: s3c2410: Add fix for i2c suspend/resume\n  i2c: s3c2410: Fix code to free gpios\n  i2c: i2c-cbus-gpio: introduce driver\n  i2c: ocores: Add support for the GRLIB port of the controller and use function pointers for getreg and setreg functions\n  i2c: ocores: Add irq support for sparc\n  i2c: omap: Move the remove constraint\n  ARM: dts: cfa10049: Add the i2c muxer buses to the CFA-10049\n  i2c: s3c2410: do not special case HDMIPHY stuck bus detection\n  i2c: s3c2410: use exponential back off while polling for bus idle\n  i2c: s3c2410: do not generate STOP for QUIRK_HDMIPHY\n  i2c: s3c2410: grab adapter lock while changing i2c clock\n  i2c: s3c2410: Add support for pinctrl\n  ...\n"
    },
    {
      "commit": "673ab8783b596cda5b616b317b1a1b47480c66fd",
      "tree": "d3fc9bb4279720c53d0dc69c2a34c40635cf05f3",
      "parents": [
        "d7b96ca5d08a8f2f836feb2b3b3bd721d2837a8e",
        "3cf23841b4b76eb94d3f8d0fb3627690e4431413"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:08:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:08:12 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (more patches from Andrew)\n\nMerge patches from Andrew Morton:\n \"Most of the rest of MM, plus a few dribs and drabs.\n\n  I still have quite a few irritating patches left around: ones with\n  dubious testing results, lack of review, ones which should have gone\n  via maintainer trees but the maintainers are slack, etc.\n\n  I need to be more activist in getting these things wrapped up outside\n  the merge window, but they\u0027re such a PITA.\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (48 commits)\n  mm/vmscan.c: avoid possible deadlock caused by too_many_isolated()\n  vmscan: comment too_many_isolated()\n  mm/kmemleak.c: remove obsolete simple_strtoul\n  mm/memory_hotplug.c: improve comments\n  mm/hugetlb: create hugetlb cgroup file in hugetlb_init\n  mm/mprotect.c: coding-style cleanups\n  Documentation: ABI: /sys/devices/system/node/\n  slub: drop mutex before deleting sysfs entry\n  memcg: add comments clarifying aspects of cache attribute propagation\n  kmem: add slab-specific documentation about the kmem controller\n  slub: slub-specific propagation changes\n  slab: propagate tunable values\n  memcg: aggregate memcg cache values in slabinfo\n  memcg/sl[au]b: shrink dead caches\n  memcg/sl[au]b: track all the memcg children of a kmem_cache\n  memcg: destroy memcg caches\n  sl[au]b: allocate objects from memcg cache\n  sl[au]b: always get the cache from its page in kmem_cache_free()\n  memcg: skip memcg kmem allocations in specified code regions\n  memcg: infrastructure to match an allocation to the right cache\n  ...\n"
    },
    {
      "commit": "7179e7bf4592ac5a7b30257a7df6259ee81e51da",
      "tree": "a3fb75a87e1a18b153c18aa7e4530d35c768e8b6",
      "parents": [
        "7d12efaea7e74bf8f4953412514e836313fa32ec"
      ],
      "author": {
        "name": "Jianguo Wu",
        "email": "wujianguo@huawei.com",
        "time": "Tue Dec 18 14:23:19 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:15 2012 -0800"
      },
      "message": "mm/hugetlb: create hugetlb cgroup file in hugetlb_init\n\nBuild kernel with CONFIG_HUGETLBFS\u003dy,CONFIG_HUGETLB_PAGE\u003dy and\nCONFIG_CGROUP_HUGETLB\u003dy, then specify hugepagesz\u003dxx boot option, system\nwill fail to boot.\n\nThis failure is caused by following code path:\n\n  setup_hugepagesz\n    hugetlb_add_hstate\n      hugetlb_cgroup_file_init\n        cgroup_add_cftypes\n          kzalloc \u003c--slab is *not available* yet\n\nFor this path, slab is not available yet, so memory allocated will be\nfailed, and cause WARN_ON() in hugetlb_cgroup_file_init().\n\nSo I move hugetlb_cgroup_file_init() into hugetlb_init().\n\n[akpm@linux-foundation.org: tweak coding-style, remove pointless __init on inlined function]\n[akpm@linux-foundation.org: fix warning]\nSigned-off-by: Jianguo Wu \u003cwujianguo@huawei.com\u003e\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebe945c27628fca03723582eba138acc2e2f3d15",
      "tree": "5998e8dd874aedf3b8873d0ffeaf658d10505655",
      "parents": [
        "92e793495597af4135d94314113bf13eafb0e663"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:23:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:15 2012 -0800"
      },
      "message": "memcg: add comments clarifying aspects of cache attribute propagation\n\nThis patch clarifies two aspects of cache attribute propagation.\n\nFirst, the expected context for the for_each_memcg_cache macro in\nmemcontrol.h.  The usages already in the codebase are safe.  In mm/slub.c,\nit is trivially safe because the lock is acquired right before the loop.\nIn mm/slab.c, it is less so: the lock is acquired by an outer function a\nfew steps back in the stack, so a VM_BUG_ON() is added to make sure it is\nindeed safe.\n\nA comment is also added to detail why we are returning the value of the\nparent cache and ignoring the children\u0027s when we propagate the attributes.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Kamezawa Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "107dab5c92d5f9c3afe962036e47c207363255c7",
      "tree": "17722e888fc00428ef1614a097bae82d1e9de87a",
      "parents": [
        "943a451a87d229ca564a27274b58eaeae35fde5d"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:23:05 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "slub: slub-specific propagation changes\n\nSLUB allows us to tune a particular cache behavior with sysfs-based\ntunables.  When creating a new memcg cache copy, we\u0027d like to preserve any\ntunables the parent cache already had.\n\nThis can be done by tapping into the store attribute function provided by\nthe allocator.  We of course don\u0027t need to mess with read-only fields.\nSince the attributes can have multiple types and are stored internally by\nsysfs, the best strategy is to issue a -\u003eshow() in the root cache, and\nthen -\u003estore() in the memcg cache.\n\nThe drawback of that, is that sysfs can allocate up to a page in buffering\nfor show(), that we are likely not to need, but also can\u0027t guarantee.  To\navoid always allocating a page for that, we can update the caches at store\ntime with the maximum attribute size ever stored to the root cache.  We\nwill then get a buffer big enough to hold it.  The corolary to this, is\nthat if no stores happened, nothing will be propagated.\n\nIt can also happen that a root cache has its tunables updated during\nnormal system operation.  In this case, we will propagate the change to\nall caches that are already active.\n\n[akpm@linux-foundation.org: tweak code to avoid __maybe_unused]\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "943a451a87d229ca564a27274b58eaeae35fde5d",
      "tree": "607a0bc1aba3911602dec1448be2ace190b5c1eb",
      "parents": [
        "749c54151a6e5b229e4ae067dbc651e54b161fbc"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:23:03 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "slab: propagate tunable values\n\nSLAB allows us to tune a particular cache behavior with tunables.  When\ncreating a new memcg cache copy, we\u0027d like to preserve any tunables the\nparent cache already had.\n\nThis could be done by an explicit call to do_tune_cpucache() after the\ncache is created.  But this is not very convenient now that the caches are\ncreated from common code, since this function is SLAB-specific.\n\nAnother method of doing that is taking advantage of the fact that\ndo_tune_cpucache() is always called from enable_cpucache(), which is\ncalled at cache initialization.  We can just preset the values, and then\nthings work as expected.\n\nIt can also happen that a root cache has its tunables updated during\nnormal system operation.  In this case, we will propagate the change to\nall caches that are already active.\n\nThis change will require us to move the assignment of root_cache in\nmemcg_params a bit earlier.  We need this to be already set - which\nmemcg_kmem_register_cache will do - when we reach __kmem_cache_create()\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "749c54151a6e5b229e4ae067dbc651e54b161fbc",
      "tree": "8d2d858e76e44d1bbf64439c189a57c18c8e60ae",
      "parents": [
        "22933152934f30de6f05b600c03f8a08f853a8d2"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:23:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "memcg: aggregate memcg cache values in slabinfo\n\nWhen we create caches in memcgs, we need to display their usage\ninformation somewhere.  We\u0027ll adopt a scheme similar to /proc/meminfo,\nwith aggregate totals shown in the global file, and per-group information\nstored in the group itself.\n\nFor the time being, only reads are allowed in the per-group cache.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cf2798240a2a2230cb16a391beef98d8a7ad362",
      "tree": "989f28b74d08bf91938cc5a7fe632faa32e7542f",
      "parents": [
        "1f458cbf122288b23620ee822e19bcbb76c8d6ec"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:22:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "memcg/sl[au]b: track all the memcg children of a kmem_cache\n\nThis enables us to remove all the children of a kmem_cache being\ndestroyed, if for example the kernel module it\u0027s being used in gets\nunloaded.  Otherwise, the children will still point to the destroyed\nparent.\n\nSigned-off-by: Suleiman Souhlal \u003csuleiman@google.com\u003e\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "1f458cbf122288b23620ee822e19bcbb76c8d6ec"
}
