Skip to content

vm: enable /proc/sys in both guest kernel configurations - #45

Open
zbarsky-openai wants to merge 1 commit into
hermeticbuild:mainfrom
zbarsky-openai:zbarsky/vm-enable-proc-sysctl
Open

zbarsky-openai wants to merge 1 commit into
hermeticbuild:mainfrom
zbarsky-openai:zbarsky/vm-enable-proc-sysctl

Conversation

@zbarsky-openai

Copy link
Copy Markdown

actiond's minimal allnoconfig Linux kernels omit /proc/sys altogether. A
real actiond-executed probe currently fails with:

{"sysctl": "/proc/sys/kernel/hostname", "errno": 2}
FileNotFoundError: [Errno 2] No such file or directory:
'/proc/sys/kernel/hostname'

Enable CONFIG_PROC_SYSCTL=y in both ARM64 and x86_64 kernel configurations.
Linux's existing PROC_SYSCTL option selects the underlying SYSCTL support;
no runtime package is added. Existing procfs mounts then expose the standard
kernel settings interface while retaining the current unprivileged action,
seccomp, Landlock, and disabled-BPF-JIT protections.

Validated by rebuilding the ARM64 guest through actiond itself (974 actual
remote actions; 0807aacd-7c6d-43ca-a75c-271eebdb6ceb), booting that kernel,
and confirming /proc/sys/kernel/hostname is readable while nested seccomp
filter installation still succeeds (d40ec092-87c4-4a13-a4a7-5b92e9cb1a0f).
The production sandbox suite then passed with 191 tests and 10 expected skips
under the real actiond executor (f6788d1f-8b3d-459c-87b8-bf5efd588496).

actiond's minimal `allnoconfig` Linux kernels omit `/proc/sys` altogether. A
real actiond-executed probe currently fails with:

```text
{"sysctl": "/proc/sys/kernel/hostname", "errno": 2}
FileNotFoundError: [Errno 2] No such file or directory:
'/proc/sys/kernel/hostname'
```

Enable `CONFIG_PROC_SYSCTL=y` in both ARM64 and x86_64 kernel configurations.
Linux's existing `PROC_SYSCTL` option selects the underlying `SYSCTL` support;
no runtime package is added. Existing procfs mounts then expose the standard
kernel settings interface while retaining the current unprivileged action,
seccomp, Landlock, and disabled-BPF-JIT protections.

Validated by rebuilding the ARM64 guest through actiond itself (974 actual
remote actions; `0807aacd-7c6d-43ca-a75c-271eebdb6ceb`), booting that kernel,
and confirming `/proc/sys/kernel/hostname` is readable while nested seccomp
filter installation still succeeds (`d40ec092-87c4-4a13-a4a7-5b92e9cb1a0f`).
The production sandbox suite then passed with 191 tests and 10 expected skips
under the real actiond executor (`f6788d1f-8b3d-459c-87b8-bf5efd588496`).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant