1. 03 Jan, 2014 1 commit
    • Konrad Rzeszutek Wilk's avatar
      xen/pvhvm: If xen_platform_pci=0 is set don't blow up (v4). · 51c71a3b
      Konrad Rzeszutek Wilk authored
      The user has the option of disabling the platform driver:
      00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
      
      which is used to unplug the emulated drivers (IDE, Realtek 8169, etc)
      and allow the PV drivers to take over. If the user wishes
      to disable that they can set:
      
        xen_platform_pci=0
        (in the guest config file)
      
      or
        xen_emul_unplug=never
        (on the Linux command line)
      
      except it does not work properly. The PV drivers still try to
      load and since the Xen platform driver is not run - and it
      has not initialized the grant tables, most of the PV drivers
      stumble upon:
      
      input: Xen Virtual Keyboard as /devices/virtual/input/input5
      input: Xen Virtual Pointer as /devices/virtual/input/input6M
      ------------[ cut here ]------------
      kernel BUG at /home/konrad/ssd/konrad/linux/drivers/xen/grant-table.c:1206!
      invalid opcode: 0000 [#1] SMP
      Modules linked in: xen_kbdfront(+) xenfs xen_privcmd
      CPU: 6 PID: 1389 Comm: modprobe Not tainted 3.13.0-rc1upstream-00021-ga6c892b-dirty #1
      Hardware name: Xen HVM domU, BIOS 4.4-unstable 11/26/2013
      RIP: 0010:[<ffffffff813ddc40>]  [<ffffffff813ddc40>] get_free_entries+0x2e0/0x300
      Call Trace:
       [<ffffffff8150d9a3>] ? evdev_connect+0x1e3/0x240
       [<ffffffff813ddd0e>] gnttab_grant_foreign_access+0x2e/0x70
       [<ffffffffa0010081>] xenkbd_connect_backend+0x41/0x290 [xen_kbdfront]
       [<ffffffffa0010a12>] xenkbd_probe+0x2f2/0x324 [xen_kbdfront]
       [<ffffffff813e5757>] xenbus_dev_probe+0x77/0x130
       [<ffffffff813e7217>] xenbus_frontend_dev_probe+0x47/0x50
       [<ffffffff8145e9a9>] driver_probe_device+0x89/0x230
       [<ffffffff8145ebeb>] __driver_attach+0x9b/0xa0
       [<ffffffff8145eb50>] ? driver_probe_device+0x230/0x230
       [<ffffffff8145eb50>] ? driver_probe_device+0x230/0x230
       [<ffffffff8145cf1c>] bus_for_each_dev+0x8c/0xb0
       [<ffffffff8145e7d9>] driver_attach+0x19/0x20
       [<ffffffff8145e260>] bus_add_driver+0x1a0/0x220
       [<ffffffff8145f1ff>] driver_register+0x5f/0xf0
       [<ffffffff813e55c5>] xenbus_register_driver_common+0x15/0x20
       [<ffffffff813e76b3>] xenbus_register_frontend+0x23/0x40
       [<ffffffffa0015000>] ? 0xffffffffa0014fff
       [<ffffffffa001502b>] xenkbd_init+0x2b/0x1000 [xen_kbdfront]
       [<ffffffff81002049>] do_one_initcall+0x49/0x170
      
      .. snip..
      
      which is hardly nice. This patch fixes this by having each
      PV driver check for:
       - if running in PV, then it is fine to execute (as that is their
         native environment).
       - if running in HVM, check if user wanted 'xen_emul_unplug=never',
         in which case bail out and don't load any PV drivers.
       - if running in HVM, and if PCI device 5853:0001 (xen_platform_pci)
         does not exist, then bail out and not load PV drivers.
       - (v2) if running in HVM, and if the user wanted 'xen_emul_unplug=ide-disks',
         then bail out for all PV devices _except_ the block one.
         Ditto for the network one ('nics').
       - (v2) if running in HVM, and if the user wanted 'xen_emul_unplug=unnecessary'
         then load block PV driver, and also setup the legacy IDE paths.
         In (v3) make it actually load PV drivers.
      
      Reported-by: Sander Eikelenboom <linux@eikelenboom.it
      Reported-by: default avatarAnthony PERARD <anthony.perard@citrix.com>
      Reported-and-Tested-by: default avatarFabio Fantoni <fabio.fantoni@m2r.biz>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      [v2: Add extra logic to handle the myrid ways 'xen_emul_unplug'
      can be used per Ian and Stefano suggestion]
      [v3: Make the unnecessary case work properly]
      [v4: s/disks/ide-disks/ spotted by Fabio]
      Reviewed-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Acked-by: Bjorn Helgaas <bhelgaas@google.com> [for PCI parts]
      CC: stable@vger.kernel.org
      51c71a3b
  2. 30 Dec, 2013 1 commit
  3. 29 Dec, 2013 3 commits
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d7ada73c
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Another smallish batch of fixes, it's been quiet due to the holidays.
        Nothing controversial here, a handful of things across the board"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: pxa: fix USB gadget driver compilation regression
        ARM: OMAP2+: Fix LCD panel backlight regression for LDP legacy booting
        ARM: OMAP2+: hwmod_data: fix missing OMAP_INTC_START in irq data
        ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL
        ARM: shmobile: r8a7790: fix shdi resource sizes
        ARM: shmobile: bockw: fixup DMA mask
        ARM: shmobile: armadillo: Add PWM backlight power supply
      d7ada73c
    • 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
  4. 28 Dec, 2013 3 commits
  5. 27 Dec, 2013 2 commits
  6. 26 Dec, 2013 5 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
    • Suman Anna's avatar
      ARM: OMAP2+: hwmod_data: fix missing OMAP_INTC_START in irq data · 6d4c8830
      Suman Anna authored
      Commit 7d7e1eba (ARM: OMAP2+: Prepare for irqs.h removal) and commit
      ec2c0825 (ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ)
      updated the way interrupts for OMAP2/3 devices are defined in the
      HWMOD data structures to being an index plus a fixed offset (defined
      by OMAP_INTC_START).
      
      Couple of irqs in the OMAP2/3 hwmod data were misconfigured completely
      as they were missing this OMAP_INTC_START relative offset. Add this
      offset back to fix the incorrect irq data for the following modules:
      	OMAP2 - GPMC, RNG
      	OMAP3 - GPMC, ISP MMU & IVA MMU
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Fixes: 7d7e1eba ("ARM: OMAP2+: Prepare for irqs.h removal")
      Fixes: ec2c0825 ("ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ")
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      6d4c8830
    • Rajendra Nayak's avatar
      ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL · 38958c15
      Rajendra Nayak authored
      With commit '7dedd346: ARM: OMAP2+: hwmod: Fix a crash in _setup_reset() with
       DEBUG_LL' we moved from parsing cmdline to identify uart used for earlycon
      to using the requsite hwmod CONFIG_DEBUG_OMAPxUARTy FLAGS.
      
      On DRA7 though, we seem to be missing this flag, and atleast on the DRA7 EVM
      where we use uart1 for console, boot fails with DEBUG_LL enabled.
      Reported-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
      Tested-by:  Lokesh Vutla <lokeshvutla@ti.com> # on a different base
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Fixes: 7dedd346 ("ARM: OMAP2+: hwmod: Fix a crash in _setup_reset() with DEBUG_LL")
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      38958c15
  7. 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
  8. 23 Dec, 2013 9 commits
  9. 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
  10. 21 Dec, 2013 1 commit
    • 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