03 May, 2016

1 commit

  • Pull sparc fixes from David Miller:

    1) Fix panics with SR-IOV, from Babu Moger.

    2) Wire up preadv2/pwritev2.

    3) Allow proper auto-loading of VIO devices, from John Paul Adrian
    Glaubitz.

    4) Recognize Sonoma cpus, from Khalid Aziz.

    5) Fix bootup regressions caused by syscall trace fixes made recently.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Fix bootup regressions on some Kconfig combinations.
    sparc64: recognize and support Sonoma CPU type
    sparc: Implement and wire up vio_hotplug for vio.
    sparc: Implement and wire up modalias_show for vio.
    sparc/pci: Refactor dev_archdata initialization into pci_init_dev_archdata
    sparc/defconfigs: Remove CONFIG_IPV6_PRIVACY
    sparc: Write up preadv2/pwritev2 syscalls.
    sparc/PCI: Fix for panic while enabling SR-IOV

    Linus Torvalds
     

30 Apr, 2016

1 commit

  • Pull powerpc fixes from Michael Ellerman:
    "A few more powerpc fixes for 4.6:

    - cxl: Keep IRQ mappings on context teardown from Michael Neuling

    - cxl: Poll for outstanding IRQs when detaching a context from
    Michael Neuling

    - Wire up preadv2 and pwritev2 syscalls from Rui Salvaterra"

    * tag 'powerpc-4.6-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc: wire up preadv2 and pwritev2 syscalls
    cxl: Poll for outstanding IRQs when detaching a context
    cxl: Keep IRQ mappings on context teardown

    Linus Torvalds
     

29 Apr, 2016

3 commits

  • Pull x86 fixes from Ingo Molnar:
    "Two boot crash fixes and an IRQ handling crash fix"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/apic: Handle zero vector gracefully in clear_vector_irq()
    Revert "x86/mm/32: Set NX in __supported_pte_mask before enabling paging"
    xen/qspinlock: Don't kick CPU if IRQ is not initialized

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "x86 PMU driver fixes plus a core code race fix"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/intel: Fix incorrect lbr_sel_mask value
    perf/x86/intel/pt: Don't die on VMXON
    perf/core: Fix perf_event_open() vs. execve() race
    perf/x86/amd: Set the size of event map array to PERF_COUNT_HW_MAX
    perf/core: Make sysctl_perf_cpu_time_max_percent conform to documentation
    perf/x86/intel/rapl: Add missing Haswell model
    perf/x86/intel: Add model number for Skylake Server to perf

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    "Three more bug fixes for 4.6

    - Due to a race in the dynamic page table code a multi-threaded
    program can cause a translation specification exception. With
    panic_on_oops a user space program can crash the system.

    - An information leak with the /dev/sclp device.

    - A use after free in the s390 PCI code"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/sclp_ctl: fix potential information leak with /dev/sclp
    s390/mm: fix asce_bits handling with dynamic pagetable levels
    s390/pci: fix use after free in dma_init

    Linus Torvalds
     

28 Apr, 2016

7 commits

  • This patch fixes a bug which was introduced by:

    b16a5b52eb90 ("perf/x86: Add option to disable reading branch flags/cycles")

    In this patch, lbr_sel_mask is used to mask the lbr_select. But LBR_SEL_MASK
    doesn't include the bit for LBR_CALL_STACK. So LBR call stack will never be
    set in lbr_select.

    This patch corrects the LBR_SEL_MASK by including all valid bits in
    LBR_SELECT. Also, the LBR_CALL_STACK bit is different as other bit in
    LBR_SELECT. It does not operate in suppress mode, so it needs to be
    specially handled in intel_pmu_setup_hw_lbr_filter.

    Signed-off-by: Kan Liang
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vince Weaver
    Link: http://lkml.kernel.org/r/1461231010-4399-1-git-send-email-kan.liang@intel.com
    Signed-off-by: Ingo Molnar

    Kan Liang
     
  • Some versions of Intel PT do not support tracing across VMXON, more
    specifically, VMXON will clear TraceEn control bit and any attempt to
    set it before VMXOFF will throw a #GP, which in the current state of
    things will crash the kernel. Namely:

    $ perf record -e intel_pt// kvm -nographic

    on such a machine will kill it.

    To avoid this, notify the intel_pt driver before VMXON and after
    VMXOFF so that it knows when not to enable itself.

    Signed-off-by: Alexander Shishkin
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Arnaldo Carvalho de Melo
    Cc: Arnaldo Carvalho de Melo
    Cc: Borislav Petkov
    Cc: Gleb Natapov
    Cc: Jiri Olsa
    Cc: Paolo Bonzini
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vince Weaver
    Cc: hpa@zytor.com
    Link: http://lkml.kernel.org/r/87oa9dwrfk.fsf@ashishki-desk.ger.corp.intel.com
    Signed-off-by: Ingo Molnar

    Alexander Shishkin
     
  • The entry for PERF_COUNT_HW_REF_CPU_CYCLES is not used on AMD, but is
    referenced by filter_events() which expects undefined events to have a
    value of 0.

    Found via KASAN:

    UBSAN: Undefined behaviour in arch/x86/events/amd/core.c:132:30
    index 9 is out of range for type 'u64 [9]'
    UBSAN: Undefined behaviour in arch/x86/events/amd/core.c:132:9
    load of address ffffffff81c021c8 with insufficient space for an object of type 'const u64'

    Signed-off-by: Adam Borowski
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Borislav Petkov
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vince Weaver
    Link: http://lkml.kernel.org/r/1461749731-30979-1-git-send-email-kilobyte@angband.pl
    Signed-off-by: Ingo Molnar

    Adam Borowski
     
  • If x86_vector_alloc_irq() fails x86_vector_free_irqs() is invoked to cleanup
    the already allocated vectors. This subsequently calls clear_vector_irq().

    The failed irq has no vector assigned, which triggers the BUG_ON(!vector) in
    clear_vector_irq().

    We cannot suppress the call to x86_vector_free_irqs() for the failed
    interrupt, because the other data related to this irq must be cleaned up as
    well. So calling clear_vector_irq() with vector == 0 is legitimate.

    Remove the BUG_ON and return if vector is zero,

    [ tglx: Massaged changelog ]

    Fixes: b5dc8e6c21e7 "x86/irq: Use hierarchical irqdomain to manage CPU interrupt vectors"
    Signed-off-by: Keith Busch
    Cc: stable@vger.kernel.org
    Signed-off-by: Thomas Gleixner

    Keith Busch
     
  • The system call tracing bug fix mentioned in the Fixes tag
    below increased the amount of assembler code in the sequence
    of assembler files included by head_64.S

    This caused to total set of code to exceed 0x4000 bytes in
    size, which overflows the expression in head_64.S that works
    to place swapper_tsb at address 0x408000.

    When this is violated, the TSB is not properly aligned, and
    also the trap table is not aligned properly either. All of
    this together results in failed boots.

    So, do two things:

    1) Simplify some code by using ba,a instead of ba/nop to get
    those bytes back.

    2) Add a linker script assertion to make sure that if this
    happens again the build will fail.

    Fixes: 1a40b95374f6 ("sparc: Fix system call tracing register handling.")
    Reported-by: Meelis Roos
    Reported-by: Joerg Abraham
    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull ARC fixes from Vineet Gupta:

    - lockdep now works for ARCv2 builds

    - enable DT reserved-memory binding (for forthcoming HDMI driver)

    * tag 'arc-4.6-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: add support for reserved memory defined by device tree
    ARC: support generic per-device coherent dma mem
    Documentation: dt: arc: fix spelling mistakes
    ARCv2: Enable LOCKDEP

    Linus Torvalds
     
  • Pull arch/nios2 fix from Ley Foon Tan:
    "memset: use the right constraint modifier for the %4 output operand"

    * tag 'nios2-v4.6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2:
    nios2: memset: use the right constraint modifier for the %4 output operand

    Linus Torvalds
     

27 Apr, 2016

6 commits

  • Enable reserved memory initialization from device tree.

    Signed-off-by: Alexey Brodkin
    Cc: Grant Likely
    Cc: Marek Szyprowski
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Vineet Gupta

    Alexey Brodkin
     
  • Signed-off-by: Alexey Brodkin
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Vineet Gupta

    Alexey Brodkin
     
  • Depending on the size of the area to be memset'ed, the nios2 memset implementation
    either uses a naive loop (for buffers smaller or equal than 8 bytes) or a more optimized
    implementation (for buffers larger than 8 bytes). This implementation does 4-byte stores
    rather than 1-byte stores to speed up memset.

    However, we discovered that on our nios2 platform, memset() was not properly setting the
    buffer to the expected value. A memset of 0xff would not set the entire buffer to 0xff, but to:

    0xff 0x00 0xff 0x00 0xff 0x00 0xff 0x00 ...

    Which is obviously incorrect. Our investigation has revealed that the problem lies in the
    incorrect constraints used in the inline assembly.

    The following piece of assembly, from the nios2 memset implementation, is supposed to
    create a 4-byte value that repeats 4 times the 1-byte pattern passed as memset argument:

    /* fill8 %3, %5 (c & 0xff) */
    " slli %4, %5, 8\n"
    " or %4, %4, %5\n"
    " slli %3, %4, 16\n"
    " or %3, %3, %4\n"

    However, depending on the compiler and optimization level, this code might be compiled as:

    34: 280a923a slli r5,r5,8
    38: 294ab03a or r5,r5,r5
    3c: 2808943a slli r4,r5,16
    40: 2148b03a or r4,r4,r5

    This is wrong because r5 gets used both for %5 and %4, which leads to the final pattern
    stored in r4 to be 0xff00ff00 rather than the expected 0xffffffff.

    %4 is defined with the "=r" constraint, i.e as an output operand. However, as explained in
    http://www.ethernut.de/en/documents/arm-inline-asm.html, this does not prevent gcc from
    using the same register for an output operand (%4) and input operand (%5). By using the
    constraint modifier '&', we indicate that the register should be used for output only. With this
    change, we get the following assembly output:

    34: 2810923a slli r8,r5,8
    38: 4150b03a or r8,r8,r5
    3c: 400e943a slli r7,r8,16
    40: 3a0eb03a or r7,r7,r8

    Which correctly produces the 0xffffffff pattern when 0xff is passed as the memset() pattern.

    It is worth mentioning the observed consequence of this bug: we were hitting the kernel
    BUG() in mm/bootmem.c:__free() that verifies when marking a page as free that it was
    previously marked as occupied (i.e that the bit was set to 1). The entire bootmem bitmap is
    set to 0xff bit via a memset() during the bootmem initialization. The bootmem_free() call right
    after the initialization was finding some bits to be set to 0, which didn't make sense since the
    bitmap has just been memset'ed to 0xff. Except that due to the bug explained above, the
    bitmap was in fact initialized to 0xff00ff00.

    Thanks to Marek Vasut for his help and feedback.

    Signed-off-by: Romain Perier
    Acked-by: Marek Vasut
    Acked-by: Ley Foon Tan

    Romain Perier
     
  • Wire up preadv2/pwritev2 in the same way as preadv/pwritev. Fixes two
    build warnings on ppc64.

    mpe: Lightly tested with fio (slightly hacked to add the syscall
    wrappers):

    fio-4217 [009] .... 1304.635300: sys_preadv2(fd: 3, vec:
    10025821de0, vlen: 1, pos_l: 6253000, pos_h: 0, flags: 1)
    fio-4217 [009] .... 1304.635474: sys_preadv2 -> 0x1000

    Signed-off-by: Rui Salvaterra
    Signed-off-by: Michael Ellerman

    Rui Salvaterra
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "Here are the latest bug fixes for ARM SoCs, mostly addressing recent
    regressions. Changes are across several platforms, so I'm listing
    every change separately here.

    Regressions since 4.5:

    - A correction of the psci firmware DT binding, to prevent users from
    relying on unintended semantics

    - Actually getting the newly merged clock driver for some OMAP
    platforms to work

    - A revert of patches for the Qualcomm BAM, these need to be reworked
    for 4.7 to avoid breaking boards other than the one they were
    intended for

    - A correction for the I2C device nodes on the Socionext Uniphier
    platform

    - i.MX SDHCI was broken for non-DT platforms due to a change with the
    setting of the DMA mask

    - A revert of a patch that accidentally added a nonexisting clock on
    the Rensas "Porter" board

    - A couple of OMAP fixes that are all related to suspend after the
    power domain changes for dra7

    - On Mediatek, revert part of the power domain initialization changes
    that broke mt8173-evb

    Fixes for older bugs:

    - Workaround for an "external abort" in the omap34xx suspend/resume
    code.

    - The USB1/eSATA should not be listed as an excon device on
    am57xx-beagle-x15 (broken since v4.0)

    - A v4.5 regression in the TI AM33xx and AM43XX DT specifying
    incorrect DMA request lines for the GPMC

    - The jiffies calibration on Renesas platforms was incorrect for some
    modern CPU cores.

    - A hardware errata woraround for clockdomains on TI DRA7"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    drivers: firmware: psci: unify enable-method binding on ARM {64,32}-bit systems
    arm64: dts: uniphier: fix I2C nodes of PH1-LD20
    ARM: shmobile: timer: Fix preset_lpj leading to too short delays
    Revert "ARM: dts: porter: Enable SCIF_CLK frequency and pins"
    ARM: dts: r8a7791: Don't disable referenced optional clocks
    Revert "ARM: OMAP: Catch callers of revision information prior to it being populated"
    ARM: OMAP3: Fix external abort on 36xx waking from off mode idle
    ARM: dts: am57xx-beagle-x15: remove extcon_usb1
    ARM: dts: am437x: Fix GPMC dma properties
    ARM: dts: am33xx: Fix GPMC dma properties
    Revert "soc: mediatek: SCPSYS: Fix double enabling of regulators"
    ARM: mach-imx: sdhci-esdhc-imx: initialize DMA mask
    ARM: DRA7: clockdomain: Implement timer workaround for errata i874
    ARM: OMAP: Catch callers of revision information prior to it being populated
    ARM: dts: dra7: Correct clock tree for sys_32k_ck
    ARM: OMAP: DRA7: Provide proper class to omap2_set_globals_tap
    ARM: OMAP: DRA7: wakeupgen: Skip SAR save for wakeupgen
    Revert "dts: msm8974: Add dma channels for blsp2_i2c1 node"
    Revert "dts: msm8974: Add blsp2_bam dma node"
    ARM: dts: Add clocks for dm814x ADPLL

    Linus Torvalds
     
  • This reverts commit 320d25b6a05f8b73c23fc21025d2906ecdd2d4fc.

    This change was problematic for a couple of reasons:

    1. It missed a some entry points (Xen things and 64-bit native).

    2. The entry it changed can be executed more than once. This isn't
    really a problem, but it conflated per-cpu state setup and global
    state setup.

    3. It broke 64-bit non-NX. 64-bit non-NX worked the other way around from
    32-bit -- __supported_pte_mask had NX set initially and was *cleared*
    in x86_configure_nx. With the patch applied, it never got cleared.

    Reported-and-tested-by: Meelis Roos
    Signed-off-by: Andy Lutomirski
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Linus Torvalds
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/59bd15f7f4b56b633a611b7f70876c6d2ad01a98.1461685884.git.luto@kernel.org
    Signed-off-by: Ingo Molnar

    Andy Lutomirski
     

25 Apr, 2016

1 commit

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

    Enable dm814x and dra62x clock driver. This branch has a dependency
    to the clk-ti branch from the Linux clk tree for the ADPLL clock driver.
    Otherwise things won't keep booting properly when we flip over to use
    the clock driver instead of fixed clocks set up by the bootloader.

    * tag 'omap-for-v4.6/dt-ti81xx-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: dts: Add clocks for dm814x ADPLL

    Kevin Hilman
     

24 Apr, 2016

3 commits

  • …git/agross/linux into fixes

    Merge "Qualcomm Fixes for v4.6-rc2" from Andy Gross:

    * Revert BAM usage on MSM8974 boards

    * tag 'qcom-fixes-for-4.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
    Revert "dts: msm8974: Add dma channels for blsp2_i2c1 node"
    Revert "dts: msm8974: Add blsp2_bam dma node"

    Arnd Bergmann
     
  • The I2C hardware blocks on this SoC are connected as follows:

    I2C0: external connection
    I2C1: external connection
    I2C2: internal connection
    I2C3: external connection
    I2C4: external connection
    I2C5: internal connection
    I2C6: no connection (not accessible)

    Delete pinctrl from Ch2, add pinctrl to Ch4, and remove the Ch6 node.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Arnd Bergmann

    Masahiro Yamada
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes: two EDAC driver fixes, a Xen crash fix, a HyperV log spam
    fix and a documentation fix"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86 EDAC, sb_edac.c: Take account of channel hashing when needed
    x86 EDAC, sb_edac.c: Repair damage introduced when "fixing" channel address
    x86/mm/xen: Suppress hugetlbfs in PV guests
    x86/doc: Correct limits in Documentation/x86/x86_64/mm.txt
    x86/hyperv: Avoid reporting bogus NMI status for Gen2 instances

    Linus Torvalds
     

23 Apr, 2016

9 commits

  • Added one missing Haswell model.

    Signed-off-by: Srinivas Pandruvada
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vince Weaver
    Cc: bp@alien8.de
    Cc: hpa@zytor.com
    Link: http://lkml.kernel.org/r/1460907809-11897-1-git-send-email-srinivas.pandruvada@linux.intel.com
    Signed-off-by: Ingo Molnar

    Srinivas Pandruvada
     
  • Everything the same as base Skylake, just a new model number.

    Signed-off-by: Andi Kleen
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vince Weaver
    Link: http://lkml.kernel.org/r/1460751933-2264-1-git-send-email-andi@firstfloor.org
    Signed-off-by: Ingo Molnar

    Andi Kleen
     
  • The following commit:

    1fb3a8b2cfb2 ("xen/spinlock: Fix locking path engaging too soon under PVHVM.")

    ... moved the initalization of the kicker interrupt until after
    native_cpu_up() is called.

    However, when using qspinlocks, a CPU may try to kick another CPU that is
    spinning (because it has not yet initialized its kicker interrupt), resulting
    in the following crash during boot:

    kernel BUG at /build/linux-Ay7j_C/linux-4.4.0/drivers/xen/events/events_base.c:1210!
    invalid opcode: 0000 [#1] SMP
    ...
    RIP: 0010:[] [] xen_send_IPI_one+0x59/0x60
    ...
    Call Trace:
    [] xen_qlock_kick+0xe/0x10
    [] __pv_queued_spin_unlock+0xb2/0xf0
    [] ? __raw_callee_save___pv_queued_spin_unlock+0x11/0x20
    [] ? check_tsc_warp+0x76/0x150
    [] check_tsc_sync_source+0x96/0x160
    [] native_cpu_up+0x3d8/0x9f0
    [] xen_hvm_cpu_up+0x35/0x80
    [] _cpu_up+0x13c/0x180
    [] cpu_up+0x7a/0xa0
    [] smp_init+0x7f/0x81
    [] kernel_init_freeable+0xef/0x212
    [] ? rest_init+0x80/0x80
    [] kernel_init+0xe/0xe0
    [] ret_from_fork+0x3f/0x70
    [] ? rest_init+0x80/0x80

    To fix this, only send the kick if the target CPU's interrupt has been
    initialized. This check isn't racy, because the target is waiting for
    the spinlock, so it won't have initialized the interrupt in the
    meantime.

    Signed-off-by: Ross Lagerwall
    Reviewed-by: Boris Ostrovsky
    Cc: David Vrabel
    Cc: Juergen Gross
    Cc: Konrad Rzeszutek Wilk
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: linux-kernel@vger.kernel.org
    Cc: xen-devel@lists.xenproject.org
    Signed-off-by: Ingo Molnar

    Ross Lagerwall
     
  • Merge "ARM: i.MX fixes for 4.6" from Shawn Guo:

    The i.MX fixes for 4.6:
    - The sdhci-esdhc-imx DMA support is broken due to commit 7b91369b4655
    ("mmc: sdhci: Set DMA mask when adding host"). It requires device's
    dma_mask be set up properly to get DMA work. The fixing patch
    initializes the DMA mask to enable the access again.

    * tag 'imx-fixes-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    ARM: mach-imx: sdhci-esdhc-imx: initialize DMA mask

    Kevin Hilman
     
  • …/git/tmlind/linux-omap into fixes

    Merge "omap fixes for v4.6-rc cycle" from Tony Lindgren:

    Fixes for omaps for v4.6-rc cycle:

    - Clockdomain fix for dra7 timer interrupts

    - Two fixes for GPMC EDMA binding, I missed the need for a merge with
    GPMC changes and EDMA changes

    - Fix beagle-x15 eSATA by dropping misconfigured extcon_usb1

    - Fix occasional external aborts on 36xx with PM that we've been
    chasing for past few months. It turned out to be duplicate restore
    of INTC registers that can in some cases cause us to hit erratum 1.106.

    * tag 'omap-for-v4.6/fixes-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP3: Fix external abort on 36xx waking from off mode idle
    ARM: dts: am57xx-beagle-x15: remove extcon_usb1
    ARM: dts: am437x: Fix GPMC dma properties
    ARM: dts: am33xx: Fix GPMC dma properties
    ARM: DRA7: clockdomain: Implement timer workaround for errata i874

    Kevin Hilman
     
  • Pull arm64 fixes from Catalin Marinas:

    - Cache invalidation fix for early CPU boot status update (incorrect
    cacheline)

    - of_put_node() missing in the spin_table code

    - EL1/El2 early init inconsistency when Virtualisation Host Extensions
    are present

    - RCU warning fix in the arm_pmu.c driver

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: Fix EL1/EL2 early init inconsistencies with VHE
    drivers/perf: arm-pmu: fix RCU usage on pmu resume from low-power
    arm64: spin-table: add missing of_node_put()
    arm64: fix invalidation of wrong __early_cpu_boot_status cacheline

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:
    "Three powerpc cpu feature fixes from Anton Blanchard:

    - scan_features() updated incorrect bits for REAL_LE

    - update cpu_user_features2 in scan_features()

    - update TM user feature bits in scan_features()"

    * tag 'powerpc-4.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc: Update TM user feature bits in scan_features()
    powerpc: Update cpu_user_features2 in scan_features()
    powerpc: scan_features() updates incorrect bits for REAL_LE

    Linus Torvalds
     
  • …git/horms/renesas into fixes

    Merge "Renesas ARM Based SoC Fixes for v4.6" from Simon Horman:

    Renesas ARM Based SoC Fixes for v4.6

    * Correct preset_lpj calculation which may lead to too short delays
    * Correct handling of optional clocks on r8a7791 to restore
    access to the serial port the porter board

    * tag 'renesas-fixes-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
    ARM: shmobile: timer: Fix preset_lpj leading to too short delays
    Revert "ARM: dts: porter: Enable SCIF_CLK frequency and pins"
    ARM: dts: r8a7791: Don't disable referenced optional clocks

    Kevin Hilman
     
  • …nux/kernel/git/tmlind/linux-omap into fixes

    Merge "omap fixes against v4.6-rc2" from Tony Lindgren

    Fixes for omaps against v4.6-rc2, mostly to fix suspend for beagle-x15
    that broke when we added runtime based SoC revision detection earlier.

    It seems suspend worked earlier as things were only partially initialized,
    while now we initialize things properly for dra7.

    Note that the "ARM: OMAP: Catch callers of revision information prior
    to it being populated" had to be reverted as it caused bogus warnings
    for other SoCs because omap initcalls bail out based on revision being
    set to 0 for other SoCs. These initcalls will mostly just disappear
    when we drop support for omap3 legacy booting.

    Also included is a fix for dra7 sys_32k_ck clock source that is not
    enabled on boot making system fall back to using emulated clock.

    * tag 'omap-for-v4.6/fixes-rc2-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (198 commits)
    Revert "ARM: OMAP: Catch callers of revision information prior to it being populated"
    ARM: OMAP: Catch callers of revision information prior to it being populated
    ARM: dts: dra7: Correct clock tree for sys_32k_ck
    ARM: OMAP: DRA7: Provide proper class to omap2_set_globals_tap
    ARM: OMAP: DRA7: wakeupgen: Skip SAR save for wakeupgen
    Linux 4.6-rc2
    v4l2-mc: avoid warning about unused variable
    Convert straggling drivers to new six-argument get_user_pages()
    .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
    net: mvneta: fix changing MTU when using per-cpu processing
    ...

    Kevin Hilman
     

22 Apr, 2016

8 commits

  • - The asm helpers for calling into irq tracer were missing

    - Add calls to above helpers in low level assembly entry code for ARCv2

    - irq_save() uses CLRI to disable interrupts and returns the prev interrupt
    state (in STATUS32) in a specific encoding (and not the raw value of
    STATUS32). This is usable with SETI in irq_restore(). However
    save_flags() reads the raw value of STATUS32 which doesn't pair with
    irq_save/restore() and thus needs fixing.

    Signed-off-by: Evgeny Voevodin
    [vgupta: updated changelog and also added some comments]
    Signed-off-by: Vineet Gupta

    Evgeny Voevodin
     
  • Huge pages are not normally available to PV guests. Not suppressing
    hugetlbfs use results in an endless loop of page faults when user mode
    code tries to access a hugetlbfs mapped area (since the hypervisor
    denies such PTEs to be created, but error indications can't be
    propagated out of xen_set_pte_at(), just like for various of its
    siblings), and - once killed in an oops like this:

    kernel BUG at .../fs/hugetlbfs/inode.c:428!
    invalid opcode: 0000 [#1] SMP
    ...
    RIP: e030:[] [] remove_inode_hugepages+0x25b/0x320
    ...
    Call Trace:
    [] hugetlbfs_evict_inode+0x15/0x40
    [] evict+0xbd/0x1b0
    [] __dentry_kill+0x19a/0x1f0
    [] dput+0x1fe/0x220
    [] __fput+0x155/0x200
    [] task_work_run+0x60/0xa0
    [] do_exit+0x160/0x400
    [] do_group_exit+0x3b/0xa0
    [] get_signal+0x1ed/0x470
    [] do_signal+0x14/0x110
    [] prepare_exit_to_usermode+0xe9/0xf0
    [] retint_user+0x8/0x13

    This is CVE-2016-3961 / XSA-174.

    Reported-by: Vitaly Kuznetsov
    Signed-off-by: Jan Beulich
    Cc: Andrew Morton
    Cc: Andy Lutomirski
    Cc: Boris Ostrovsky
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: David Vrabel
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Juergen Gross
    Cc: Linus Torvalds
    Cc: Luis R. Rodriguez
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Toshi Kani
    Cc: stable@vger.kernel.org
    Cc: xen-devel
    Link: http://lkml.kernel.org/r/57188ED802000078000E431C@prv-mh.provo.novell.com
    Signed-off-by: Ingo Molnar

    Jan Beulich
     
  • Add code to recognize SPARC-Sonoma cpu correctly and update cpu hardware
    caps and cpu distribution map. SPARC-Sonoma is based upon SPARC-M7 core
    along with additional PCI functions added on and is reported by firmware
    as "SPARC-SN".

    Signed-off-by: Khalid Aziz
    Acked-by: Allen Pais
    Signed-off-by: David S. Miller

    Khalid Aziz
     
  • Signed-off-by: John Paul Adrian Glaubitz
    Acked-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Adrian Glaubitz
     
  • Signed-off-by: John Paul Adrian Glaubitz
    Acked-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Adrian Glaubitz
     
  • The function pcibios_add_device() added by commit d0c31e020057
    ("sparc/PCI: Fix for panic while enabling SR-IOV") initializes
    the dev_archdata by doing a memcpy from the PF. This has the
    problem that it erroneously copies the OF device without
    explicitly refcounting it.

    As David Miller pointed out: "Generally speaking we don't
    really support hot-plug for OF probed devices, but if we did
    all of the device tree pointers have to be refcounted properly."

    To fix this error, and also avoid code duplication, this patch
    creates a new helper function, pci_init_dev_archdata(), that
    initializes the fields in dev_archdata, and can be invoked
    by callers after they have taken the needed refcounts

    Signed-off-by: Sowmini Varadhan
    Tested-by: Babu Moger
    Reviewed-by: Khalid Aziz
    Signed-off-by: David S. Miller

    Sowmini Varadhan
     
  • Option is long gone, see

    5d9efa7ee99e ("ipv6: Remove privacy config option.")

    Signed-off-by: Borislav Petkov
    Cc: sparclinux@vger.kernel.org
    Signed-off-by: David S. Miller

    Borislav Petkov
     
  • When using the Virtualisation Host Extensions, EL1 is not used in
    the host and requires no separate configuration.

    In addition, with VHE enabled, non-hyp-specific EL2 configuration
    that does not need to be done early will be done anyway in
    __cpu_setup via the _EL1 system register aliases. In particular,
    the layout and definition of CPTR_EL2 are changed by enabling VHE
    so that they resemble CPACR_EL1, so existing code to initialise
    CPTR_EL2 becomes architecturally wrong in this case.

    This patch simply skips the affected initialisation code in the
    non-VHE case.

    Signed-off-by: Dave Martin
    Reviewed-by: Marc Zyngier
    Signed-off-by: Catalin Marinas

    Dave Martin
     

21 Apr, 2016

1 commit

  • Pull ARM fixes from Russell King:
    "Three further fixes for ARM.

    Alexandre Courbot was having problems with DMA allocations with the
    GFP flags affecting where the tracking data was being allocated from.
    Vladimir Murzin noticed that the CPU feature code was not entirely
    correct, which can cause some features to be misreported"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: 8564/1: fix cpu feature extracting helper
    ARM: 8563/1: fix demoting HWCAP_SWP
    ARM: 8551/2: DMA: Fix kzalloc flags in __dma_alloc

    Linus Torvalds