30 Dec, 2013

4 commits

  • Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     

29 Dec, 2013

3 commits

  • …rnel/git/tmlind/linux-omap into fixes

    From Tony Lindgren:
    Fix a regression for wrong interrupt numbers for some devices after
    the sparse IRQ conversion, fix DRA7 console output for earlyprintk,
    and fix the LDP LCD backlight when DSS is built into the kernel and
    not as a loadable module.

    * tag 'omap-for-v3.13/intc-ldp-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    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
    + v3.13-rc5

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • …l/git/horms/renesas into fixes

    From Simon Horman:
    Second Round of Renesas ARM based SoC Fixes for v3.13

    * r8a7790 (R-Car H2) based Lager board
    - Correct SHDI resource sizes
    This bug has been present since sdhi resources were added to the r8a7790 by
    8c9b1aa41853272a ("ARM: shmobile: r8a7790: add MMCIF and SDHI DT
    templates") in v3.11-rc2.

    * r8a7778 (R-Car M1) based Bock-W board
    - Correct DMA mask
    This resolves a regression introduced by 4dcfa60071b3d23f
    ("ARM: DMA-API: better handing of DMA masks for coherent allocations")
    in v3.12-rc1.

    * r8a7740 (R-Mobile A1) based Armadillo board
    - Add PWM backlight power supply
    This resolves a regression introduced by 22ceeee16eb8f0d0
    ("pwm-backlight: Add power supply support") in v3.12.

    * tag 'renesas-fixes2-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
    ARM: shmobile: r8a7790: fix shdi resource sizes
    ARM: shmobile: bockw: fixup DMA mask
    ARM: shmobile: armadillo: Add PWM backlight power supply

    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • After commit 88f718e3fa4d67f3a8dbe79a2f97d722323e4051
    "ARM: pxa: delete the custom GPIO header" a compilation
    error was introduced in the PXA25x gadget driver.
    An attempt to fix the problem was made in
    commit b144e4ab1ef130e8bf30bcd3e529b7f35112c503
    "usb: gadget: fix pxa25x compilation problems"
    by explictly stating the driver needs the
    header, which solved the compilation for a few boards,
    such as the pxa255-idp and its defconfig.

    However the Lubbock board has this special clause in
    drivers/usb/gadget/pxa25x_udc.c:

    This include file has an implicit dependency on
    having been included before
    was included.

    Before commit 88f718e3fa4d67f3a8dbe79a2f97d722323e4051
    "ARM: pxa: delete the custom GPIO header" this implicit
    dependency for the pxa25x_udc compile on the Lubbock was
    satisfied by implicitly including
    which was in turn including ,
    apart from the earlier added .

    Fix this by having the PXA25x explicitly
    include .

    Reported-by: Russell King
    Cc: Greg Kroah-Hartmann
    Cc: Felipe Balbi
    Signed-off-by: Linus Walleij
    Signed-off-by: Haojian Zhuang
    Signed-off-by: Olof Johansson

    Linus Walleij
     

28 Dec, 2013

2 commits

  • …nel/git/pjw/omap-pending into debug-ll-and-ldp-backlight-fix

    A few OMAP hwmod fixes for v3.13-rc. One patch fixes some IRQ
    problems with GPMC, RNG, and ISP/IVA MMUs on OMAP2/3. The other fixes
    some problems with DEBUG_LL on DRA7xx.

    Basic build, boot, and PM test logs are available here:

    http://www.pwsan.com/omap/testlogs/hwmod_fixes_b_v3.13-rc/20131226021920/

    Tony Lindgren
     
  • Looks like the LCD panel on LDP has been broken quite a while, and
    recently got fixed by commit 0b2aa8bed3e1 (gpio: twl4030: Fix regression
    for twl gpio output). However, there's still an issue left where the panel
    backlight does not come on if the LCD drivers are built into the
    kernel.

    Fix the issue by registering the DPI LCD panel only after the twl4030
    GPIO has probed.

    Reported-by: Russell King
    Acked-by: Tomi Valkeinen
    [tony@atomide.com: updated per Tomi's comments]
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

27 Dec, 2013

3 commits

  • * powercap:
    powercap / RAPL: add support for ValleyView Soc

    * acpi-lpss:
    ACPI: Add BayTrail SoC GPIO and LPSS ACPI IDs

    Rafael J. Wysocki
     
  • * 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().

    Rafael J. Wysocki
     
  • 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

    Linus Torvalds
     

26 Dec, 2013

2 commits

  • Commit 7d7e1eb (ARM: OMAP2+: Prepare for irqs.h removal) and commit
    ec2c082 (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: Suman Anna
    Fixes: 7d7e1eba7e92 ("ARM: OMAP2+: Prepare for irqs.h removal")
    Fixes: ec2c0825ca31 ("ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ")
    Cc: Tony Lindgren
    Signed-off-by: Paul Walmsley

    Suman Anna
     
  • With commit '7dedd34: 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: Lokesh Vutla
    Tested-by: Lokesh Vutla # on a different base
    Signed-off-by: Rajendra Nayak
    Fixes: 7dedd346941d ("ARM: OMAP2+: hwmod: Fix a crash in _setup_reset() with DEBUG_LL")
    Signed-off-by: Paul Walmsley

    Rajendra Nayak
     

25 Dec, 2013

5 commits

  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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()

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • Commit 2171364d1a92 ("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: Ard Biesheuvel
    Fixes: 2171364d1a92 (powerpc: Add HWCAP2 aux entry)
    Cc: stable@vger.kernel.org
    Acked-by: Michael Neuling
    Cc: Nishanth Aravamudan
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Linus Torvalds

    Ard Biesheuvel
     

24 Dec, 2013

8 commits

  • 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

    Linus Torvalds
     
  • 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()

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • selinux_setprocattr() does ptrace_parent(p) under task_lock(p),
    but task_struct->alloc_lock doesn't pin ->parent or ->ptrace,
    this looks confusing and triggers the "suspicious RCU usage"
    warning because ptrace_parent() does rcu_dereference_check().

    And in theory this is wrong, spin_lock()->preempt_disable()
    doesn't necessarily imply rcu_read_lock() we need to access
    the ->parent.

    Reported-by: Evan McNabb
    Signed-off-by: Oleg Nesterov
    Cc: stable@vger.kernel.org
    Signed-off-by: Paul Moore

    Oleg Nesterov
     
  • Fix a broken networking check. Return an error if peer recv fails. If
    secmark is active and the packet recv succeeds the peer recv error is
    ignored.

    Signed-off-by: Chad Hanson
    Cc: stable@vger.kernel.org
    Signed-off-by: Paul Moore

    Chad Hanson
     
  • Pull drm fixes from Dave Airlie:
    "Xmas fixes pull, all small nothing major, intel, radeon, one ttm
    regression, and one build fix"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/ttm: Fix swapin regression
    gpu: fix qxl missing crc32_le
    drm/radeon: fix asic gfx values for scrapper asics
    drm/i915: Use the correct GMCH_CTRL register for Sandybridge+
    drm/radeon: check for 0 count in speaker allocation and SAD code
    drm/radeon/dpm: disable ss on Cayman
    drm/radeon/dce6: set correct number of audio pins
    drm/i915: get a PC8 reference when enabling the power well
    drm/i915: change CRTC assertion on LCPLL disable
    drm/i915: Fix erroneous dereference of batch_obj inside reset_status
    drm/i915: Prevent double unref following alloc failure during execbuffer

    Linus Torvalds
     
  • Pull virtio balloon driver fixes from Rusty Russell:
    "Refactoring broke the balloon driver, and fixing kallsyms on ARM broke
    some (non-ARM) MMUless setups, so we're making that fix ARM-only for
    now.

    Unfortunately, the ARM refactoring which broke kallsyms/perf was
    CC:stable, so the fix (which broken non-ARM) was also CC:stable, so
    now the partial reversion is also CC:stable..."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    scripts/link-vmlinux.sh: only filter kernel symbols for arm
    virtio_balloon: update_balloon_size(): update correct field

    Linus Torvalds
     
  • Roland Dreier
     

23 Dec, 2013

10 commits

  • …rm-intel into drm-fixes

    Besides the 2 fixes for tricky corner cases in gem from Chris I've
    promised already two patche from Paulo to fix pc8 warnings (both ported
    from -next, bug report from Dave Jones) and one patch from to fix vga
    enable/disable on snb+. That one is a really old bug, but apparently it
    can cause machine hangs if you try hard enough with vgacon/efifb handover.

    * tag 'drm-intel-fixes-2013-12-18' of git://people.freedesktop.org/~danvet/drm-intel:
    drm/i915: Use the correct GMCH_CTRL register for Sandybridge+
    drm/i915: get a PC8 reference when enabling the power well
    drm/i915: change CRTC assertion on LCPLL disable
    drm/i915: Fix erroneous dereference of batch_obj inside reset_status
    drm/i915: Prevent double unref following alloc failure during execbuffer

    Dave Airlie
     
  • - fix for a long standing corruption bug on some Trinity/Richland parts.
    - Stability fix for cayman dpm
    - audio fixes for dce6+

    * 'drm-fixes-3.13' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: fix asic gfx values for scrapper asics
    drm/radeon: check for 0 count in speaker allocation and SAD code
    drm/radeon/dpm: disable ss on Cayman
    drm/radeon/dce6: set correct number of audio pins

    Dave Airlie
     
  • Commit "drm/ttm: Don't move non-existing data" didn't take the
    swapped-out corner case into account. This patch corrects that.
    Fixes blank screen after attempted suspend / hibernate on vmwgfx.

    Signed-off-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • Fix build error: qxl uses crc32 functions so it needs to select
    CRC32.

    Also use angle quotes around a kernel header file name.

    drivers/built-in.o: In function `qxl_display_read_client_monitors_config':
    (.text+0x19d754): undefined reference to `crc32_le'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Dave Airlie

    Randy Dunlap
     
  • Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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"

    Linus Torvalds
     
  • Since commit 36bc08cc01709 ("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 d6c355c7dabc ("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: Benjamin LaHaise
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

22 Dec, 2013

3 commits

  • 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: Jacob Pan
    Signed-off-by: Rafael J. Wysocki

    Jacob Pan
     
  • 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:
    [] kmemleak_alloc+0x4e/0xb0
    [] kmem_cache_alloc_trace+0x1ec/0x260
    [] pm_vt_switch_required+0x76/0xb0
    [] register_framebuffer+0x195/0x320
    [] efifb_probe+0x718/0x780
    [] platform_drv_probe+0x45/0xb0
    [] driver_probe_device+0x87/0x3a0
    [] __driver_attach+0x93/0xa0
    [] bus_for_each_dev+0x63/0xa0
    [] driver_attach+0x1e/0x20
    [] bus_add_driver+0x180/0x250
    [] driver_register+0x64/0xf0
    [] __platform_driver_register+0x4a/0x50
    [] efifb_driver_init+0x12/0x14
    [] do_one_initcall+0xfa/0x1b0
    [] 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: Masami Ichikawa
    Reviewed-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Masami Ichikawa
     
  • 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: Jason Baron
    Acked-by: Viresh Kumar
    Signed-off-by: Rafael J. Wysocki

    Jason Baron