···6262 return SIGUSR1;
6363 case LINUX_SIGUSR2:
6464 return SIGUSR2;
6565+ // Hack! This is what we send instead of SIGSTOP to allow the target process to receive the signal
6666+ // and pass it through the LKM.
6767+ case LINUX_SIGSTKFLT:
6868+ return SIGSTOP;
6569 default:
6670 return 0;
6771 }
···102106 case SIGURG:
103107 return LINUX_SIGURG;
104108 case SIGSTOP:
105105- return LINUX_SIGSTOP;
109109+ // Hack! See above.
110110+ //return LINUX_SIGSTOP;
111111+ return LINUX_SIGSTKFLT;
106112 case SIGTSTP:
107113 return LINUX_SIGTSTP;
108114 case SIGCONT:
+2-2
src/kernel/emulation/linux/signal/kill.c
···16161717 // If we're stopping a process we're debugging, do an emulated SIGSTOP
1818 // so that the tracee has a chance to talk to us before stopping.
1919- if (signum == SIGSTOP && pid > 0)
1919+ /*if (signum == SIGSTOP && pid > 0)
2020 {
2121 int tracer = lkm_call(NR_get_tracer, (void*)(long)pid);
2222 if (tracer == getpid())
···2424 linux_sigqueue(pid, SIGNAL_SIGEXC_THUPDATE, -LINUX_SIGSTOP);
2525 return 0;
2626 }
2727- }
2727+ }*/
28282929 linux_signum = signum_bsd_to_linux(signum);
3030 if (!linux_signum)