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. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html