huangcm
2025-08-14 5d6606c55520a76d5bb8297d83fd9bbf967e5244
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static void
arch_sigreturn(struct tcb *tcp)
{
   unsigned long addr;
 
   /* Fetch pointer to struct sigcontext.  */
   if (umove(tcp, *m68k_usp_ptr + 2 * sizeof(int), &addr) < 0)
       return;
 
   unsigned long mask[NSIG_BYTES / sizeof(long)];
   /* Fetch first word of signal mask.  */
   if (umove(tcp, addr, &mask[0]) < 0)
       return;
 
   /* Fetch remaining words of signal mask, located immediately before.  */
   addr -= sizeof(mask) - sizeof(long);
   if (umoven(tcp, addr, sizeof(mask) - sizeof(long), &mask[1]) < 0)
       return;
 
   tprintsigmask_addr("{mask=", mask);
   tprints("}");
}