02 Apr, 2016

6 commits

  • Pull power management and ACPI fix from Rafael J. Wysocki:
    "Just one fix for a nasty boot failure on some systems based on Intel
    Skylake that shipped with broken firmware where enabling
    hardware-coordinated P-states management (HWP) causes a faulty
    interrupt handler in SMM to be invoked and crash the system (Srinivas
    Pandruvada)"

    * tag 'pm+acpi-4.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / processor: Request native thermal interrupt handling via _OSC

    Linus Torvalds
     
  • Merge fixes from Andrew Morton:
    "11 fixes"

    * emailed patches from Andrew Morton :
    .mailmap: add Christophe Ricard
    Make CONFIG_FHANDLE default y
    mm/page_isolation.c: fix the function comments
    oom, oom_reaper: do not enqueue task if it is on the oom_reaper_list head
    mm/page_isolation: fix tracepoint to mirror check function behavior
    mm/rmap: batched invalidations should use existing api
    x86/mm: TLB_REMOTE_SEND_IPI should count pages
    mm: fix invalid node in alloc_migrate_target()
    include/linux/huge_mm.h: return NULL instead of false for pmd_trans_huge_lock()
    mm, kasan: fix compilation for CONFIG_SLAB
    MAINTAINERS: orangefs mailing list is subscribers-only

    Linus Torvalds
     
  • * acpi-processor:
    ACPI / processor: Request native thermal interrupt handling via _OSC

    Rafael J. Wysocki
     
  • Pull arm64 fixes from Will Deacon:

    - fix oops when patching in alternative sequences on big-endian CPUs

    - reconcile asm/perf_event.h after merge window fallout with KVM ARM

    - defconfig updates

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: defconfig: updates for 4.6
    arm64: perf: Move PMU register related defines to asm/perf_event.h
    arm64: opcodes.h: Add arm big-endian config options before including arm header

    Linus Torvalds
     
  • The recently introduced batched invalidations mechanism uses its own
    mechanism for shootdown. However, it does wrong accounting of
    interrupts (e.g., inc_irq_stat is called for local invalidations),
    trace-points (e.g., TLB_REMOTE_SHOOTDOWN for local invalidations) and
    may break some platforms as it bypasses the invalidation mechanisms of
    Xen and SGI UV.

    This patch reuses the existing TLB flushing mechnaisms instead. We use
    NULL as mm to indicate a global invalidation is required.

    Fixes 72b252aed506b8 ("mm: send one IPI per CPU to TLB flush all entries after unmapping pages")
    Signed-off-by: Nadav Amit
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Dave Hansen
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nadav Amit
     
  • TLB_REMOTE_SEND_IPI was recently introduced, but it counts bytes instead
    of pages. In addition, it does not report correctly the case in which
    flush_tlb_page flushes a page. Fix it to be consistent with other TLB
    counters.

    Fixes: 5b74283ab251b9d ("x86, mm: trace when an IPI is about to be sent")
    Signed-off-by: Nadav Amit
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Dave Hansen
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nadav Amit
     

01 Apr, 2016

4 commits


31 Mar, 2016

6 commits

  • Pull parisc fixes from Helge Deller:
    "Fix seccomp filter support and SIGSYS signals on compat kernel.

    Both patches are tagged for v4.5 stable kernel"

    * 'parisc-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Fix and enable seccomp filter support
    parisc: Fix SIGSYS signals in compat case

    Linus Torvalds
     
  • Pull nvdimm mcsafe_memcpy use from Dan Williams:
    "Now that mcsafe_memcpy() has landed, and the return value was been
    clarified in commit cbf8b5a2b649 ("x86/mm, x86/mce: Fix return
    type/value for memcpy_mcsafe()"), let's hook up its primary usage in
    the pmem driver.

    The compilation problems from the initial posting have been fixed,
    this has appeared in a -next release with no reported issues, and it
    picked up an ack from Ingo. There is no pressing need to merge this
    in 4.6- rc2. However, if we wait until 4.7 the new memcpy_mcsafe()
    capability will ship without a user in 4.6-final"

    * 'libnvdimm-for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    x86, pmem: use memcpy_mcsafe() for memcpy_from_pmem()

    Linus Torvalds
     
  • The seccomp filter support requires careful handling of task registers. This
    includes reloading of the return value (%r28) and proper syscall exit if
    secure_computing() returned -1.

    Additionally we need to sign-extend the syscall number from signed 32bit to
    signed 64bit in do_syscall_trace_enter() since the ptrace interface only allows
    storing 32bit values in compat mode.

    Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # v4.5

    Helge Deller
     
  • Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # v4.5

    Helge Deller
     
  • Pull nios2 fix from Ley Foon Tan:
    "Replace fdt_translate_address with of_flat_dt_translate_address"

    Fixes a build failure.

    * tag 'nios2-v4.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2:
    nios2: Replace fdt_translate_address with of_flat_dt_translate_address

    Linus Torvalds
     
  • nios2 builds fail with the following build error.

    arch/nios2/kernel/prom.c: In function 'early_init_dt_scan_serial':
    arch/nios2/kernel/prom.c:100:2: error:
    implicit declaration of function 'fdt_translate_address'

    Commit c90fe9c0394b ("of: earlycon: Move address translation to
    of_setup_earlycon()") replaced fdt_translate_address() with
    of_flat_dt_translate_address() but missed updating the nios2 code.

    Fixes: c90fe9c0394b ("of: earlycon: Move address translation to of_setup_earlycon()")
    Cc: Peter Hurley
    Cc: Rob Herring
    Signed-off-by: Guenter Roeck
    Acked-by: Ley Foon Tan

    Guenter Roeck
     

29 Mar, 2016

10 commits

  • A few defconfig updates got dropped on the floor during the merge window,
    so I've rounded up the remainder here:

    * Fix duplicate definition of MMC_BLOCK_MINORS and bump to 32 for
    msm8916

    * CPUFreq support for the Juno platform, using the MHU/SCPI interface

    * Removal of the default command line, which assumed a console called
    ttyAMA0

    * Bits and pieces for the Hi6220 (96Boards HiKey)

    Signed-off-by: Will Deacon

    Will Deacon
     
  • To use the ARMv8 PMU related register defines from the KVM code, we move
    the relevant definitions to asm/perf_event.h header file and rename them
    with prefix ARMV8_PMU_. This allows us to get rid of kvm_perf_event.h.

    Signed-off-by: Anup Patel
    Signed-off-by: Shannon Zhao
    Acked-by: Marc Zyngier
    Reviewed-by: Andrew Jones
    Signed-off-by: Marc Zyngier
    Signed-off-by: Will Deacon

    Shannon Zhao
     
  • arm and arm64 use different config options to specify big endian. This
    needs taking into account when including code/headers between the two
    architectures.

    A case in point is PAN, which uses the __instr_arm() macro to output
    instructions. The macro comes from opcodes.h, which lives under arch/arm.
    On a big-endian build the mismatched config options mean the instruction
    isn't byte swapped correctly, resulting in undefined instruction exceptions
    during boot:

    | alternatives: patching kernel code
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc0004505b4
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | kdevtmpfs[87]: undefined instruction: pc=ffffffc00076231c
    | Internal error: Oops - undefined instruction: 0 [#1] SMP
    | Modules linked in:
    | CPU: 0 PID: 87 Comm: kdevtmpfs Not tainted 4.1.16+ #5
    | Hardware name: Hisilicon PhosphorHi1382 EVB (DT)
    | task: ffffffc336591700 ti: ffffffc3365a4000 task.ti: ffffffc3365a4000
    | PC is at dump_instr+0x68/0x100
    | LR is at do_undefinstr+0x1d4/0x2a4
    | pc : [] lr : [] pstate: 604001c5
    | sp : ffffffc3365a6450

    Cc: #4.3.x-
    Reported-by: Hanjun Guo
    Tested-by: Xuefeng Wang
    Signed-off-by: James Morse
    Signed-off-by: Will Deacon

    James Morse
     
  • When the prng device driver calls misc_register() there is the possibility
    to also provide the recommented file permissions. This fix now gives
    useful values (0644) where previously just the default was used (resulting
    in 0600 for the device file).

    Signed-off-by: Harald Freudenberger
    Signed-off-by: Martin Schwidefsky

    Harald Freudenberger
     
  • The used_vsr flag is set if process has used VSX registers, not Altivec
    registers. But the comment says otherwise, correct the comment.

    Signed-off-by: Simon Guo
    Signed-off-by: Michael Ellerman

    Simon Guo
     
  • In save_sprs() in process.c contains the following test:

    if (cpu_has_feature(cpu_has_feature(CPU_FTR_ALTIVEC)))
    t->vrsave = mfspr(SPRN_VRSAVE);

    CPU feature with the mask 0x1 is CPU_FTR_COHERENT_ICACHE so the test
    is equivilent to:

    if (cpu_has_feature(CPU_FTR_ALTIVEC) &&
    cpu_has_feature(CPU_FTR_COHERENT_ICACHE))

    On CPUs without support for both (i.e G5) this results in vrsave not
    being saved between context switches. The vector register save/restore
    code doesn't use VRSAVE to determine which registers to save/restore,
    but the value of VRSAVE is used to determine if altivec is being used
    in several code paths.

    Fixes: 152d523e6307 ("powerpc: Create context switch helpers save_sprs() and restore_sprs()")
    Cc: stable@vger.kernel.org
    Signed-off-by: Oliver O'Halloran
    Signed-off-by: Anton Blanchard
    Signed-off-by: Michael Ellerman

    Oliver O'Halloran
     
  • hugepd_free() used __get_cpu_var() once. Nothing ensured that the code
    accessing the variable did not migrate from one CPU to another and soon
    this was noticed by Tiejun Chen in 94b09d755462 ("powerpc/hugetlb:
    Replace __get_cpu_var with get_cpu_var"). So we had it fixed.

    Christoph Lameter was doing his __get_cpu_var() replaces and forgot
    PowerPC. Then he noticed this and sent his fixed up batch again which
    got applied as 69111bac42f5 ("powerpc: Replace __get_cpu_var uses").

    The careful reader will noticed one little detail: get_cpu_var() got
    replaced with this_cpu_ptr(). So now we have a put_cpu_var() which does
    a preempt_enable() and nothing that does preempt_disable() so we
    underflow the preempt counter.

    Cc: Benjamin Herrenschmidt
    Cc: Christoph Lameter
    Cc: stable@vger.kernel.org
    Signed-off-by: Sebastian Andrzej Siewior
    Reviewed-by: Aneesh Kumar K.V
    Signed-off-by: Michael Ellerman

    Sebastian Siewior
     
  • Update the definition of memcpy_from_pmem() to return 0 or a negative
    error code. Implement x86/arch_memcpy_from_pmem() with memcpy_mcsafe().

    Cc: Borislav Petkov
    Cc: Tony Luck
    Cc: Thomas Gleixner
    Cc: Andy Lutomirski
    Cc: Peter Zijlstra
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Acked-by: Ingo Molnar
    Reviewed-by: Ross Zwisler
    Signed-off-by: Dan Williams

    Dan Williams
     
  • Pull sparc fixes from David Miller:
    "Minor typing cleanup from Joe Perches, and some comment typo fixes
    from Adam Buchbinder"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc: Convert naked unsigned uses to unsigned int
    sparc: Fix misspellings in comments.

    Linus Torvalds
     
  • Pull arch/tile bugfixes from Chris Metcalf:
    "These include updates to MAINTAINERS, some comment spelling fixes, and
    a bugfix to the tile kgdb.c support"

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    tile: Fix misspellings in comments.
    MAINTAINERS: update web link for tile architecture
    MAINTAINERS: update arch/tile maintainer email domain
    tile kgdb: fix bug in copy to gdb regs, and optimize memset

    Linus Torvalds
     

26 Mar, 2016

5 commits

  • There are several reports of freeze on enabling HWP (Hardware PStates)
    feature on Skylake-based systems by the Intel P-states driver. The root
    cause is identified as the HWP interrupts causing BIOS code to freeze.

    HWP interrupts use the thermal LVT which can be handled by Linux
    natively, but on the affected Skylake-based systems SMM will respond
    to it by default. This is a problem for several reasons:
    - On the affected systems the SMM thermal LVT handler is broken (it
    will crash when invoked) and a BIOS update is necessary to fix it.
    - With thermal interrupt handled in SMM we lose all of the reporting
    features of the arch/x86/kernel/cpu/mcheck/therm_throt driver.
    - Some thermal drivers like x86-package-temp depend on the thermal
    threshold interrupts signaled via the thermal LVT.
    - The HWP interrupts are useful for debugging and tuning
    performance (if the kernel can handle them).
    The native handling of thermal interrupts needs to be enabled
    because of that.

    This requires some way to tell SMM that the OS can handle thermal
    interrupts. That can be done by using _OSC/_PDC in processor
    scope very early during ACPI initialization.

    The meaning of _OSC/_PDC bit 12 in processor scope is whether or
    not the OS supports native handling of interrupts for Collaborative
    Processor Performance Control (CPPC) notifications. Since on
    HWP-capable systems CPPC is a firmware interface to HWP, setting
    this bit effectively tells the firmware that the OS will handle
    thermal interrupts natively going forward.

    For details on _OSC/_PDC refer to:
    http://www.intel.com/content/www/us/en/standards/processor-vendor-specific-acpi-specification.html

    To implement the _OSC/_PDC handshake as described, introduce a new
    function, acpi_early_processor_osc(), that walks the ACPI
    namespace looking for ACPI processor objects and invokes _OSC for
    them with bit 12 in the capabilities buffer set and terminates the
    namespace walk on the first success.

    Also modify intel_thermal_interrupt() to clear HWP status bits in
    the HWP_STATUS MSR to acknowledge HWP interrupts (which prevents
    them from firing continuously).

    Signed-off-by: Srinivas Pandruvada
    [ rjw: Subject & changelog, function rename ]
    Signed-off-by: Rafael J. Wysocki

    Srinivas Pandruvada
     
  • Merge fourth patch-bomb from Andrew Morton:
    "A lot more stuff than expected, sorry. A bunch of ocfs2 reviewing was
    finished off.

    - mhocko's oom-reaper out-of-memory-handler changes

    - ocfs2 fixes and features

    - KASAN feature work

    - various fixes"

    * emailed patches from Andrew Morton : (42 commits)
    thp: fix typo in khugepaged_scan_pmd()
    MAINTAINERS: fill entries for KASAN
    mm/filemap: generic_file_read_iter(): check for zero reads unconditionally
    kasan: test fix: warn if the UAF could not be detected in kmalloc_uaf2
    mm, kasan: stackdepot implementation. Enable stackdepot for SLAB
    arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections
    mm, kasan: add GFP flags to KASAN API
    mm, kasan: SLAB support
    kasan: modify kmalloc_large_oob_right(), add kmalloc_pagealloc_oob_right()
    include/linux/oom.h: remove undefined oom_kills_count()/note_oom_kill()
    mm/page_alloc: prevent merging between isolated and other pageblocks
    drivers/memstick/host/r592.c: avoid gcc-6 warning
    ocfs2: extend enough credits for freeing one truncate record while replaying truncate records
    ocfs2: extend transaction for ocfs2_remove_rightmost_path() and ocfs2_update_edge_lengths() before to avoid inconsistency between inode and et
    ocfs2/dlm: move lock to the tail of grant queue while doing in-place convert
    ocfs2: solve a problem of crossing the boundary in updating backups
    ocfs2: fix occurring deadlock by changing ocfs2_wq from global to local
    ocfs2/dlm: fix BUG in dlm_move_lockres_to_recovery_list
    ocfs2/dlm: fix race between convert and recovery
    ocfs2: fix a deadlock issue in ocfs2_dio_end_io_write()
    ...

    Linus Torvalds
     
  • Implement the stack depot and provide CONFIG_STACKDEPOT. Stack depot
    will allow KASAN store allocation/deallocation stack traces for memory
    chunks. The stack traces are stored in a hash table and referenced by
    handles which reside in the kasan_alloc_meta and kasan_free_meta
    structures in the allocated memory chunks.

    IRQ stack traces are cut below the IRQ entry point to avoid unnecessary
    duplication.

    Right now stackdepot support is only enabled in SLAB allocator. Once
    KASAN features in SLAB are on par with those in SLUB we can switch SLUB
    to stackdepot as well, thus removing the dependency on SLUB stack
    bookkeeping, which wastes a lot of memory.

    This patch is based on the "mm: kasan: stack depots" patch originally
    prepared by Dmitry Chernenkov.

    Joonsoo has said that he plans to reuse the stackdepot code for the
    mm/page_owner.c debugging facility.

    [akpm@linux-foundation.org: s/depot_stack_handle/depot_stack_handle_t]
    [aryabinin@virtuozzo.com: comment style fixes]
    Signed-off-by: Alexander Potapenko
    Signed-off-by: Andrey Ryabinin
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Joonsoo Kim
    Cc: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Steven Rostedt
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Potapenko
     
  • KASAN needs to know whether the allocation happens in an IRQ handler.
    This lets us strip everything below the IRQ entry point to reduce the
    number of unique stack traces needed to be stored.

    Move the definition of __irq_entry to so that the
    users don't need to pull in . Also introduce the
    __softirq_entry macro which is similar to __irq_entry, but puts the
    corresponding functions to the .softirqentry.text section.

    Signed-off-by: Alexander Potapenko
    Acked-by: Steven Rostedt
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Joonsoo Kim
    Cc: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Andrey Ryabinin
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Potapenko
     
  • New system calls added in:
    f17d8b35452cab31a70d224964cd583fb2845449
    vfs: vfs: Define new syscalls preadv2,pwritev2

    Signed-off-by: Tony Luck

    Tony Luck
     

25 Mar, 2016

9 commits

  • Pull asm-generic updates from Arnd Bergmann:
    "There are only three patches this time, most other changes to files in
    include/asm-generic tend to go through the tree of whoever depends on
    the change.

    Two patches are cleanups for stuff that is no longer needed, the main
    change is to adapt the generic version of BUG_ON() for CONFIG_BUG=n to
    make it behave consistently with BUG().

    This avoids undefined behavior along with a number of warnings about
    that undefined behavior in randconfig builds when we keep going on
    after hitting a BUG_ON()"

    * tag 'asm-generic-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    asm-generic: remove old nonatomic-io wrapper files
    asm-generic: default BUG_ON(x) to if(x)BUG()
    asm-generic: page.h: Remove useless get_user_page and free_user_page

    Linus Torvalds
     
  • Pull MTD updates from Brian Norris:
    "NAND:
    - Add sunxi_nand randomizer support
    - begin refactoring NAND ecclayout structs
    - fix pxa3xx_nand dmaengine usage
    - brcmnand: fix support for v7.1 controller
    - add Qualcomm NAND controller driver

    SPI NOR:
    - add new ls1021a, ls2080a support to Freescale QuadSPI
    - add new flash ID entries
    - support bottom-block protection for Winbond flash
    - support Status Register Write Protect
    - remove broken QPI support for Micron SPI flash

    JFFS2:
    - improve post-mount CRC scan efficiency

    General:
    - refactor bcm63xxpart parser, to later extend for NAND
    - add writebuf size parameter to mtdram

    Other minor code quality improvements"

    * tag 'for-linus-20160324' of git://git.infradead.org/linux-mtd: (72 commits)
    mtd: nand: remove kerneldoc for removed function parameter
    mtd: nand: Qualcomm NAND controller driver
    dt/bindings: qcom_nandc: Add DT bindings
    mtd: nand: don't select chip in nand_chip's block_bad op
    mtd: spi-nor: support lock/unlock for a few Winbond chips
    mtd: spi-nor: add TB (Top/Bottom) protect support
    mtd: spi-nor: add SPI_NOR_HAS_LOCK flag
    mtd: spi-nor: use BIT() for flash_info flags
    mtd: spi-nor: disallow further writes to SR if WP# is low
    mtd: spi-nor: make lock/unlock bounds checks more obvious and robust
    mtd: spi-nor: silently drop lock/unlock for already locked/unlocked region
    mtd: spi-nor: wait for SR_WIP to clear on initial unlock
    mtd: nand: simplify nand_bch_init() usage
    mtd: mtdswap: remove useless if (!mtd->ecclayout) test
    mtd: create an mtd_oobavail() helper and make use of it
    mtd: kill the ecclayout->oobavail field
    mtd: nand: check status before reporting timeout
    mtd: bcm63xxpart: give width specifier an 'int', not 'size_t'
    mtd: mtdram: Add parameter for setting writebuf size
    mtd: nand: pxa3xx_nand: kill unused field 'drcmr_cmd'
    ...

    Linus Torvalds
     
  • Pull parisc updates from Helge Deller:
    "This patchset adds stack usage debug info for parisc and metag (on
    both the stack grows upwards), switches to the new generic realative
    extable search and sort routines, drops the long time ago removed
    syscalls alloc_hugepages and free_hugepages and wires up the new
    preadv2 and pwritev2 syscalls"

    * 'parisc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Wire up preadv2 and pwritev2 syscalls
    parisc: Use generic extable search and sort routines
    parisc: Panic immediately when panic_on_oops
    parisc,metag: Implement CONFIG_DEBUG_STACK_USAGE option
    parisc: Drop alloc_hugepages and free_hugepages syscalls

    Linus Torvalds
     
  • Pull second set of arm64 updates from Catalin Marinas:

    - KASLR bug fixes: use callee-saved register, boot-time I-cache
    maintenance

    - inv_entry asm macro fix (EL0 check typo)

    - pr_notice("Virtual kernel memory layout...") splitting

    - Clean-ups: use p?d_set_huge consistently, allow preemption around
    copy_to_user_page, remove unused __local_flush_icache_all()

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: mm: allow preemption in copy_to_user_page
    arm64: consistently use p?d_set_huge
    arm64: kaslr: use callee saved register to preserve SCTLR across C call
    arm64: Split pr_notice("Virtual kernel memory layout...") into multiple pr_cont()
    arm64: drop unused __local_flush_icache_all()
    arm64: fix KASLR boot-time I-cache maintenance
    arm64/kernel: fix incorrect EL0 check in inv_entry macro

    Linus Torvalds
     
  • Pull more ARM DT changes from Arnd Bergmann:
    "Here are some final updates for ARM SoC specific dts files:

    - The i.MX changes were sent relatively late, and had a dependency on
    the clk tree, so I delayed that a bit. Support for the new i.MX6qp
    SoC and a couple of new boards is added in this branch.

    - Uniphier renames a few files to match the final product names that
    were decided by the company, kudos to the kernel developer(s) for
    getting support upstream before the product release. Also two
    boards are added. The patches were posted early enough and nice
    overall, but we forgot to apply them and decided to give it some
    more time in linux-next

    - at91 has two small bug fixes"

    * tag 'armsoc-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
    ARM: dts: at91: sama5d4 Xplained: don't disable hsmci regulator
    ARM: dts: at91: sama5d3 Xplained: don't disable hsmci regulator
    ARM: dts: uniphier: add pinmux node for I2C ch4
    ARM: dts: uniphier: add @{address} to EEPROM node
    ARM: dts: uniphier: add PH1-Pro4 Sanji board support
    ARM: dts: uniphier: add PH1-Pro4 Ace board support
    ARM: dts: uniphier: enable I2C channel 2 of ProXstream2 Gentil board
    ARM: dts: uniphier: add EEPROM node for ProXstream2 Gentil board
    ARM: dts: uniphier: add reference clock nodes
    ARM: dts: uniphier: rework UniPhier System Bus nodes
    ARM: dts: uniphier: factor out ranges property of support card
    arm64: dts: uniphier: rename PH1-LD10 to PH1-LD20
    ARM: dts: imx53-qsb: Fix gpio button polarity
    ARM: dts: vfxxx: Add DAC node for Vybrid SoC
    ARM: dts: imx6q: add missing links between ipu2 and mipi dsi
    ARM: dts: imx: Add support for Advantech/GE B850v3
    ARM: dts: imx: Add support for Advantech/GE B650v3
    ARM: dts: imx: Add support for Advantech/GE B450v3
    ARM: dts: imx: Add support for Advantech/GE Bx50v3
    ARM: dts: imx: Add Advantech BA-16 Qseven module
    ...

    Linus Torvalds
     
  • Pull h8300 updates from Yoshinori Sato:
    "Various h8300 fixes"

    * tag 'for-4.6' of git://git.osdn.jp/gitroot/uclinux-h8/linux:
    h8300: switch EARLYCON
    h8300: dts: Rename the serial port clock to fck

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "Nothing major this round. Mostly small clean ups and fixes.

    Some visible changes:

    - A new flag was added to distinguish traces done in NMI context.

    - Preempt tracer now shows functions where preemption is disabled but
    interrupts are still enabled.

    Other notes:

    - Updates were done to function tracing to allow better performance
    with perf.

    - Infrastructure code has been added to allow for a new histogram
    feature for recording live trace event histograms that can be
    configured by simple user commands. The feature itself was just
    finished, but needs a round in linux-next before being pulled.

    This only includes some infrastructure changes that will be needed"

    * tag 'trace-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (22 commits)
    tracing: Record and show NMI state
    tracing: Fix trace_printk() to print when not using bprintk()
    tracing: Remove redundant reset per-CPU buff in irqsoff tracer
    x86: ftrace: Fix the misleading comment for arch/x86/kernel/ftrace.c
    tracing: Fix crash from reading trace_pipe with sendfile
    tracing: Have preempt(irqs)off trace preempt disabled functions
    tracing: Fix return while holding a lock in register_tracer()
    ftrace: Use kasprintf() in ftrace_profile_tracefs()
    ftrace: Update dynamic ftrace calls only if necessary
    ftrace: Make ftrace_hash_rec_enable return update bool
    tracing: Fix typoes in code comment and printk in trace_nop.c
    tracing, writeback: Replace cgroup path to cgroup ino
    tracing: Use flags instead of bool in trigger structure
    tracing: Add an unreg_all() callback to trigger commands
    tracing: Add needs_rec flag to event triggers
    tracing: Add a per-event-trigger 'paused' field
    tracing: Add get_syscall_name()
    tracing: Add event record param to trigger_ops.func()
    tracing: Make event trigger functions available
    tracing: Make ftrace_event_field checking functions available
    ...

    Linus Torvalds
     
  • Pull irq fixes from Thomas Gleixner:
    "A small set of fixes for the usual ARM/SOC irqchip drivers

    - A set of fixes for mbigen to handle multiple devices in a hardware
    module proper

    - A cleanup for the mbigen config option which was pointlessly user
    configurable.

    - A cleanup for tegra replacing open coded functionality by the
    proper core function

    The config cleanup touches arch/arm64/Kconfig.platforms to select the
    irq chip for the related platform"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/mbigen: Make CONFIG_HISILICON_IRQ_MBIGEN a hidden option
    ARM64: Kconfig: Select mbigen interrupt controller on Hisilicon platform
    irqchip/mbigen: Handle multiple device nodes in a mbigen module
    irqchip/mbigen: Adjust DT bindings to handle multiple devices in a module
    irqchip/tegra: Switch to use irq_domain_free_irqs_common

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "This tree contains various perf fixes on the kernel side, plus three
    hw/event-enablement late additions:

    - Intel Memory Bandwidth Monitoring events and handling
    - the AMD Accumulated Power Mechanism reporting facility
    - more IOMMU events

    ... and a final round of perf tooling updates/fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
    perf llvm: Use strerror_r instead of the thread unsafe strerror one
    perf llvm: Use realpath to canonicalize paths
    perf tools: Unexport some methods unused outside strbuf.c
    perf probe: No need to use formatting strbuf method
    perf help: Use asprintf instead of adhoc equivalents
    perf tools: Remove unused perf_pathdup, xstrdup functions
    perf tools: Do not include stringify.h from the kernel sources
    tools include: Copy linux/stringify.h from the kernel
    tools lib traceevent: Remove redundant CPU output
    perf tools: Remove needless 'extern' from function prototypes
    perf tools: Simplify die() mechanism
    perf tools: Remove unused DIE_IF macro
    perf script: Remove lots of unused arguments
    perf thread: Rename perf_event__preprocess_sample_addr to thread__resolve
    perf machine: Rename perf_event__preprocess_sample to machine__resolve
    perf tools: Add cpumode to struct perf_sample
    perf tests: Forward the perf_sample in the dwarf unwind test
    perf tools: Remove misplaced __maybe_unused
    perf list: Fix documentation of :ppp
    perf bench numa: Fix assertion for nodes bitfield
    ...

    Linus Torvalds