mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-01-06 06:27:41 -07:00
linux-user/ppc: Fix sigmask endianness issue in sigreturn
do_setcontext() copies the target sigmask without endianness handling and then uses target_to_host_sigset_internal(), which expects a byte-swapped one. Use target_to_host_sigset() instead. Fixes:bcd4933a23("linux-user: ppc signal handling") Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20241017125811.447961-2-iii@linux.ibm.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> (cherry picked from commit8704132805) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
356d3ecec0
commit
29027de5da
1 changed files with 1 additions and 1 deletions
|
|
@ -628,7 +628,7 @@ static int do_setcontext(struct target_ucontext *ucp, CPUPPCState *env, int sig)
|
|||
if (!lock_user_struct(VERIFY_READ, mcp, mcp_addr, 1))
|
||||
return 1;
|
||||
|
||||
target_to_host_sigset_internal(&blocked, &set);
|
||||
target_to_host_sigset(&blocked, &set);
|
||||
set_sigmask(&blocked);
|
||||
restore_user_regs(env, mcp, sig);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue