Lines Matching refs:SigSys
84 // Set new SIGSYS handler
93 SANDBOX_DIE("Failed to configure SIGSYS handler");
98 "Existing signal handler when trying to install SIGSYS. SIGSYS needs "
104 // Unmask SIGSYS
108 SANDBOX_DIE("Failed to configure SIGSYS handler");
144 global_trap_->SigSys(nr, info, ctx);
147 void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) {
153 // triggered by a BPF filter. If something else triggered SIGSYS
158 // ATI drivers seem to send SIGSYS, so this cannot be FATAL.
161 RAW_LOG(ERROR, "Unexpected SIGSYS received.");
167 // Obtain the siginfo information that is specific to SIGSYS. Unfortunately,
170 struct arch_sigsys sigsys;
171 memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
177 bool sigsys_nr_is_bad = sigsys.nr != static_cast<int>(SECCOMP_SYSCALL(ctx)) &&
178 sigsys.nr != static_cast<int>(SECCOMP_PARM1(ctx));
180 bool sigsys_nr_is_bad = sigsys.nr != static_cast<int>(SECCOMP_SYSCALL(ctx));
184 if (sigsys.ip != reinterpret_cast<void*>(SECCOMP_IP(ctx)) ||
185 sigsys_nr_is_bad || sigsys.arch != SECCOMP_ARCH) {
190 // the sigSys() handler.
191 RAW_SANDBOX_DIE("Sanity checks are failing after receiving SIGSYS.");
197 if (sigsys.nr == __NR_clone) {
234 reinterpret_cast<uint64_t>(sigsys.ip),
312 // system call is made; as system calls could be triggering SIGSYS.