sparc64 MM regression...

From: David Miller
Date: Thu Mar 15 2018 - 15:28:22 EST



So I bisected a userspace corruption regression down to commit:

commit a8e654f01cb725d0bfd741ebca1bf4c9337969cc
Author: Nitin Gupta <nitin.m.gupta@xxxxxxxxxx>
Date: Wed Jan 31 16:18:09 2018 -0800

sparc64: update pmdp_invalidate() to return old pmd value

The transformation is basically from a set_pte_at() call into
an atomic cmpxchg64() loop to set the pmd.

The problem is that set_pmd_at() does more than just assign
the pmd entry.

It also does some accounting and also queues up a batch TLB
flush entry.

So the side effect of this change is that the TLB is never
flushed for these changed PMDs, and thus the userland memory
corruption I was seeing.