Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
strace.2926
0007-m68k-fix-sigreturn-decoding.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0007-m68k-fix-sigreturn-decoding.patch of Package strace.2926
From 712f0e12bd3cc2059229cbe301192768ab7fea07 Mon Sep 17 00:00:00 2001 From: Andreas Schwab <schwab@suse.de> Date: Wed, 11 Mar 2015 15:08:42 +0100 Subject: [PATCH 07/15] m68k: fix sigreturn decoding * sigreturn.c (sys_sigreturn) [M68K]: Fetch the words of the signal mask from the proper place. --- sigreturn.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sigreturn.c b/sigreturn.c index c253a0c..365ef1a 100644 --- a/sigreturn.c +++ b/sigreturn.c @@ -128,8 +128,20 @@ sys_sigreturn(struct tcb *tcp) long addr; if (upeek(tcp->pid, 4*PT_USP, &addr) < 0) return 0; + /* Fetch pointer to struct sigcontext. */ + if (umove(tcp, addr + 2 * sizeof(int), &addr) < 0) + return 0; + unsigned long mask[NSIG / 8 / sizeof(long)]; + /* Fetch first word of signal mask. */ + if (umove(tcp, addr, &mask[0]) < 0) + return 0; + /* Fetch remaining words of signal mask, located + immediately before. */ + addr -= sizeof(mask) - sizeof(long); + if (umoven(tcp, addr, sizeof(mask) - sizeof(long), (char *) &mask[1]) < 0) + return 0; tprints("{mask="); - print_sigset_addr_len(tcp, addr, NSIG / 8); + tprintsigmask_addr("", mask); tprints("}"); } #elif defined(ALPHA) -- 2.3.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor