[pve-devel] [PATCH container] lxc config: mount /dev/shm tmpfs for application containers
Fabian Grünbichler
f.gruenbichler at proxmox.com
Thu Jan 15 11:08:53 CET 2026
On December 2, 2025 4:27 pm, Filip Schauer wrote:
> Mount a tmpfs at /dev/shm into containers without an init system which
> would normally set up a shared memory filesystem. This satisfies the OCI
> Runtime Spec [0], which specifies that the following should be made
> available in the container:
> /proc proc
> /sys sysfs
> /dev/pts devpts
> /dev/shm tmpfs
>
> The reason the mount is added conditionally is to avoid interfering with
> init systems: systemd correctly detects an existing /dev/shm, but OpenRC
> mounts it even if already present, resulting in duplicate mounts.
>
> [0] https://github.com/opencontainers/runtime-spec/blob/fd25dd34a06b/config-linux.md#default-filesystems
>
> Signed-off-by: Filip Schauer <f.schauer at proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
@Wolfang - could you also take a look to ensure I haven't missed any
implications?
> ---
> src/PVE/LXC.pm | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
> index de54a0d..e5ff3a1 100644
> --- a/src/PVE/LXC.pm
> +++ b/src/PVE/LXC.pm
> @@ -756,6 +756,11 @@ sub update_lxc_config {
> $raw .= "lxc.mount.auto = sys:mixed\n";
> }
>
> + if (defined($conf->{entrypoint}) && $conf->{entrypoint} ne '/sbin/init') {
> + # Mount /dev/shm tmpfs into the container, if no init system runs to set it up.
> + $raw .= "lxc.mount.entry = shm dev/shm tmpfs rw,nosuid,nodev,create=dir 0 0\n";
> + }
> +
> PVE::LXC::Config->foreach_passthrough_device(
> $conf,
> sub {
> --
> 2.47.3
>
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
>
>
More information about the pve-devel
mailing list