[GIT PULL] parisc architecture fixes for v6.8-rc3

From: Helge Deller
Date: Thu Feb 01 2024 - 11:18:37 EST


Hi Linus,

Please pull a few important fixes for the parisc architecture for 6.8-rc3:

The current exception handler, which helps on kernel accesses to userspace,
may exhibit data corruption. The problem is that it is not guaranteed that the
compiler will use the processor register we specified in the source code, but
may choose another register which then will lead to silent register- and data
corruption. To fix this issue we now use another strategy to help the
exception handler to always find and set the error code into the correct CPU
register.

The other fixes are small: fixing CPU hotplug bringup, fix the page alignment
of the RO_DATA section, added a check for the calculated cache stride and fix
possible hangups when printing longer output at bootup when running on serial
console.

Most of the patches are tagged for stable series.

Thanks!
Helge

----------------------------------------------------------------
The following changes since commit 8a696a29c6905594e4abf78eaafcb62165ac61f1:

Merge tag 'platform-drivers-x86-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 (2024-01-27 09:48:55 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git tags/parisc-for-6.8-rc3

for you to fetch changes up to 913b9d443a0180cf0de3548f1ab3149378998486:

parisc: BTLB: Fix crash when setting up BTLB at CPU bringup (2024-01-31 13:51:26 +0100)

----------------------------------------------------------------
parisc architecture fixes for kernel v6.8-rc3:

- Fix random data corruption triggered by exception handler
- Fix crash when setting up BTLB at CPU bringup
- Prevent hung tasks when printing inventory on serial console
- Make RO_DATA page aligned in vmlinux.lds.S
- Add check for valid cache stride size

----------------------------------------------------------------
Helge Deller (6):
parisc: Make RO_DATA page aligned in vmlinux.lds.S
parisc: Check for valid stride size for cache flushes
parisc: Prevent hung tasks when printing inventory on serial console
parisc: Drop unneeded semicolon in parse_tree_node()
parisc: Fix random data corruption from exception handler
parisc: BTLB: Fix crash when setting up BTLB at CPU bringup

arch/parisc/Kconfig | 1 -
arch/parisc/include/asm/assembly.h | 1 +
arch/parisc/include/asm/extable.h | 64 +++++++++++++++++++++++++++++++++
arch/parisc/include/asm/special_insns.h | 6 ++--
arch/parisc/include/asm/uaccess.h | 48 ++++---------------------
arch/parisc/kernel/cache.c | 10 ++++--
arch/parisc/kernel/drivers.c | 5 ++-
arch/parisc/kernel/unaligned.c | 44 +++++++++++------------
arch/parisc/kernel/vmlinux.lds.S | 2 +-
arch/parisc/mm/fault.c | 11 ++++--
10 files changed, 118 insertions(+), 74 deletions(-)
create mode 100644 arch/parisc/include/asm/extable.h