You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I got this NULL deref when trying podman mount in a container set up for nested container builds, without outer privileges (i.e. I'd been using mount_program = fuse-overlayfs and also BUILDAH_ISOLATION=chroot):
Probably a root confusion here is BUILDAH_ISOLATION=chroot not controlling podman in general?
I guess really the thing to aim for here is not using chroot isolation, but ensuring we have at least the more reasonable scenario of a userns in the outer container (actually, the default for rootless). Which I guess all of this is effectively equivalent to containers/buildah#5818
But anyways, just filing this in case we care; we could at least avoid crashing.
Steps to reproduce the issue
See above
Describe the results you received
panic
Describe the results you expected
At least a useful error
podman info output
# podman infohost:
arch: amd64buildahVersion: 1.38.0cgroupControllers:
- cpuset
- cpu
- io
- memory
- hugetlb
- pidscgroupManager: cgroupfscgroupVersion: v2conmon:
package: conmon-2.1.12-3.el10.x86_64path: /usr/bin/conmonversion: 'conmon version 2.1.12, commit: 'cpuUtilization:
idlePercent: 99.93systemPercent: 0.02userPercent: 0.05cpus: 16databaseBackend: sqlitedistribution:
distribution: centosversion: "10"eventLogger: filefreeLocks: 2048hostname: 95494d3fbb0fidMappings:
gidmap: nulluidmap: nullkernel: 6.11.3-200.fc40.x86_64linkmode: dynamiclogDriver: k8s-filememFree: 1593704448memTotal: 8314159104networkBackend: netavarknetworkBackendInfo:
backend: netavarkdns:
package: aardvark-dns-1.13.1-1.el10.x86_64path: /usr/libexec/podman/aardvark-dnsversion: aardvark-dns 1.13.1package: netavark-1.13.1-1.el10.x86_64path: /usr/libexec/podman/netavarkversion: netavark 1.13.1ociRuntime:
name: crunpackage: crun-1.19-1.el10.x86_64path: /usr/bin/crunversion: |- crun version 1.19 commit: db31c42ac46e20b5527f5339dcbf6f023fcd539c rundir: /run/crun spec: 1.0.0 +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJLos: linuxpasta:
executable: /usr/bin/pastapackage: passt-0^20241121.g238c69f-1.el10.x86_64version: | pasta 0^20241121.g238c69f-1.el10.x86_64 Copyright Red Hat GNU General Public License, version 2 or later <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.remoteSocket:
exists: truepath: /run/podman/podman.sockrootlessNetworkCmd: pastasecurity:
apparmorEnabled: falsecapabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOTrootless: falseseccompEnabled: trueseccompProfilePath: /usr/share/containers/seccomp.jsonselinuxEnabled: falseserviceIsRemote: falseslirp4netns:
executable: ""package: ""version: ""swapFree: 0swapTotal: 0uptime: 175h 59m 4.00s (Approximately 7.29 days)variant: ""plugins:
authorization: nulllog:
- k8s-file
- none
- passthrough
- journaldnetwork:
- bridge
- macvlan
- ipvlanvolume:
- localregistries:
search:
- registry.access.redhat.com
- registry.redhat.io
- docker.iostore:
configFile: /usr/share/containers/storage.confcontainerStore:
number: 0paused: 0running: 0stopped: 0graphDriverName: overlaygraphOptions:
overlay.mount_program:
Executable: /usr/bin/fuse-overlayfsPackage: fuse-overlayfs-1.14-2.el10.x86_64Version: |- fusermount3 version: 3.16.2 fuse-overlayfs: version 1.13-dev FUSE library version 3.16.2 using FUSE kernel interface version 7.38overlay.mountopt: nodev,fsync=0graphRoot: /var/lib/containers/storagegraphRootAllocated: 106769133568graphRootUsed: 100942483456graphStatus:
Backing Filesystem: overlayfsNative Overlay Diff: "false"Supports d_type: "true"Supports shifting: "true"Supports volatile: "true"Using metacopy: "false"imageCopyTmpDir: /var/tmpimageStore:
number: 1runRoot: /run/containers/storagetransientStore: falsevolumePath: /var/lib/containers/storage/volumesversion:
APIVersion: 5.3.1Built: 1733097600BuiltTime: Mon Dec 2 00:00:00 2024GitCommit: ""GoVersion: go1.23.1 (Red Hat 1.23.1-3.el10)Os: linuxOsArch: linux/amd64Version: 5.3.1
Podman in a container
Yes
Privileged Or Rootless
Rootless
Upstream Latest Release
Yes
Additional environment details
podman-5.3.1-3.el10.x86_64
Additional information
No response
The text was updated successfully, but these errors were encountered:
Issue Description
I got this NULL deref when trying
podman mount
in a container set up for nested container builds, without outer privileges (i.e. I'd been usingmount_program = fuse-overlayfs
and alsoBUILDAH_ISOLATION=chroot
):It looks like the code flow that ends up leaving this
null
ispodman/libpod/runtime.go
Line 441 in 2d42b13
Probably a root confusion here is
BUILDAH_ISOLATION=chroot
not controlling podman in general?I guess really the thing to aim for here is not using chroot isolation, but ensuring we have at least the more reasonable scenario of a userns in the outer container (actually, the default for rootless). Which I guess all of this is effectively equivalent to containers/buildah#5818
But anyways, just filing this in case we care; we could at least avoid crashing.
Steps to reproduce the issue
See above
Describe the results you received
panic
Describe the results you expected
At least a useful error
podman info output
Podman in a container
Yes
Privileged Or Rootless
Rootless
Upstream Latest Release
Yes
Additional environment details
podman-5.3.1-3.el10.x86_64
Additional information
No response
The text was updated successfully, but these errors were encountered: