From a42dc7489879c686527b0fcd5945145bc035c5f6 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 20195036ab..07cfbf2ab9 100644 --- a/src/agent/rustjail/src/container.rs +++ b/src/agent/rustjail/src/container.rs @@ -834,8 +834,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)) @@ -938,6 +936,8 @@ impl BaseContainer for LinuxContainer { info!(logger, "child pid: {}", p.pid); + let st = self.oci_state()?; + join_namespaces( &logger, &spec,