CVSROOT: /cvs Module name: src Changes by: kette...@cvs.openbsd.org 2021/04/15 01:28:37
Modified files: sys/arch/powerpc64/powerpc64: machdep.c Log message: The SSR1 register can have bits set that don't match to bits in the MSR register. We would set the sc_ps member of struct sigcontext to SSR1 when entering a signal handler, and compare it to PSL_USER in sigreturn(2) to make sure that the user code didn't set any bits it shouldn't set. If non-MSR bits are set that comparison would fail and sigreturn(2) would fail. Fix this by initializing sc_ps to PSL_USER instead of taking its value from SSR1. On OpenBSD we always run processes with the same MSR value. ok deraadt@