Skip to content

Swap activation fails ("Operation not permitted") in cloud workspace despite --cap-add=SYS_ADMIN #43

@tamimbook

Description

@tamimbook

Hi Lapdev team,
I'm using ws.lap.dev for a remote dev/gaming workspace (Minecraft via SKLauncher in XFCE over RDP). I configured a custom devcontainer with --cap-add=SYS_ADMIN and --memory-swap=128g to enable larger swap for memory-intensive tasks, but swapon fails despite the capability being present.

Steps to Reproduce:

  1. Create workspace from repo: https://github.com/tamimbook/mining-the-vps (uses devcontainer.json with the flags).
  2. In terminal (as root): fallocate -l 16G /swapfile && chmod 600 /swapfile && mkswap /swapfile (succeeds).
  3. Run swapon /swapfile → "swapon: /swapfile: swapon failed: Operation not permitted".
  4. capsh --print shows cap_sys_admin in bounding set.

Output:

root@mining-the-vps-mfwxn3ceon2f:/workspaces/mining-the-vps# free -h
              total        used        free      shared  buff/cache   available
Mem:          124Gi        22Gi        13Gi       137Mi        88Gi       100Gi
Swap:         4.0Gi       4.0Gi          0B

capsh --print output:

root@mining-the-vps-mfwxn3ceon2f:/workspaces/mining-the-vps# capsh --print
WARNING: libcap needs an update (cap=40 should have a name).
Current: =ep
Bounding set =cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read,38,39,40
Ambient set =
Securebits: 00/0x0/1'b0
 secure-noroot: no (unlocked)
 secure-no-suid-fixup: no (unlocked)
 secure-keep-caps: no (unlocked)
 secure-no-ambient-raise: no (unlocked)
uid=0(root) euid=0(root)
gid=0(root)
groups=65534(nogroup),65534(nogroup),0(root)
Guessed mode: UNCERTAIN (0)

Expected:

Swap activates, allowing up to 128 GiB for apps like Minecraft (which can exceed 124 GiB RAM under load).

Why This Matters:

Lapdev's high-end gaming CPUs (e.g., Ryzen 9) are perfect for dev/gaming, but swap restrictions limit memory for resource-heavy tasks. Enabling it via runtime (e.g., Podman/containerd flag) would make ws.lap.dev even more versatile without security risks (SYS_ADMIN is scoped).
Happy to provide workspace ID (mining-the-vps-mfwxn3ceon2f) or test patches. Thanks for the awesome tool!

Environment:

      * OS: Ubuntu 20.04.6 LTS (devcontainer base)
      * Lapdev Cloud: 4 Core - 4 vCPUs, 16GB memory, 32GB disk

I'm hoping for an answer also make sure that "mining" specifically means minecraft i accidently write as this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions