HandleValid handles a valid seccomp notifier message.
(fd int, siov *Iovec, findPID func(pid int32, s *state.State) (Instance, error))
| 2289 | |
| 2290 | // HandleValid handles a valid seccomp notifier message. |
| 2291 | func (srv *Server) HandleValid(fd int, siov *Iovec, findPID func(pid int32, s *state.State) (Instance, error)) error { |
| 2292 | defer siov.PutSeccompIovec() |
| 2293 | |
| 2294 | c, err := findPID(int32(siov.msg.monitor_pid), srv.s) |
| 2295 | if err != nil { |
| 2296 | _ = siov.SendSeccompIovec(fd, 0, seccompUserNotifFlagContinue) |
| 2297 | |
| 2298 | logger.Errorf("Failed to find container for monitor %d", siov.msg.monitor_pid) |
| 2299 | return err |
| 2300 | } |
| 2301 | |
| 2302 | errno := srv.handleSyscall(c, siov) |
| 2303 | |
| 2304 | err = siov.SendSeccompIovec(fd, errno, 0) |
| 2305 | if err != nil { |
| 2306 | return err |
| 2307 | } |
| 2308 | |
| 2309 | return nil |
| 2310 | } |
| 2311 | |
| 2312 | // Stop stops a seccomp server. |
| 2313 | func (srv *Server) Stop() error { |
no test coverage detected