[SRU][Bionic][v2][PATCH 0/2] Fixes for LP:1792195

Joseph Salisbury joseph.salisbury at canonical.com
Tue Oct 16 16:11:07 UTC 2018

== 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.

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 ==
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

 arch/powerpc/include/asm/book3s/64/pgtable.h | 18 +++++++++++++++++-
 arch/powerpc/mm/pgtable-radix.c              |  8 +++++---
 2 files changed, 22 insertions(+), 4 deletions(-)


More information about the kernel-team mailing list