[SRU][Bionic][Cosmic][PATCH 0/3] Fixes for LP:1792195

Joseph Salisbury joseph.salisbury at canonical.com
Thu Oct 11 16:22:44 UTC 2018


BugLink: https://bugs.launchpad.net/bugs/1792195

== SRU Justification ==
IBM is requesting these commits in bionic and cosmic.  These commits
also rely on commit 7acf50e4efa6, which was SRU'd in bug 1792102.  The
first patch, commit 2bf1071a8d50, was backported by IBM themself.  

Description of bug:
GPFS mmfsd daemon is mapping shared tracing buffer(allocated from kernel
driver using vmalloc) and then writing trace records from user space threads
in parallel. While the SIGBUS happened, the access virtual memory address
is in the mapped range, no overflow on access.

The root cause is that for PTEs created by a driver at mmap time (ie, that
aren't created dynamically at fault time), it's not legit for ptep_set_access_flags()
to make them invalid even temporarily. A concurrent access while they are
invalid will be unable to service the page fault and will cause as SIGBUS.


== Fixes ==
2bf1071a8d50 ("powerpc/64s: Remove POWER9 DD1 support")
bd0dbb73e013 ("powerpc/mm/books3s: Add new pte bit to mark pte temporarily invalid.")
f08d08f3db55 ("powerpc/mm/radix: Only need the Nest MMU workaround for R -> RW transition")


== Regression Potential ==
Low.  Limited to powerpc.

== Test Case ==
A test kernel was built with these patches and tested by IBM.
IBM states the test kernel resolved the bug.

Aneesh Kumar K.V (2):
  powerpc/mm/books3s: Add new pte bit to mark pte temporarily invalid.
  powerpc/mm/radix: Only need the Nest MMU workaround for R -> RW
    transition

Nicholas Piggin (1):
  powerpc/64s: Remove POWER9 DD1 support

 arch/powerpc/include/asm/book3s/64/hugetlb.h       | 20 -------
 arch/powerpc/include/asm/book3s/64/pgtable.h       | 23 ++++++--
 arch/powerpc/include/asm/book3s/64/radix.h         | 35 ++----------
 .../powerpc/include/asm/book3s/64/tlbflush-radix.h |  2 -
 arch/powerpc/include/asm/cputable.h                |  6 +-
 arch/powerpc/include/asm/paca.h                    |  5 --
 arch/powerpc/kernel/asm-offsets.c                  |  1 -
 arch/powerpc/kernel/cputable.c                     | 20 -------
 arch/powerpc/kernel/dt_cpu_ftrs.c                  | 13 +++--
 arch/powerpc/kernel/exceptions-64s.S               |  4 +-
 arch/powerpc/kernel/idle_book3s.S                  | 50 ----------------
 arch/powerpc/kernel/process.c                      | 10 +---
 arch/powerpc/kvm/book3s_64_mmu_radix.c             | 15 +----
 arch/powerpc/kvm/book3s_hv.c                       | 10 ----
 arch/powerpc/kvm/book3s_hv_rmhandlers.S            | 16 +-----
 arch/powerpc/kvm/book3s_xive_template.c            | 39 +++++--------
 arch/powerpc/mm/hash_utils_64.c                    | 30 ----------
 arch/powerpc/mm/hugetlbpage.c                      |  9 +--
 arch/powerpc/mm/mmu_context_book3s64.c             | 12 +---
 arch/powerpc/mm/pgtable-radix.c                    | 66 ++--------------------
 arch/powerpc/mm/tlb-radix.c                        | 18 ------
 arch/powerpc/perf/core-book3s.c                    | 34 -----------
 arch/powerpc/perf/isa207-common.c                  | 12 ++--
 arch/powerpc/perf/isa207-common.h                  |  5 --
 arch/powerpc/perf/power9-pmu.c                     | 54 +-----------------
 arch/powerpc/platforms/powernv/idle.c              | 27 ---------
 arch/powerpc/platforms/powernv/smp.c               | 27 +--------
 arch/powerpc/sysdev/xive/common.c                  |  8 +--
 drivers/misc/cxl/cxl.h                             |  8 ---
 drivers/misc/cxl/cxllib.c                          |  4 --
 drivers/misc/cxl/pci.c                             | 41 ++++++--------
 31 files changed, 91 insertions(+), 533 deletions(-)

-- 
2.7.4





More information about the kernel-team mailing list