Go to file
Nicholas Piggin 8a5054d8cb powerpc/64s/exception: Fix machine check no-loss idle wakeup
The architecture allows for machine check exceptions to cause idle
wakeups which resume at the 0x200 address which has to return via
the idle wakeup code, but the early machine check handler is run
first.

The case of a no state-loss sleep is broken because the early
handler uses non-volatile register r1 , which is needed for the wakeup
protocol, but it is not restored.

Fix this by loading r1 from the MCE exception frame before returning
to the idle wakeup code. Also update the comment which has become
stale since the idle rewrite in C.

This crash was found and fix confirmed with a machine check injection
test in qemu powernv model (which is not upstream in qemu yet).

Fixes: 10d91611f4 ("powerpc/64s: Reimplement book3s idle code in C")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200508043408.886394-2-npiggin@gmail.com
2020-05-18 21:58:44 +10:00
arch powerpc/64s/exception: Fix machine check no-loss idle wakeup 2020-05-18 21:58:44 +10:00
block
certs
crypto
Documentation Documentation: Document sysfs interfaces purr, spurr, idle_purr, idle_spurr 2020-04-30 12:35:27 +10:00
drivers drivers/macintosh: Fix memleak in windfarm_pm112 driver 2020-05-15 11:58:56 +10:00
fs An update for the proc interface of time namespaces: Use symbolic names 2020-04-19 11:46:21 -07:00
include mm: change pmdp_huge_get_and_clear_full take vm_area_struct as arg 2020-05-05 21:20:13 +10:00
init
ipc
kernel An update for the proc interface of time namespaces: Use symbolic names 2020-04-19 11:46:21 -07:00
lib
LICENSES
mm mm: change pmdp_huge_get_and_clear_full take vm_area_struct as arg 2020-05-05 21:20:13 +10:00
net
samples
scripts
security
sound drivers/powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
tools selftests/powerpc: Add a test of counting larx/stcx 2020-05-15 11:58:55 +10:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS powerpc/8xx: Update email address in MAINTAINERS 2020-05-11 23:15:15 +10:00
Makefile Linux 5.7-rc2 2020-04-19 14:35:30 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.