1. 09 12月, 2017 5 次提交
    • L
      Merge tag 'powerpc-4.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d90696ed
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
      
       "One notable fix for kexec on Power9, where we were not clearing MMU
        PID properly which sometimes leads to hangs. Finally debugged to a
        root cause by Nick.
      
        A revert of a patch which tried to rework our panic handling to get
        more output on the console, but inadvertently broke reporting the
        panic to the hypervisor, which apparently people care about.
      
        Then a fix for an oops in the PMU code, and finally some s/%p/%px/ in
        xmon.
      
        Thanks to: David Gibson, Nicholas Piggin, Ravi Bangoria"
      
      * tag 'powerpc-4.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/xmon: Don't print hashed pointers in xmon
        powerpc/64s: Initialize ISAv3 MMU registers before setting partition table
        Revert "powerpc: Do not call ppc_md.panic in fadump panic notifier"
        powerpc/perf: Fix oops when grouping different pmu events
      d90696ed
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · c6b3e969
      Linus Torvalds 提交于
      Pull s390 fixes from Martin Schwidefsky:
      
       - three more patches in regard to the SPDX license tags. The missing
         tags for the files in arch/s390/kvm will be merged via the KVM tree.
         With that all s390 related files should have their SPDX tags.
      
       - a patch to get rid of 'struct timespec' in the DASD driver.
      
       - bug fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390: fix compat system call table
        s390/mm: fix off-by-one bug in 5-level page table handling
        s390: Remove redudant license text
        s390: add a few more SPDX identifiers
        s390/dasd: prevent prefix I/O error
        s390: always save and restore all registers on context switch
        s390/dasd: remove 'struct timespec' usage
        s390/qdio: restrict target-full handling to IQDIO
        s390/qdio: consider ERROR buffers for inbound-full condition
        s390/virtio: add BSD license to virtio-ccw
      c6b3e969
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 6e7e7f4d
      Linus Torvalds 提交于
      Pull arm64 fixes from Will Deacon:
       "Fix some more FP register fallout from the SVE patches and also some
        problems with the PGD tracking in our software PAN emulation code,
        after we received a crash report from a 3.18 kernel running a
        backport.
      
        Summary:
      
         - fix SW PAN pgd shadowing for kernel threads, EFI and exiting user
           tasks
      
         - fix FP register leak when a task_struct is re-allocated
      
         - fix potential use-after-free in FP state tracking used by KVM"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64/sve: Avoid dereference of dead task_struct in KVM guest entry
        arm64: SW PAN: Update saved ttbr0 value on enter_lazy_tlb
        arm64: SW PAN: Point saved ttbr0 at the zero page when switching to init_mm
        arm64: fpsimd: Abstract out binding of task's fpsimd context to the cpu.
        arm64: fpsimd: Prevent registers leaking from dead tasks
      6e7e7f4d
    • L
      Merge tag 'acpi-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 3625de4b
      Linus Torvalds 提交于
      Pull ACPI fix from Rafael Wysocki:
       "This fixes an out of bounds warning from KASAN in the ACPI CPPC
        driver"
      
      * tag 'acpi-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / CPPC: Fix KASAN global out of bounds warning
      3625de4b
    • L
      Merge tag 'pm-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7ed9fd2e
      Linus Torvalds 提交于
      Pull power management fix from Rafael Wysocki:
       "This fixes an issue in the device runtime PM framework that prevents
        customer devices from resuming if runtime PM is disabled for one or
        more of their supplier devices (as reflected by device links between
        those devices)"
      
      * tag 'pm-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / runtime: Fix handling of suppliers with disabled runtime PM
      7ed9fd2e
  2. 07 12月, 2017 33 次提交
  3. 06 12月, 2017 2 次提交
    • M
      powerpc/xmon: Don't print hashed pointers in xmon · d8104182
      Michael Ellerman 提交于
      Since commit ad67b74d ("printk: hash addresses printed with %p")
      pointers printed with %p are hashed, ie. you don't see the actual
      pointer value but rather a cryptographic hash of its value.
      
      In xmon we want to see the actual pointer values, because xmon is a
      debugger, so replace %p with %px which prints the actual pointer
      value.
      
      We justify doing this in xmon because 1) xmon is a kernel crash
      debugger, it's only accessible via the console 2) xmon doesn't print
      to dmesg, so the pointers it prints are not able to be leaked that
      way.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      d8104182
    • N
      powerpc/64s: Initialize ISAv3 MMU registers before setting partition table · 371b8044
      Nicholas Piggin 提交于
      kexec can leave MMU registers set when booting into a new kernel,
      the PIDR (Process Identification Register) in particular. The boot
      sequence does not zero PIDR, so it only gets set when CPUs first
      switch to a userspace processes (until then it's running a kernel
      thread with effective PID = 0).
      
      This leaves a window where a process table entry and page tables are
      set up due to user processes running on other CPUs, that happen to
      match with a stale PID. The CPU with that PID may cause speculative
      accesses that address quadrant 0 (aka userspace addresses), which will
      result in cached translations and PWC (Page Walk Cache) for that
      process, on a CPU which is not in the mm_cpumask and so they will not
      be invalidated properly.
      
      The most common result is the kernel hanging in infinite page fault
      loops soon after kexec (usually in schedule_tail, which is usually the
      first non-speculative quadrant 0 access to a new PID) due to a stale
      PWC. However being a stale translation error, it could result in
      anything up to security and data corruption problems.
      
      Fix this by zeroing out PIDR at boot and kexec.
      
      Fixes: 7e381c0f ("powerpc/mm/radix: Add mmu context handling callback for radix")
      Cc: stable@vger.kernel.org # v4.7+
      Signed-off-by: NNicholas Piggin <npiggin@gmail.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      371b8044