From 3f3a2533a325b24807d6286621094aa6b570a66c Mon Sep 17 00:00:00 2001 From: Maksym Pavlenko Date: Wed, 24 Feb 2021 18:06:45 -0800 Subject: [PATCH] agent: Agent invokes OCI hooks with wrong PID Agent sends -1 PID when invoking OCI hooks. OCI state struct is initialized before obtaining PID, so this PR moves `oci_state` call down, right after we get the id. Fixes: #1458 Signed-off-by: Maksym Pavlenko --- src/agent/rustjail/src/container.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/agent/rustjail/src/container.rs b/src/agent/rustjail/src/container.rs index 9c284f37da..6f3ccf82de 100644 --- a/src/agent/rustjail/src/container.rs +++ b/src/agent/rustjail/src/container.rs @@ -734,8 +734,6 @@ impl BaseContainer for LinuxContainer { } let linux = spec.linux.as_ref().unwrap(); - let st = self.oci_state()?; - let (pfd_log, cfd_log) = unistd::pipe().context("failed to create pipe")?; let _ = fcntl::fcntl(pfd_log, FcntlArg::F_SETFD(FdFlag::FD_CLOEXEC)) @@ -865,6 +863,8 @@ impl BaseContainer for LinuxContainer { info!(logger, "child pid: {}", p.pid); + let st = self.oci_state()?; + join_namespaces( &logger, &spec,