Description: | In the Linux kernel, the following vulnerability has been resolved:
powerpc/64s: Fix crashes when toggling entry flush barrier The entry
flush mitigation can be enabled/disabled at runtime via a debugfs file
(entry_flush), which causes the kernel to patch itself to
enable/disable the relevant mitigations. However depending on which
mitigation we're using, it may not be safe to do that patching while
other CPUs are active. For example the following crash:
sleeper[15639]: segfault (11) at c000000000004c20 nip c000000000004c20
lr c000000000004c20 Shows that we returned to userspace with a
corrupted LR that points into the kernel, due to executing the
partially patched call to the fallback entry flush (ie. we missed the
LR restore). Fix it by doing the patching under stop machine. The CPUs
that aren't doing the patching will be spinning in the core of the
stop machine logic. That is currently sufficient for our purposes,
because none of the patching we do is to that code or anywhere in the
vicinity.
|