1. 29 Dec, 2013 2 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8cf126d9
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "There is a small EFI fix and a big power regression fix in this batch.
      
        My queue also had a fix for downing a CPU when there are insufficient
        number of IRQ vectors available, but I'm holding that one for now due
        to recent bug reports"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Don't select EFI from certain special ACPI drivers
        x86 idle: Repair large-server 50-watt idle-power regression
      8cf126d9
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.13-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · bddffa28
      Linus Torvalds authored
      Pull ACPI and power management fixes and new device IDs from Rafael Wysocki:
      
       - Fix for a cpufreq regression causing stale sysfs files to be left
         behind during system resume if cpufreq_add_dev() fails for one or
         more CPUs from Viresh Kumar.
      
       - Fix for a bug in cpufreq causing CONFIG_CPU_FREQ_DEFAULT_* to be
         ignored when the intel_pstate driver is used from Jason Baron.
      
       - System suspend fix for a memory leak in pm_vt_switch_unregister()
         that forgot to release objects after removing them from
         pm_vt_switch_list.  From Masami Ichikawa.
      
       - Intel Valley View device ID and energy unit encoding update for the
         (recently added) Intel RAPL (Running Average Power Limit) driver from
         Jacob Pan.
      
       - Intel Bay Trail SoC GPIO and ACPI device IDs for the Low Power
         Subsystem (LPSS) ACPI driver from Paul Drews.
      
      * tag 'pm+acpi-3.13-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        powercap / RAPL: add support for ValleyView Soc
        PM / sleep: Fix memory leak in pm_vt_switch_unregister().
        cpufreq: Use CONFIG_CPU_FREQ_DEFAULT_* to set initial policy for setpolicy drivers
        cpufreq: remove sysfs files for CPUs which failed to come back after resume
        ACPI: Add BayTrail SoC GPIO and LPSS ACPI IDs
      bddffa28
  2. 26 Dec, 2013 3 commits
    • Rafael J. Wysocki's avatar
      Merge branches 'powercap' and 'acpi-lpss' with new device IDs · bfde19c4
      Rafael J. Wysocki authored
      * powercap:
        powercap / RAPL: add support for ValleyView Soc
      
      * acpi-lpss:
        ACPI: Add BayTrail SoC GPIO and LPSS ACPI IDs
      bfde19c4
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpufreq' and 'pm-sleep' containing PM fixes · 1a672535
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: Use CONFIG_CPU_FREQ_DEFAULT_* to set initial policy for setpolicy drivers
        cpufreq: remove sysfs files for CPUs which failed to come back after resume
      
      * pm-sleep:
        PM / sleep: Fix memory leak in pm_vt_switch_unregister().
      1a672535
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · f41bfc94
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "A collection of bug fixes destined for stable and some printk cleanups
        and a patch so that instead of BUG'ing we use the ext4_error()
        framework to mark the file system is corrupted"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: add explicit casts when masking cluster sizes
        ext4: fix deadlock when writing in ENOSPC conditions
        jbd2: rename obsoleted msg JBD->JBD2
        jbd2: revise KERN_EMERG error messages
        jbd2: don't BUG but return ENOSPC if a handle runs out of space
        ext4: Do not reserve clusters when fs doesn't support extents
        ext4: fix del_timer() misuse for ->s_err_report
        ext4: check for overlapping extents in ext4_valid_extent_entries()
        ext4: fix use-after-free in ext4_mb_new_blocks
        ext4: call ext4_error_inode() if jbd2_journal_dirty_metadata() fails
      f41bfc94
  3. 24 Dec, 2013 8 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · c5fdd531
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       - fix for a memory leak on certain unplug events
       - a collection of bcache fixes from Kent and Nicolas
       - a few null_blk fixes and updates form Matias
       - a marking of static of functions in the stec pci-e driver
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        null_blk: support submit_queues on use_per_node_hctx
        null_blk: set use_per_node_hctx param to false
        null_blk: corrections to documentation
        null_blk: warning on ignored submit_queues param
        null_blk: refactor init and init errors code paths
        null_blk: documentation
        null_blk: mem garbage on NUMA systems during init
        drivers: block: Mark the functions as static in skd_main.c
        bcache: New writeback PD controller
        bcache: bugfix for race between moving_gc and bucket_invalidate
        bcache: fix for gc and writeback race
        bcache: bugfix - moving_gc now moves only correct buckets
        bcache: fix for gc crashing when no sectors are used
        bcache: Fix heap_peek() macro
        bcache: Fix for can_attach_cache()
        bcache: Fix dirty_data accounting
        bcache: Use uninterruptible sleep in writeback
        bcache: kthread don't set writeback task to INTERUPTIBLE
        block: fix memory leaks on unplugging block device
        bcache: fix sparse non static symbol warning
      c5fdd531
    • Linus Torvalds's avatar
      Merge branch 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 70e672fa
      Linus Torvalds authored
      Pull cgroup fixes from Tejun Heo:
       "Two fixes.  One fixes a bug in the error path of cgroup_create().  The
        other changes cgrp->id lifetime rule so that the id doesn't get
        recycled before all controller states are destroyed.  This premature
        id recycling made memcg malfunction"
      
      * 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: don't recycle cgroup id until all csses' have been destroyed
        cgroup: fix cgroup_create() error handling path
      70e672fa
    • Linus Torvalds's avatar
      Merge branch 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · f6398600
      Linus Torvalds authored
      Pull percpu fix from Tejun Heo:
       "A single commit to fix a spurious sparse warning coming from
        DEFINE_PER_CPU()'s hack to support the use of weak symbols.  Shouldn't
        cause observable behavior change"
      
      * 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: fix spurious sparse warnings from DEFINE_PER_CPU()
      f6398600
    • Linus Torvalds's avatar
      Merge branch 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 4b69316e
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "There's one interseting commit - "libata, freezer: avoid block device
        removal while system is frozen".  It's an ugly hack working around a
        deadlock condition between driver core resume and block layer device
        removal paths through freezer which was made more reproducible by
        writeback being converted to workqueue some releases ago.  The bug has
        nothing to do with libata but it's just an workaround which is easy to
        backport.  After discussion, Rafael and I seem to agree that we don't
        really need kernel freezables - both kthread and workqueue.  There are
        few specific workqueues which constitute PM operations and require
        freezing, which will be converted to use workqueue_set_max_active()
        instead.  All other kernel freezer uses are planned to be removed,
        followed by the removal of kthread and workqueue freezer support,
        hopefully.
      
        Others are device-specific fixes.  The most notable is the addition of
        NO_NCQ_TRIM which is used to disable queued TRIM commands to Micro
        M500 SSDs which otherwise suffers data corruption"
      
      * 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        libata, freezer: avoid block device removal while system is frozen
        libata: implement ATA_HORKAGE_NO_NCQ_TRIM and apply it to Micro M500 SSDs
        libata: disable a disk via libata.force params
        ahci: bail out on ICH6 before using AHCI BAR
        ahci: imx: Explicitly clear IMX6Q_GPR13_SATA_MPLL_CLK_EN
        libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for Seagate Momentus SpinPoint M8
      4b69316e
    • Ard Biesheuvel's avatar
      auxvec.h: account for AT_HWCAP2 in AT_VECTOR_SIZE_BASE · f60900f2
      Ard Biesheuvel authored
      Commit 2171364d ("powerpc: Add HWCAP2 aux entry") introduced a new
      AT_ auxv entry type AT_HWCAP2 but failed to update AT_VECTOR_SIZE_BASE
      accordingly.
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Fixes: 2171364d (powerpc: Add HWCAP2 aux entry)
      Cc: stable@vger.kernel.org
      Acked-by: default avatarMichael Neuling <michael@neuling.org>
      Cc: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f60900f2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · b257bab5
      Linus Torvalds authored
      Pull SELinux fixes from James Morris.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        selinux: selinux_setprocattr()->ptrace_parent() needs rcu_read_lock()
        selinux: fix broken peer recv check
      b257bab5
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · dc0a6b4f
      Linus Torvalds authored
      Pull ext2 fix from Jan Kara:
       "One simple fix of oops in ext2 which was recently hit by Christoph"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Fix oops in ext2_get_block() called from ext2_quota_write()
      dc0a6b4f
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 6961bc6c
      Linus Torvalds authored
      Pull infiniband fixes from Roland Dreier:
       "Last batch of InfiniBand/RDMA changes for 3.13 / 2014:
         - Additional checks for uverbs to ensure forward compatibility,
           handle malformed input better.
         - Fix potential use-after-free in iWARP connection manager.
         - Make a function static"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        IB/uverbs: Check access to userspace response buffer in extended command
        IB/uverbs: Check input length in flow steering uverbs
        IB/uverbs: Set error code when fail to consume all flow_spec items
        IB/uverbs: Check reserved fields in create_flow
        IB/uverbs: Check comp_mask in destroy_flow
        IB/uverbs: Check reserved field in extended command header
        IB/uverbs: New macro to set pointers to NULL if length is 0 in INIT_UDATA()
        IB/core: const'ify inbuf in struct ib_udata
        RDMA/iwcm: Don't touch cm_id after deref in rem_ref
        RDMA/cxgb4: Make _c4iw_write_mem_dma() static
      6961bc6c
  4. 23 Dec, 2013 9 commits
  5. 22 Dec, 2013 7 commits
    • Linus Torvalds's avatar
      Linux 3.13-rc5 · 413541dd
      Linus Torvalds authored
      413541dd
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 93579aee
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Much smaller batch of fixes this week.
      
        Biggest one is a revert of an OMAP display change that removed some
        non-DT pinmux code that was still needed for 3.13 to get DSI displays
        to work.
      
        There's also a fix that resolves some misdescribed GPIO controller
        resources on shmobile.  The rest are mostly smaller fixes, a couple of
        MAINTAINERS updates, etc"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        Revert "ARM: OMAP2+: Remove legacy mux code for display.c"
        MAINTAINERS: Add keystone clock drivers
        MAINTAINERS: Add keystone git tree information
        ARM: s3c64xx: dt: Fix boot failure due to double clock initialization
        ARM: shmobile: r8a7790: Fix GPIO resources in DTS
        irqchip: renesas-intc-irqpin: Fix register bitfield shift calculation
        ARM: shmobile: lager: phy fixup needs CONFIG_PHYLIB
      93579aee
    • Linus Torvalds's avatar
      Merge tag 'firewire-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · ba8b844f
      Linus Torvalds authored
      Pull firewire fixlet from Stefan Richter:
       "A one-liner to reenable WRITE SAME over SBP-2 like in v3.8...v3.12.
        Buggy targets which could malfunction when being subjected to this
        command are already sufficiently protected by a scsi_level check in sd
        + SCSI core"
      
      * tag 'firewire-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: sbp2: bring back WRITE SAME support
      ba8b844f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 1733348b
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "Mostly minor items this time around, the most notable being a FILEIO
        backend change to enforce hw_max_sectors based upon the current
        block_size to address a bug where large sized I/Os (> 1M) where being
        rejected"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        qla2xxx: Fix scsi_host leak on qlt_lport_register callback failure
        target: Remove extra percpu_ref_init
        target/file: Update hw_max_sectors based on current block_size
        iser-target: Move INIT_WORK setup into isert_create_device_ib_res
        iscsi-target: Fix incorrect np->np_thread NULL assignment
        qla2xxx: Fix schedule_delayed_work() for target timeout calculations
        iser-target: fix error return code in isert_create_device_ib_res()
        iscsi-target: Fix-up all zero data-length CDBs with R/W_BIT set
        target: Remove write-only stats fields and lock from struct se_node_acl
        iscsi-target: return -EINVAL on oversized configfs parameter
      1733348b
    • Linus Torvalds's avatar
      Merge git://git.kvack.org/~bcrl/aio-next · a8472b4b
      Linus Torvalds authored
      Pull AIO leak fixes from Ben LaHaise:
       "I've put these two patches plus Linus's change through a round of
        tests, and it passes millions of iterations of the aio numa
        migratepage test, as well as a number of repetitions of a few simple
        read and write tests.
      
        The first patch fixes the memory leak Kent introduced, while the
        second patch makes aio_migratepage() much more paranoid and robust"
      
      * git://git.kvack.org/~bcrl/aio-next:
        aio/migratepages: make aio migrate pages sane
        aio: fix kioctx leak introduced by "aio: Fix a trinity splat"
      a8472b4b
    • Linus Torvalds's avatar
      aio: clean up and fix aio_setup_ring page mapping · 3dc9acb6
      Linus Torvalds authored
      Since commit 36bc08cc ("fs/aio: Add support to aio ring pages
      migration") the aio ring setup code has used a special per-ring backing
      inode for the page allocations, rather than just using random anonymous
      pages.
      
      However, rather than remembering the pages as it allocated them, it
      would allocate the pages, insert them into the file mapping (dirty, so
      that they couldn't be free'd), and then forget about them.  And then to
      look them up again, it would mmap the mapping, and then use
      "get_user_pages()" to get back an array of the pages we just created.
      
      Now, not only is that incredibly inefficient, it also leaked all the
      pages if the mmap failed (which could happen due to excessive number of
      mappings, for example).
      
      So clean it all up, making it much more straightforward.  Also remove
      some left-overs of the previous (broken) mm_populate() usage that was
      removed in commit d6c355c7 ("aio: fix race in ring buffer page
      lookup introduced by page migration support") but left the pointless and
      now misleading MAP_POPULATE flag around.
      Tested-and-acked-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3dc9acb6
    • Jacob Pan's avatar
      powercap / RAPL: add support for ValleyView Soc · ed93b714
      Jacob Pan authored
      This patch adds support for RAPL on Intel ValleyView based SoC
      platforms, such as Baytrail.
      
      Besides adding CPU ID, special energy unit encoding is handled
      for ValleyView.
      Signed-off-by: default avatarJacob Pan <jacob.jun.pan@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ed93b714
  6. 21 Dec, 2013 9 commits
    • Masami Ichikawa's avatar
      PM / sleep: Fix memory leak in pm_vt_switch_unregister(). · c6068504
      Masami Ichikawa authored
      kmemleak reported a memory leak as below.
      
      unreferenced object 0xffff880118f14700 (size 32):
        comm "swapper/0", pid 1, jiffies 4294877401 (age 123.283s)
        hex dump (first 32 bytes):
          00 01 10 00 00 00 ad de 00 02 20 00 00 00 ad de  .......... .....
          00 d4 d2 18 01 88 ff ff 01 00 00 00 00 04 00 00  ................
        backtrace:
          [<ffffffff814edb1e>] kmemleak_alloc+0x4e/0xb0
          [<ffffffff811889dc>] kmem_cache_alloc_trace+0x1ec/0x260
          [<ffffffff810aba66>] pm_vt_switch_required+0x76/0xb0
          [<ffffffff812f39f5>] register_framebuffer+0x195/0x320
          [<ffffffff8130af18>] efifb_probe+0x718/0x780
          [<ffffffff81391495>] platform_drv_probe+0x45/0xb0
          [<ffffffff8138f407>] driver_probe_device+0x87/0x3a0
          [<ffffffff8138f7f3>] __driver_attach+0x93/0xa0
          [<ffffffff8138d413>] bus_for_each_dev+0x63/0xa0
          [<ffffffff8138ee5e>] driver_attach+0x1e/0x20
          [<ffffffff8138ea40>] bus_add_driver+0x180/0x250
          [<ffffffff8138fe74>] driver_register+0x64/0xf0
          [<ffffffff813913ba>] __platform_driver_register+0x4a/0x50
          [<ffffffff8191e028>] efifb_driver_init+0x12/0x14
          [<ffffffff8100214a>] do_one_initcall+0xfa/0x1b0
          [<ffffffff818e40e0>] kernel_init_freeable+0x17b/0x201
      
      In pm_vt_switch_required(), "entry" variable is allocated via kmalloc().
      So, in pm_vt_switch_unregister(), it needs to call kfree() when object
      is deleted from list.
      Signed-off-by: default avatarMasami Ichikawa <masami256@gmail.com>
      Reviewed-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c6068504
    • Jason Baron's avatar
      cpufreq: Use CONFIG_CPU_FREQ_DEFAULT_* to set initial policy for setpolicy drivers · a27a9ab7
      Jason Baron authored
      When configuring a default governor (via CONFIG_CPU_FREQ_DEFAULT_*) with the
      intel_pstate driver, the desired default policy is not properly set. For
      example, setting 'CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE' ends up with the
      'powersave' policy being set.
      
      Fix by configuring the correct default policy, if either 'powersave' or
      'performance' are requested. Otherwise, fallback to what the driver originally
      set via its 'init' routine.
      Signed-off-by: default avatarJason Baron <jbaron@akamai.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a27a9ab7
    • Viresh Kumar's avatar
      cpufreq: remove sysfs files for CPUs which failed to come back after resume · 42f921a6
      Viresh Kumar authored
      There are cases where cpufreq_add_dev() may fail for some CPUs
      during system resume. With the current code we will still have
      sysfs cpufreq files for those CPUs and struct cpufreq_policy
      would be already freed for them. Hence any operation on those
      sysfs files would result in kernel warnings.
      
      Example of problems resulting from resume errors (from Bjørn Mork):
      
      WARNING: CPU: 0 PID: 6055 at fs/sysfs/file.c:343 sysfs_open_file+0x77/0x212()
      missing sysfs attribute operations for kobject: (null)
      Modules linked in: [stripped as irrelevant]
      CPU: 0 PID: 6055 Comm: grep Tainted: G      D      3.13.0-rc2 #153
      Hardware name: LENOVO 2776LEG/2776LEG, BIOS 6EET55WW (3.15 ) 12/19/2011
       0000000000000009 ffff8802327ebb78 ffffffff81380b0e 0000000000000006
       ffff8802327ebbc8 ffff8802327ebbb8 ffffffff81038635 0000000000000000
       ffffffff811823c7 ffff88021a19e688 ffff88021a19e688 ffff8802302f9310
      Call Trace:
       [<ffffffff81380b0e>] dump_stack+0x55/0x76
       [<ffffffff81038635>] warn_slowpath_common+0x7c/0x96
       [<ffffffff811823c7>] ? sysfs_open_file+0x77/0x212
       [<ffffffff810386e3>] warn_slowpath_fmt+0x41/0x43
       [<ffffffff81182dec>] ? sysfs_get_active+0x6b/0x82
       [<ffffffff81182382>] ? sysfs_open_file+0x32/0x212
       [<ffffffff811823c7>] sysfs_open_file+0x77/0x212
       [<ffffffff81182350>] ? sysfs_schedule_callback+0x1ac/0x1ac
       [<ffffffff81122562>] do_dentry_open+0x17c/0x257
       [<ffffffff8112267e>] finish_open+0x41/0x4f
       [<ffffffff81130225>] do_last+0x80c/0x9ba
       [<ffffffff8112dbbd>] ? inode_permission+0x40/0x42
       [<ffffffff81130606>] path_openat+0x233/0x4a1
       [<ffffffff81130b7e>] do_filp_open+0x35/0x85
       [<ffffffff8113b787>] ? __alloc_fd+0x172/0x184
       [<ffffffff811232ea>] do_sys_open+0x6b/0xfa
       [<ffffffff811233a7>] SyS_openat+0xf/0x11
       [<ffffffff8138c812>] system_call_fastpath+0x16/0x1b
      
      To fix this, remove those sysfs files or put the associated kobject
      in case of such errors. Also, to make it simple, remove the cpufreq
      sysfs links from all the CPUs (except for the policy->cpu) during
      suspend, as that operation won't result in a loss of sysfs file
      permissions and we can create those links during resume just fine.
      
      Fixes: 5302c3fb ("cpufreq: Perform light-weight init/teardown during suspend/resume")
      Reported-and-tested-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Cc: 3.12+ <stable@vger.kernel.org> # 3.12+
      [rjw: Changelog]
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      42f921a6
    • Benjamin LaHaise's avatar
      aio/migratepages: make aio migrate pages sane · 8e321fef
      Benjamin LaHaise authored
      The arbitrary restriction on page counts offered by the core
      migrate_page_move_mapping() code results in rather suspicious looking
      fiddling with page reference counts in the aio_migratepage() operation.
      To fix this, make migrate_page_move_mapping() take an extra_count parameter
      that allows aio to tell the code about its own reference count on the page
      being migrated.
      
      While cleaning up aio_migratepage(), make it validate that the old page
      being passed in is actually what aio_migratepage() expects to prevent
      misbehaviour in the case of races.
      Signed-off-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
      8e321fef
    • Benjamin LaHaise's avatar
      aio: fix kioctx leak introduced by "aio: Fix a trinity splat" · 1881686f
      Benjamin LaHaise authored
      e34ecee2 reworked the percpu reference
      counting to correct a bug trinity found.  Unfortunately, the change lead
      to kioctxes being leaked because there was no final reference count to
      put.  Add that reference count back in to fix things.
      Signed-off-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
      Cc: stable@vger.kernel.org
      1881686f
    • Matias Bjørling's avatar
      null_blk: support submit_queues on use_per_node_hctx · fc1bc354
      Matias Bjørling authored
      In the case of both the submit_queues param and use_per_node_hctx param
      are used. We limit the number af submit_queues to the number of online
      nodes.
      
      If the submit_queues is a multiple of nr_online_nodes, its trivial. Simply map
      them to the nodes. For example: 8 submit queues are mapped as node0[0,1],
      node1[2,3], ...
      If uneven, we are left with an uneven number of submit_queues that must be
      mapped. These are mapped toward the first node and onward. E.g. 5
      submit queues mapped onto 4 nodes are mapped as node0[0,1], node1[2], ...
      Signed-off-by: default avatarMatias Bjorling <m@bjorling.me>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      fc1bc354
    • Matias Bjørling's avatar
      null_blk: set use_per_node_hctx param to false · 20005244
      Matias Bjørling authored
      The defaults for the module is to instantiate itself with blk-mq and a
      submit queue for each CPU node in the system.
      
      To save resources, initialize instead with a single submit queue.
      Signed-off-by: default avatarMatias Bjorling <m@bjorling.me>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      20005244
    • Matias Bjørling's avatar
      null_blk: corrections to documentation · 89ed05ee
      Matias Bjørling authored
      Randy Dunlap reported a couple of grammar errors and unfortunate usages of
      socket/node/core.
      Signed-off-by: default avatarMatias Bjorling <m@bjorling.me>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      89ed05ee
    • Linus Torvalds's avatar
      Don't set the INITRD_COMPRESS environment variable automatically · b7000ade
      Linus Torvalds authored
      Commit 1bf49dd4 ("./Makefile: export initial ramdisk compression
      config option") started setting the INITRD_COMPRESS environment variable
      depending on which decompression models the kernel had available.
      
      That is completely broken.
      
      For example, we by default have CONFIG_RD_LZ4 enabled, and are able to
      decompress such an initrd, but the user tools to *create* such an initrd
      may not be availble.  So trying to tell dracut to generate an
      lz4-compressed image just because we can decode such an image is
      completely inappropriate.
      
      Cc: J P <ppandit@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jan Beulich <JBeulich@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b7000ade
  7. 20 Dec, 2013 2 commits
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-v3.13-rc5' of git://oss.sgi.com/xfs/xfs · a6ddeee3
      Linus Torvalds authored
      Pull xfs bugfixes from Ben Myers:
       "This contains fixes for some asserts
         related to project quotas, a memory leak, a hang when disabling group or
         project quotas before disabling user quotas, Dave's email address, several
         fixes for the alignment of file allocation to stripe unit/width geometry, a
         fix for an assertion with xfs_zero_remaining_bytes, and the behavior of
         metadata writeback in the face of IO errors.
      
         Details:
         - fix memory leak in xfs_dir2_node_removename
         - fix quota assertion in xfs_setattr_size
         - fix quota assertions in xfs_qm_vop_create_dqattach
         - fix for hang when disabling group and project quotas before
           disabling user quotas
         - fix Dave Chinner's email address in MAINTAINERS
         - fix for file allocation alignment
         - fix for assertion in xfs_buf_stale by removing xfsbdstrat
         - fix for alignment with swalloc mount option
         - fix for "retry forever" semantics on IO errors"
      
      * tag 'xfs-for-linus-v3.13-rc5' of git://oss.sgi.com/xfs/xfs:
        xfs: abort metadata writeback on permanent errors
        xfs: swalloc doesn't align allocations properly
        xfs: remove xfsbdstrat error
        xfs: align initial file allocations correctly
        MAINTAINERS: fix incorrect mail address of XFS maintainer
        xfs: fix infinite loop by detaching the group/project hints from user dquot
        xfs: fix assertion failure at xfs_setattr_nonsize
        xfs: fix false assertion at xfs_qm_vop_create_dqattach
        xfs: fix memory leak in xfs_dir2_node_removename
      a6ddeee3
    • Olof Johansson's avatar
      mm: fix build of split ptlock code · 40b64acd
      Olof Johansson authored
      Commit 597d795a ('mm: do not allocate page->ptl dynamically, if
      spinlock_t fits to long') restructures some allocators that are compiled
      even if USE_SPLIT_PTLOCKS arn't used.  It results in compilation
      failure:
      
        mm/memory.c:4282:6: error: 'struct page' has no member named 'ptl'
        mm/memory.c:4288:12: error: 'struct page' has no member named 'ptl'
      
      Add in the missing ifdef.
      
      Fixes: 597d795a ('mm: do not allocate page->ptl dynamically, if spinlock_t fits to long')
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      40b64acd