diff --git a/common/libnetwork/cni/run_test.go b/common/libnetwork/cni/run_test.go index 5abda14a52..498ed6d472 100644 --- a/common/libnetwork/cni/run_test.go +++ b/common/libnetwork/cni/run_test.go @@ -109,10 +109,10 @@ var _ = Describe("run CNI", func() { logrus.SetLevel(logrus.InfoLevel) _ = os.RemoveAll(cniConfDir) - _ = netns.UnmountNS(netNSTest) + _ = netns.UnmountNS(netNSTest.Path()) _ = netNSTest.Close() - _ = netns.UnmountNS(netNSContainer) + _ = netns.UnmountNS(netNSContainer.Path()) _ = netNSContainer.Close() }) diff --git a/common/libnetwork/netavark/run_test.go b/common/libnetwork/netavark/run_test.go index 3c688411b6..5b950078cf 100644 --- a/common/libnetwork/netavark/run_test.go +++ b/common/libnetwork/netavark/run_test.go @@ -108,10 +108,10 @@ var _ = Describe("run netavark", func() { logrus.SetLevel(logrus.InfoLevel) _ = os.RemoveAll(confDir) - _ = netns.UnmountNS(netNSTest) + _ = netns.UnmountNS(netNSTest.Path()) _ = netNSTest.Close() - _ = netns.UnmountNS(netNSContainer) + _ = netns.UnmountNS(netNSContainer.Path()) _ = netNSContainer.Close() _ = os.Unsetenv("NETAVARK_FW") @@ -286,8 +286,8 @@ var _ = Describe("run netavark", func() { netNSContainer2, err := netns.NewNS() Expect(err).ToNot(HaveOccurred()) - defer netns.UnmountNS(netNSContainer2) //nolint:errcheck - defer netNSContainer2.Close() //nolint:errcheck + defer netns.UnmountNS(netNSContainer2.Path()) //nolint:errcheck + defer netNSContainer2.Close() //nolint:errcheck res, err = libpodNet.Setup(netNSContainer2.Path(), setupOpts2) Expect(err).ToNot(HaveOccurred()) diff --git a/common/pkg/netns/netns_linux.go b/common/pkg/netns/netns_linux.go index b3459b2137..883fdd9567 100644 --- a/common/pkg/netns/netns_linux.go +++ b/common/pkg/netns/netns_linux.go @@ -179,14 +179,13 @@ func NewNSWithName(name string) (ns.NetNS, error) { return ns.GetNS(nsPath) } -// UnmountNS unmounts the NS held by the netns object -func UnmountNS(netns ns.NetNS) error { +// UnmountNS unmounts the given netns path +func UnmountNS(nsPath string) error { nsRunDir, err := GetNSRunDir() if err != nil { return err } - nsPath := netns.Path() // Only unmount if it's been bind-mounted (don't touch namespaces in /proc...) if strings.HasPrefix(nsPath, nsRunDir) { if err := unix.Unmount(nsPath, unix.MNT_DETACH); err != nil {