From 4be46f86617f96bcba6ef2ea8396bb89b8356a41 Mon Sep 17 00:00:00 2001 From: Paul Holzinger Date: Tue, 21 Jul 2026 18:03:34 +0200 Subject: [PATCH] podman-remote: do not check for cgroupv2 With the remote client on linux we should not check for cgroups and hard fail if it is not v2. Only the server side matters not the client. The problem can be reproduced with: unshare -rm sh -c "mount -t tmpfs none /sys/fs/cgroup && ./bin/podman --remote ps" I did not add a regression test as it does not seem to fit well into a test suite, over mounting cgroups seems like not a good idea. Fixes: #29241 Signed-off-by: Paul Holzinger --- cmd/podman/root_cgroups_linux.go | 7 ++++++- cmd/podman/root_cgroups_unsupported.go | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cmd/podman/root_cgroups_linux.go b/cmd/podman/root_cgroups_linux.go index fee19873f4..54c6344054 100644 --- a/cmd/podman/root_cgroups_linux.go +++ b/cmd/podman/root_cgroups_linux.go @@ -1,13 +1,18 @@ -//go:build linux +//go:build linux && !remote package main import ( "github.com/sirupsen/logrus" "go.podman.io/common/pkg/cgroups" + "go.podman.io/podman/v6/cmd/podman/registry" ) func checkSupportedCgroups() { + if registry.IsRemote() { + // In remote mode we should not error for missing cgroups as just the server needs it. + return + } unified, err := cgroups.IsCgroup2UnifiedMode() if err != nil { logrus.Fatalf("Error determining cgroups mode") diff --git a/cmd/podman/root_cgroups_unsupported.go b/cmd/podman/root_cgroups_unsupported.go index 0ec0c7c1d9..1412065947 100644 --- a/cmd/podman/root_cgroups_unsupported.go +++ b/cmd/podman/root_cgroups_unsupported.go @@ -1,7 +1,7 @@ -//go:build !linux +//go:build !linux || remote package main func checkSupportedCgroups() { - // NOP on Non Linux + // NOP on Non Linux or Remote }