powerpc/64s: Fix i-side SLB miss bad address handler saving nonvolatile GPRs

Michael Ellerman patch-notifications at ellerman.id.au
Mon Mar 26 07:52:58 AEDT 2018


On Fri, 2018-03-23 at 05:53:38 UTC, Nicholas Piggin wrote:
> The SLB bad address handler's trap number fixup does not preserve the
> low bit that indicates nonvolatile GPRs have not been saved. This
> leads save_nvgprs to skip saving them, and subsequent functions and
> return from interrupt will think they are saved.
> 
> This causes kernel branch-to-garbage debugging to not have correct
> registers, can also cause userspace to have its registers clobbered
> after a segfault.
> 
> Fixes: f0f558b131 ("powerpc/mm: Preserve CFAR value on SLB miss caused by access to bogus address")
> Cc: Paul Mackerras <paulus at ozlabs.org>
> Signed-off-by: Nicholas Piggin <npiggin at gmail.com>

I added:
  Cc: stable at vger.kernel.org # v4.9+

Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/52396500f97c53860164debc7d4f75

cheers


More information about the Linuxppc-dev mailing list