12 Sep, 2013

9 commits

  • Modify the s390 copy_oldmem_page() and remap_oldmem_pfn_range() function
    for zfcpdump to read from the HSA memory if memory below HSA_SIZE bytes is
    requested. Otherwise real memory is used.

    Signed-off-by: Michael Holzheu
    Cc: HATAYAMA Daisuke
    Cc: Jan Willeke
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Holzheu
     
  • Introduce the s390 specific way to map pages from oldmem. The memory area
    below OLDMEM_SIZE is mapped with offset OLDMEM_BASE. The other old memory
    is mapped directly.

    Signed-off-by: Jan Willeke
    Signed-off-by: Michael Holzheu
    Cc: HATAYAMA Daisuke
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Willeke
     
  • Exchange the old relocate mechanism with the new arch function call
    override mechanism that allows to create the ELF core header in the 2nd
    kernel.

    Signed-off-by: Michael Holzheu
    Cc: HATAYAMA Daisuke
    Cc: Jan Willeke
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Holzheu
     
  • With the general-instruction extension facility (z10) a couple of
    instructions with a pc-relative long displacement were introduced. The
    kprobes support for these instructions however was never implemented.

    In result, if anybody ever put a probe on any of these instructions the
    result would have been random behaviour after the instruction got executed
    within the insn slot.

    So lets add the missing handling for these instructions. Since all of the
    new instructions have 32 bit signed displacement the easiest solution is
    to allocate an insn slot that is within the same 2GB area like the
    original instruction and patch the displacement field.

    Signed-off-by: Heiko Carstens
    Reviewed-by: Masami Hiramatsu
    Cc: Ananth N Mavinakayanahalli
    Cc: Ingo Molnar
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • I found the following pattern that leads in to interesting findings:

    grep -r "ret.*|=.*__put_user" *
    grep -r "ret.*|=.*__get_user" *
    grep -r "ret.*|=.*__copy" *

    The __put_user() calls in compat_ioctl.c, ptrace compat, signal compat,
    since those appear in compat code, we could probably expect the kernel
    addresses not to be reachable in the lower 32-bit range, so I think they
    might not be exploitable.

    For the "__get_user" cases, I don't think those are exploitable: the worse
    that can happen is that the kernel will copy kernel memory into in-kernel
    buffers, and will fail immediately afterward.

    The alpha csum_partial_copy_from_user() seems to be missing the
    access_ok() check entirely. The fix is inspired from x86. This could
    lead to information leak on alpha. I also noticed that many architectures
    map csum_partial_copy_from_user() to csum_partial_copy_generic(), but I
    wonder if the latter is performing the access checks on every
    architectures.

    Signed-off-by: Mathieu Desnoyers
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Jens Axboe
    Cc: Oleg Nesterov
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • _PAGE_SOFT_DIRTY bit should never be set on present pte so add VM_BUG_ON
    to catch any potential future abuse.

    Also add a comment on _PAGE_SWP_SOFT_DIRTY definition explaining scope of
    its usage.

    Signed-off-by: Cyrill Gorcunov
    Acked-by: Pavel Emelyanov
    Acked-by: Jan Beulich
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cyrill Gorcunov
     
  • Currently hugepage migration works well only for pmd-based hugepages
    (mainly due to lack of testing,) so we had better not enable migration of
    other levels of hugepages until we are ready for it.

    Some users of hugepage migration (mbind, move_pages, and migrate_pages) do
    page table walk and check pud/pmd_huge() there, so they are safe. But the
    other users (softoffline and memory hotremove) don't do this, so without
    this patch they can try to migrate unexpected types of hugepages.

    To prevent this, we introduce hugepage_migration_support() as an
    architecture dependent check of whether hugepage are implemented on a pmd
    basis or not. And on some architecture multiple sizes of hugepages are
    available, so hugepage_migration_support() also checks hugepage size.

    Signed-off-by: Naoya Horiguchi
    Cc: Andi Kleen
    Cc: Hillf Danton
    Cc: Wanpeng Li
    Cc: Mel Gorman
    Cc: Hugh Dickins
    Cc: KOSAKI Motohiro
    Cc: Michal Hocko
    Cc: Rik van Riel
    Cc: "Aneesh Kumar K.V"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Naoya Horiguchi
     
  • The previous patch doing vmstats for TLB flushes ("mm: vmstats: tlb flush
    counters") effectively missed UP since arch/x86/mm/tlb.c is only compiled
    for SMP.

    UP systems do not do remote TLB flushes, so compile those counters out on
    UP.

    arch/x86/kernel/cpu/mtrr/generic.c calls __flush_tlb() directly. This is
    probably an optimization since both the mtrr code and __flush_tlb() write
    cr4. It would probably be safe to make that a flush_tlb_all() (and then
    get these statistics), but the mtrr code is ancient and I'm hesitant to
    touch it other than to just stick in the counters.

    [akpm@linux-foundation.org: tweak comments]
    Signed-off-by: Dave Hansen
    Cc: Peter Zijlstra
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Hansen
     
  • I was investigating some TLB flush scaling issues and realized that we do
    not have any good methods for figuring out how many TLB flushes we are
    doing.

    It would be nice to be able to do these in generic code, but the
    arch-independent calls don't explicitly specify whether we actually need
    to do remote flushes or not. In the end, we really need to know if we
    actually _did_ global vs. local invalidations, so that leaves us with few
    options other than to muck with the counters from arch-specific code.

    Signed-off-by: Dave Hansen
    Cc: Peter Zijlstra
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

11 Sep, 2013

14 commits

  • Pull more s390 updates from Heiko Carstens:
    "This includes one bpf/jit bug fix where the jit compiler could
    sometimes write generated code out of bounds of the allocated memory
    area.

    The rest of the patches are only cleanups and minor improvements"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/irq: reduce size of external interrupt handler hash array
    s390/compat,uid16: use current_cred()
    s390/ap_bus: use and-mask instead of a cast
    s390/ftrace: avoid pointer arithmetics with function pointers
    s390: make various functions static, add declarations to header files
    s390/compat signal: add couple of __force annotations
    s390/mm: add __releases()/__acquires() annotations to gmap_alloc_table()
    s390: keep Kconfig sorted
    s390/irq: rework irq subclass handling
    s390/irq: use hlists for external interrupt handler array
    s390/dumpstack: convert print_symbol to %pSR
    s390/perf: Remove print_hex_dump_bytes() debug output
    s390: update defconfig
    s390/bpf,jit: fix address randomization

    Linus Torvalds
     
  • Pull powerpc fixes from Ben Herrenschmidt:
    "Here are a handful of small powerpc fixes.

    A couple of section mismatches (always worth fixing), a missing export
    of a new symbol causing build failures of modules, a page fault
    deadlock fix (interestingly that bug has been around for a LONG time,
    though it seems to be more easily triggered by KVM) and fixing pseries
    default idle loop in the absence of the cpuidle drivers (such as
    during boot)"

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc: Default arch idle could cede processor on pseries
    fbdev/ps3fb: Fix section mismatch warning for ps3fb_probe
    powerpc: Fix section mismatch warning for prom_rtas_call
    powerpc: Fix possible deadlock on page fault
    powerpc: Export cpu_to_chip_id() to fix build error

    Linus Torvalds
     
  • …nux/kernel/git/xen/tip

    Pull Xen bug-fixes from Konrad Rzeszutek Wilk:
    "This pull I usually do after rc1 is out but because we have a nice
    amount of fixes, some bootup related fixes for ARM, and it is early in
    the cycle we figured to do it now to help with tracking of potential
    regressions.

    The simple ones are the ARM ones - one of the patches fell through the
    cracks, other fixes a bootup issue (unconditionally using Xen
    functions). Then a fix for a regression causing preempt count being
    off (patch causing this went in v3.12).

    Lastly are the fixes to make Xen PVHVM guests use PV ticketlocks (Xen
    PV already does).

    The enablement of that was supposed to be part of the x86 spinlock
    merge in commit 816434ec4a67 ("The biggest change here are
    paravirtualized ticket spinlocks (PV spinlocks), which bring a nice
    speedup on various benchmarks...") but unfortunatly it would cause
    hang when booting Xen PVHVM guests. Yours truly got all of the bugs
    fixed last week and they (six of them) are included in this pull.

    Bug-fixes:
    - Boot on ARM without using Xen unconditionally
    - On Xen ARM don't run cpuidle/cpufreq
    - Fix regression in balloon driver, preempt count warnings
    - Fixes to make PVHVM able to use pv ticketlock.
    - Revert Xen PVHVM disabling pv ticketlock (aka, re-enable pv ticketlocks)"

    * tag 'stable/for-linus-3.12-rc0-tag-two' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/spinlock: Don't use __initdate for xen_pv_spin
    Revert "xen/spinlock: Disable IRQ spinlock (PV) allocation on PVHVM"
    xen/spinlock: Don't setup xen spinlock IPI kicker if disabled.
    xen/smp: Update pv_lock_ops functions before alternative code starts under PVHVM
    xen/spinlock: We don't need the old structure anymore
    xen/spinlock: Fix locking path engaging too soon under PVHVM.
    xen/arm: disable cpuidle and cpufreq when linux is running as dom0
    xen/p2m: Don't call get_balloon_scratch_page() twice, keep interrupts disabled for multicalls
    ARM: xen: only set pm function ptrs for Xen guests

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Daniel had some fixes queued up, that were delayed, the stolen memory
    ones and vga arbiter ones are quite useful, along with his usual bunch
    of stuff, nothing for HSW outputs yet.

    The one nouveau fix is for a regression I caused with the poweroff stuff"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (30 commits)
    drm/nouveau: fix oops on runtime suspend/resume
    drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done
    drm/i915: try not to lose backlight CBLV precision
    drm/i915: Confine page flips to BCS on Valleyview
    drm/i915: Skip stolen region initialisation if none is reserved
    drm/i915: fix gpu hang vs. flip stall deadlocks
    drm/i915: Hold an object reference whilst we shrink it
    drm/i915: fix i9xx_crtc_clock_get for multiplied pixels
    drm/i915: handle sdvo input pixel multiplier correctly again
    drm/i915: fix hpd work vs. flush_work in the pageflip code deadlock
    drm/i915: fix up the relocate_entry refactoring
    drm/i915: Fix pipe config warnings when dealing with LVDS fixed mode
    drm/i915: Don't call sg_free_table() if sg_alloc_table() fails
    i915: Update VGA arbiter support for newer devices
    vgaarb: Fix VGA decodes changes
    vgaarb: Don't disable resources that are not owned
    drm/i915: Pin pages whilst mapping the dma-buf
    drm/i915: enable trickle feed on Haswell
    x86: add early quirk for reserving Intel graphics stolen memory v5
    drm/i915: split PCI IDs out into i915_drm.h v4
    ...

    Linus Torvalds
     
  • Pull x86 jumplabel changes from Peter Anvin:
    "One more x86 tree for this merge window. This tree improves the
    handling of jump labels, so that most of the time we don't have to do
    a massive initial patching run.

    Furthermore, we will error out of the jump label is not what is
    expected, eg if it has been corrupted or tampered with"

    * 'x86/jumplabel' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/jump-label: Show where and what was wrong on errors
    x86/jump-label: Add safety checks to jump label conversions
    x86/jump-label: Do not bother updating nops if they are correct
    x86/jump-label: Use best default nops for inital jump label calls

    Linus Torvalds
     
  • When adding cpuidle support to pSeries, we introduced two
    regressions:

    - The new cpuidle backend driver only works under hypervisors
    supporting the "SLPLAR" option, which isn't the case of the
    old POWER4 hypervisor and the HV "light" used on js2x blades

    - The cpuidle driver registers fairly late, meaning that for
    a significant portion of the boot process, we end up having
    all threads spinning. This slows down the boot process and
    increases the overall resource usage if the hypervisor has
    shared processors.

    This fixes both by implementing a "default" idle that will cede
    to the hypervisor when possible, in a very simple way without
    all the bells and whisles of cpuidle.

    Reported-by: Paul Mackerras
    Signed-off-by: Vaidyanathan Srinivasan
    Acked-by: Deepthi Dharwar
    Signed-off-by: Benjamin Herrenschmidt
    CC:

    Vaidyanathan Srinivasan
     
  • While cross-building for PPC64 I've got

    WARNING: vmlinux.o(.text.unlikely+0x1ba): Section mismatch in
    reference from the function .prom_rtas_call() to the variable
    .init.data:dt_string_start The function .prom_rtas_call() references
    the variable __initdata dt_string_start. This is often because
    .prom_rtas_call lacks a __initdata annotation or the annotation of
    dt_string_start is wrong.

    WARNING: vmlinux.o(.meminit.text+0xeb0): Section mismatch in reference
    from the function .free_area_init_core.isra.47() to the function
    .init.text:.set_pageblock_order() The function __meminit
    .free_area_init_core.isra.47() references a function __init
    .set_pageblock_order(). If .set_pageblock_order is only used by
    .free_area_init_core.isra.47 then annotate .set_pageblock_order with a
    matching annotation.

    Fix it by proper annotation of prom_rtas_call.

    Signed-off-by: Vladimir Murzin
    Signed-off-by: Benjamin Herrenschmidt

    Vladimir Murzin
     
  • stack_grow_into/14082 is trying to acquire lock:
    (&mm->mmap_sem){++++++}, at: [] .might_fault+0x78/0xe0

    but task is already holding lock:
    (&mm->mmap_sem){++++++}, at: [] .do_page_fault+0x24c/0x910

    other info that might help us debug this:
    Possible unsafe locking scenario:

    CPU0
    ----
    lock(&mm->mmap_sem);
    lock(&mm->mmap_sem);

    *** DEADLOCK ***

    May be due to missing lock nesting notation

    1 lock held by stack_grow_into/14082:
    #0: (&mm->mmap_sem){++++++}, at: [] .do_page_fault+0x24c/0x910

    stack backtrace:
    CPU: 21 PID: 14082 Comm: stack_grow_into Not tainted 3.10.0-10.el7.ppc64.debug #1
    Call Trace:
    [c0000003d396b850] [c000000000016e7c] .show_stack+0x7c/0x1f0 (unreliable)
    [c0000003d396b920] [c000000000813fc8] .dump_stack+0x28/0x3c
    [c0000003d396b990] [c000000000124b90] .__lock_acquire+0x1640/0x1800
    [c0000003d396bab0] [c00000000012570c] .lock_acquire+0xac/0x250
    [c0000003d396bb80] [c000000000206d54] .might_fault+0xa4/0xe0
    [c0000003d396bbf0] [c0000000007ffe2c] .do_page_fault+0x2ec/0x910
    [c0000003d396be30] [c0000000000092e8] handle_page_fault+0x10/0x30

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Benjamin Herrenschmidt

    Aneesh Kumar K.V
     
  • powerpc allmodconfig build fails with:

    ERROR: ".cpu_to_chip_id" [drivers/block/mtip32xx/mtip32xx.ko] undefined!

    The problem was introduced with commit 15863ff3b (powerpc: Make chip-id
    information available to userspace).

    Export the missing symbol.

    Cc: Vasant Hegde
    Cc: Shivaprasad G Bhat
    Signed-off-by: Guenter Roeck
    Signed-off-by: Benjamin Herrenschmidt

    Guenter Roeck
     
  • Pull CRIS updates from Jesper Nilsson:
    "Mostly cleanup and removal of unused configs"

    * tag 'cris-for-3.12' of git://jni.nu/cris:
    CRIS: drop unused Kconfig symbols
    CRIS: Add kvm_para.h which includes generic file
    CRIS: remove unused current_regs
    CRIS: Remove last traces of legacy RTC drivers
    CRIS: remove "config OOM_REBOOT"

    Linus Torvalds
     
  • The mn10300 kernel crashes just after starting userspace programs, if
    CONFIG_PREEMPT is disabled:

    Freeing unused kernel memory: 96K (90286000 - 9029e000)
    MISALIGN: 97c33ff9: unsupported instruction f
    MISALIGN: 97c33ff9: unsupported instruction f
    MISALIGN: 97c33ff9: unsupported instruction f
    :

    This fixes the problem that was introduced by commit d17fc238ac14
    ("MN10300: Enable IRQs more in system call exit work path").

    Signed-off-by: Akira Takeuchi
    Signed-off-by: Kiyoshi Owada
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Akira Takeuchi
     
  • Pull device tree core updates from Grant Likely:
    "Generally minor changes. A bunch of bug fixes, particularly for
    initialization and some refactoring. Most notable change if feeding
    the entire flattened tree into the random pool at boot. May not be
    significant, but shouldn't hurt either"

    Tim Bird questions whether the boot time cost of the random feeding may
    be noticeable. And "add_device_randomness()" is definitely not some
    speed deamon of a function.

    * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux:
    of/platform: add error reporting to of_amba_device_create()
    irq/of: Fix comment typo for irq_of_parse_and_map
    of: Feed entire flattened device tree into the random pool
    of/fdt: Clean up casting in unflattening path
    of/fdt: Remove duplicate memory clearing on FDT unflattening
    gpio: implement gpio-ranges binding document fix
    of: call __of_parse_phandle_with_args from of_parse_phandle
    of: introduce of_parse_phandle_with_fixed_args
    of: move of_parse_phandle()
    of: move documentation of of_parse_phandle_with_args
    of: Fix missing memory initialization on FDT unflattening
    of: consolidate definition of early_init_dt_alloc_memory_arch()
    of: Make of_get_phy_mode() return int i.s.o. const int
    include: dt-binding: input: create a DT header defining key codes.
    of/platform: Staticize of_platform_device_create_pdata()
    of: Specify initrd location using 64-bit
    dt: Typo fix
    OF: make of_property_for_each_{u32|string}() use parameters if OF is not enabled

    Linus Torvalds
     
  • Pull slave-dmaengine updates from Vinod Koul:
    "This pull brings:
    - Andy's DW driver updates
    - Guennadi's sh driver updates
    - Pl08x driver fixes from Tomasz & Alban
    - Improvements to mmp_pdma by Daniel
    - TI EDMA fixes by Joel
    - New drivers:
    - Hisilicon k3dma driver
    - Renesas rcar dma driver
    - New API for publishing slave driver capablities
    - Various fixes across the subsystem by Andy, Jingoo, Sachin etc..."

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (94 commits)
    dma: edma: Remove limits on number of slots
    dma: edma: Leave linked to Null slot instead of DUMMY slot
    dma: edma: Find missed events and issue them
    ARM: edma: Add function to manually trigger an EDMA channel
    dma: edma: Write out and handle MAX_NR_SG at a given time
    dma: edma: Setup parameters to DMA MAX_NR_SG at a time
    dmaengine: pl330: use dma_set_max_seg_size to set the sg limit
    dmaengine: dma_slave_caps: remove sg entries
    dma: replace devm_request_and_ioremap by devm_ioremap_resource
    dma: ste_dma40: Fix potential null pointer dereference
    dma: ste_dma40: Remove duplicate const
    dma: imx-dma: Remove redundant NULL check
    dma: dmagengine: fix function names in comments
    dma: add driver for R-Car HPB-DMAC
    dma: k3dma: use devm_ioremap_resource() instead of devm_request_and_ioremap()
    dma: imx-sdma: Staticize sdma_driver_data structures
    pch_dma: Add MODULE_DEVICE_TABLE
    dmaengine: PL08x: Add cyclic transfer support
    dmaengine: PL08x: Fix reading the byte count in cctl
    dmaengine: PL08x: Add support for different maximum transfer size
    ...

    Linus Torvalds
     
  • Pull MMC updates from Chris Ball:
    "MMC highlights for 3.12:

    Core:
    - Support Allocation Units 8MB-64MB in SD3.0, previous max was 4MB.
    - The slot-gpio helper can now handle GPIO debouncing card-detect.
    - Read supported voltages from DT "voltage-ranges" property.

    Drivers:
    - dw_mmc: Add support for ARC architecture, and support exynos5420.
    - mmc_spi: Support CD/RO GPIOs.
    - sh_mobile_sdhi: Add compatibility for more Renesas SoCs.
    - sh_mmcif: Add DT support for DMA channels"

    * tag 'mmc-updates-for-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (50 commits)
    Revert "mmc: tmio-mmc: Remove .set_pwr() callback from platform data"
    mmc: dw_mmc: Add support for ARC
    mmc: sdhci-s3c: initialize host->quirks2 for using quirks2
    mmc: sdhci-s3c: fix the wrong register value, when clock is disabled
    mmc: esdhc: add support to get voltage from device-tree
    mmc: sdhci: get voltage from sdhc host
    mmc: core: parse voltage from device-tree
    mmc: omap_hsmmc: use the generic config for omap2plus devices
    mmc: omap_hsmmc: clear status flags before starting a new command
    mmc: dw_mmc: exynos: Add a new compatible string for exynos5420
    mmc: sh_mmcif: revision-specific CLK_CTRL2 handling
    mmc: sh_mmcif: revision-specific Command Completion Signal handling
    mmc: sh_mmcif: add support for Device Tree DMA bindings
    mmc: sh_mmcif: move header include from header into .c
    mmc: SDHI: add DT compatibility strings for further SoCs
    mmc: dw_mmc-pci: enable bus-mastering mode
    mmc: dw_mmc-pci: get resources from a proper BAR
    mmc: tmio-mmc: Remove .set_pwr() callback from platform data
    mmc: tmio-mmc: Remove .get_cd() callback from platform data
    mmc: sh_mobile_sdhi: Remove .set_pwr() callback from platform data
    ...

    Linus Torvalds
     

10 Sep, 2013

17 commits

  • Signed-off-by: Paul Bolle
    Signed-off-by: Jesper Nilsson

    Paul Bolle
     
  • Copied from frv.

    Reviewed-by: David Howells
    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • CC: Mikael Starvik
    CC: linux-cris-kernel@axis.com
    Signed-off-by: Jonas Bonn
    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • These legacy drivers were removed in commit
    9c75fc8c5c8c50775fc8b89418219221335b758f ("CRIS: Remove legacy RTC
    drivers"). Now remove their last traces in two Kconfig files and one
    Makefile.

    Signed-off-by: Paul Bolle
    Signed-off-by: Jesper Nilsson

    Paul Bolle
     
  • The Kconfig symbol OOM_REBOOT got added in v2.6.25. It has never been
    used. Its entry can safely be removed.

    Signed-off-by: Paul Bolle
    Signed-off-by: Jesper Nilsson

    Paul Bolle
     
  • Pull ARM SoC late changes from Kevin Hilman:
    "These are changes that arrived a little late before the merge window,
    or had dependencies on previous branches.

    Highlights:
    - ux500: misc. cleanup, fixup I2C devices
    - exynos: DT updates for RTC; PM updates
    - at91: DT updates for NAND; new platforms added to generic defconfig
    - sunxi: DT updates: cubieboard2, pinctrl driver, gated clocks
    - highbank: LPAE fixes, select necessary ARM errata
    - omap: PM fixes and improvements; OMAP5 mailbox support
    - omap: basic support for new DRA7xx SoCs"

    * tag 'late-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
    ARM: dts: vexpress: Add CCI node to TC2 device-tree
    ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
    ARM: EXYNOS: always enable PM domains support for EXYNOS4X12
    ARM: highbank: clean-up some unused includes
    ARM: sun7i: Enable the A20 clocks in the DTSI
    ARM: sun6i: Enable clock support in the DTSI
    ARM: sun5i: dt: Use the A10s gates in the DTSI
    ARM: at91: at91_dt_defconfig: enable rm9200 support
    ARM: dts: add ADC device tree node for exynos5420/5250
    ARM: dts: Add RTC DT node to Exynos5420 SoC
    ARM: dts: Update the "status" property of RTC DT node for Exynos5250 SoC
    ARM: dts: Fix the RTC DT node name for Exynos5250
    irqchip: mmp: avoid to include irqs head file
    ARM: mmp: avoid to include head file in mach-mmp
    irqchip: mmp: support irqchip
    irqchip: move mmp irq driver
    ARM: OMAP: AM33xx: clock: Add RNG clock data
    ARM: OMAP: TI81XX: add always-on powerdomain for TI81XX
    ARM: OMAP4: clock: Lock PLLs in the right sequence
    ARM: OMAP: AM33XX: hwmod: Add hwmod data for debugSS
    ...

    Linus Torvalds
     
  • Pull ARM Renesas SoC cleanup, refactoring and more SMP support from Kevin Hilman:
    "Lots of cleanup and refactoring and some SMP additions for Renesas
    platforms. Due to some inter-dependencies with other arm-soc
    branches, this Renesas stuff was separated out for sending after the
    other branches were merged.

    Highlights:
    - remove unused board support and cleanup of unused headers
    - refactoring of init and device registration
    - simplify IRQ initialization"

    * tag 'renesas-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (68 commits)
    ARM: shmobile: Per-CPU SMP boot / sleep code for SCU SoCs
    ARM: shmobile: Introduce per-CPU SMP boot / sleep code
    ARM: shmobile: Use shared SCU CPU Hotplug code on r8a7779
    ARM: shmobile: Use shared SCU CPU Hotplug code on sh73a0
    ARM: shmobile: Add shared SCU CPU Hotplug code
    ARM: shmobile: Use shared SCU SMP boot code on emev2
    ARM: shmobile: Use shared SCU SMP boot code on r8a7779
    ARM: shmobile: Use shared SCU SMP boot code on sh73a0
    ARM: shmobile: Introduce shared SCU SMP boot code
    ARM: shmobile: sh73a0: Remove global GPIO_NR definition
    ARM: shmobile: kzm9d: remove nfsroot settings from bootargs
    ARM: shmobile: armadillo800eva: remove nfsroot settings from bootargs
    ARM: shmobile: r8a7779: move r8a7779_init_irq_xxx() to setup
    ARM: shmobile: r8a7740: move r8a7740_init_irq_of() to setup
    ARM: shmobile: bockw: add missing __initdata
    ARM: shmobile: r8a7790: add missing __initdata
    ARM: shmobile: r8a7779: add missing __initdata
    ARM: shmobile: Remove unused shmobile_init_time()
    ARM: shmobile: Use clocksource_of_init() on r8a7790
    ARM: shmobile: Use default ->init_time() on KZM9G DT ref
    ...

    Linus Torvalds
     
  • Pull ARM SoC driver update from Kevin Hilman:
    "This contains the ARM SoC related driver updates for v3.12. The only
    thing this cycle are core PM updates and CPUidle support for ARM's TC2
    big.LITTLE development platform"

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    cpuidle: big.LITTLE: vexpress-TC2 CPU idle driver
    ARM: vexpress: tc2: disable GIC CPU IF in tc2_pm_suspend
    drivers: irq-chip: irq-gic: introduce gic_cpu_if_down()

    Linus Torvalds
     
  • Pull clock framework changes from Michael Turquette:
    "The common clk framework changes for 3.12 are dominated by clock
    driver patches, both new drivers and fixes to existing. A high
    percentage of these are for Samsung platforms like Exynos. Core
    framework fixes and some new features like automagical clock
    re-parenting round out the patches"

    * tag 'clk-for-linus-3.12' of git://git.linaro.org/people/mturquette/linux: (102 commits)
    clk: only call get_parent if there is one
    clk: samsung: exynos5250: Simplify registration of PLL rate tables
    clk: samsung: exynos4: Register PLL rate tables for Exynos4x12
    clk: samsung: exynos4: Register PLL rate tables for Exynos4210
    clk: samsung: exynos4: Reorder registration of mout_vpllsrc
    clk: samsung: pll: Add support for rate configuration of PLL46xx
    clk: samsung: pll: Use new registration method for PLL46xx
    clk: samsung: pll: Add support for rate configuration of PLL45xx
    clk: samsung: pll: Use new registration method for PLL45xx
    clk: samsung: exynos4: Rename exynos4_plls to exynos4x12_plls
    clk: samsung: exynos4: Remove checks for DT node
    clk: samsung: exynos4: Remove unused static clkdev aliases
    clk: samsung: Modify _get_rate() helper to use __clk_lookup()
    clk: samsung: exynos4: Use separate aliases for cpufreq related clocks
    clocksource: samsung_pwm_timer: Get clock from device tree
    ARM: dts: exynos4: Specify PWM clocks in PWM node
    pwm: samsung: Update DT bindings documentation to cover clocks
    clk: Move symbol export to proper location
    clk: fix new_parent dereference before null check
    clk: wm831x: Initialise wm831x pointer on init
    ...

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "Not much changes for the 3.12 merge window. The major tracing changes
    are still in flux, and will have to wait for 3.13.

    The changes for 3.12 are mostly clean ups and minor fixes.

    H Peter Anvin added a check to x86_32 static function tracing that
    helps a small segment of the kernel community.

    Oleg Nesterov had a few changes from 3.11, but were mostly clean ups
    and not worth pushing in the -rc time frame.

    Li Zefan had small clean up with annotating a raw_init with __init.

    I fixed a slight race in updating function callbacks, but the race is
    so small and the bug that happens when it occurs is so minor it's not
    even worth pushing to stable.

    The only real enhancement is from Alexander Z Lam that made the
    tracing_cpumask work for trace buffer instances, instead of them all
    sharing a global cpumask"

    * tag 'trace-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ftrace/rcu: Do not trace debug_lockdep_rcu_enabled()
    x86-32, ftrace: Fix static ftrace when early microcode is enabled
    ftrace: Fix a slight race in modifying what function callback gets traced
    tracing: Make tracing_cpumask available for all instances
    tracing: Kill the !CONFIG_MODULES code in trace_events.c
    tracing: Don't pass file_operations array to event_create_dir()
    tracing: Kill trace_create_file_ops() and friends
    tracing/syscalls: Annotate raw_init function with __init

    Linus Torvalds
     
  • Pull xfs updates from Ben Myers:
    "For 3.12-rc1 there are a number of bugfixes in addition to work to
    ease usage of shared code between libxfs and the kernel, the rest of
    the work to enable project and group quotas to be used simultaneously,
    performance optimisations in the log and the CIL, directory entry file
    type support, fixes for log space reservations, some spelling/grammar
    cleanups, and the addition of user namespace support.

    - introduce readahead to log recovery
    - add directory entry file type support
    - fix a number of spelling errors in comments
    - introduce new Q_XGETQSTATV quotactl for project quotas
    - add USER_NS support
    - log space reservation rework
    - CIL optimisations
    - kernel/userspace libxfs rework"

    * tag 'xfs-for-linus-v3.12-rc1' of git://oss.sgi.com/xfs/xfs: (112 commits)
    xfs: XFS_MOUNT_QUOTA_ALL needed by userspace
    xfs: dtype changed xfs_dir2_sfe_put_ino to xfs_dir3_sfe_put_ino
    Fix wrong flag ASSERT in xfs_attr_shortform_getvalue
    xfs: finish removing IOP_* macros.
    xfs: inode log reservations are too small
    xfs: check correct status variable for xfs_inobt_get_rec() call
    xfs: inode buffers may not be valid during recovery readahead
    xfs: check LSN ordering for v5 superblocks during recovery
    xfs: btree block LSN escaping to disk uninitialised
    XFS: Assertion failed: first < BBTOB(bp->b_length), file: fs/xfs/xfs_trans_buf.c, line: 568
    xfs: fix bad dquot buffer size in log recovery readahead
    xfs: don't account buffer cancellation during log recovery readahead
    xfs: check for underflow in xfs_iformat_fork()
    xfs: xfs_dir3_sfe_put_ino can be static
    xfs: introduce object readahead to log recovery
    xfs: Simplify xfs_ail_min() with list_first_entry_or_null()
    xfs: Register hotcpu notifier after initialization
    xfs: add xfs sb v4 support for dirent filetype field
    xfs: Add write support for dirent filetype field
    xfs: Add read-only support for dirent filetype field
    ...

    Linus Torvalds
     
  • Pull mtd updates from David Woodhouse:
    - factor out common code from MTD tests
    - nand-gpio cleanup and portability to non-ARM
    - m25p80 support for 4-byte addressing chips, other new chips
    - pxa3xx cleanup and support for new platforms
    - remove obsolete alauda, octagon-5066 drivers
    - erase/write support for bcm47xxsflash
    - improve detection of ECC requirements for NAND, controller setup
    - NFC acceleration support for atmel-nand, read/write via SRAM
    - etc

    * tag 'for-linus-20130909' of git://git.infradead.org/linux-mtd: (184 commits)
    mtd: chips: Add support for PMC SPI Flash chips in m25p80.c
    mtd: ofpart: use for_each_child_of_node() macro
    mtd: mtdswap: replace strict_strtoul() with kstrtoul()
    mtd cs553x_nand: use kzalloc() instead of memset
    mtd: atmel_nand: fix error return code in atmel_nand_probe()
    mtd: bcm47xxsflash: writing support
    mtd: bcm47xxsflash: implement erasing support
    mtd: bcm47xxsflash: convert to module_platform_driver instead of init/exit
    mtd: bcm47xxsflash: convert kzalloc to avoid invalid access
    mtd: remove alauda driver
    mtd: nand: mxc_nand: mark 'const' properly
    mtd: maps: cfi_flagadm: add missing __iomem annotation
    mtd: spear_smi: add missing __iomem annotation
    mtd: r852: Staticize local symbols
    mtd: nandsim: Staticize local symbols
    mtd: impa7: add missing __iomem annotation
    mtd: sm_ftl: Staticize local symbols
    mtd: m25p80: add support for mr25h10
    mtd: m25p80: make CONFIG_M25PXX_USE_FAST_READ safe to enable
    mtd: m25p80: Pass flags through CAT25_INFO macro
    ...

    Linus Torvalds
     
  • Pull DMA mapping update from Marek Szyprowski:
    "This contains an addition of Device Tree support for reserved memory
    regions (Contiguous Memory Allocator is one of the drivers for it) and
    changes required by the KVM extensions for PowerPC architectue"

    * 'for-v3.12' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    ARM: init: add support for reserved memory defined by device tree
    drivers: of: add initialization code for dma reserved memory
    drivers: of: add function to scan fdt nodes given by path
    drivers: dma-contiguous: clean source code and prepare for device tree

    Linus Torvalds
     
  • Pull virtio update from Rusty Russell:
    "More console fixes; these are the theoretical ones which didn't get
    CC:stable. But for that reason, I did a merge with master partway
    through to avoid an unnecessary conflict.

    Also: a fun lguest bug turns out if you don't clear the TF flag when
    trapping Bad Things happen to the guest kernel as the stack
    overflows..."

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio_pci: pm: Use CONFIG_PM_SLEEP instead of CONFIG_PM
    lguest: fix GPF in guest when using gdb.
    lguest: fix guest kernel stack overflow when TF bit set.
    lguest: fix BUG_ON() in invalid guest page table.
    virtio: console: prevent use-after-free of port name in port unplug
    virtio: console: cleanup an error message
    virtio: console: fix locking around send_sigio_to_port()
    virtio: console: add locking in port unplug path
    virtio: console: add locks around buffer removal in port unplug path
    tools/lguest: offer VIRTIO_F_ANY_LAYOUT for net device.
    virtio tools: add .gitignore
    lguest: Point to the right directory for the lguest launcher

    Linus Torvalds
     
  • As we get compile warnings about .init.data being
    used by non-init functions.

    Reported-by: kbuild test robot
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • Pull metag architecture changes from James Hogan:
    - Device tree updates for TZ1090 GPIO drivers merged via GPIO tree.
    - Add driver for ImgTec PDC irqchip as found in TZ1090 SoC.
    - Add linux-metag mailing list to MAINTAINERS file.

    * tag 'metag-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
    irq-imgpdc: add ImgTec PDC irqchip driver
    MAINTAINERS: add linux-metag mailing list
    metag: tz1090: instantiate gpio-tz1090-pdc
    metag: tz1090: select and instantiate gpio-tz1090
    metag: tz1090: select and instantiate irq-imgpdc

    Linus Torvalds
     
  • This reverts commit 70dd4998cb85f0ecd6ac892cc7232abefa432efb.

    Now that the bugs have been resolved we can re-enable the
    PV ticketlock implementation under PVHVM Xen guests.

    Signed-off-by: Konrad Rzeszutek Wilk
    Reviewed-by: David Vrabel

    Konrad Rzeszutek Wilk