Skip to content

vm: enable session keyrings in both guest kernels - #36

Open
zbarsky-openai wants to merge 1 commit into
hermeticbuild:mainfrom
zbarsky-openai:zbarsky/kernel-session-keyrings
Open

zbarsky-openai wants to merge 1 commit into
hermeticbuild:mainfrom
zbarsky-openai:zbarsky/kernel-session-keyrings

Conversation

@zbarsky-openai

Copy link
Copy Markdown

A sandbox test executed inside actiond starts its bundled minijail binary,
but the guest kernel does not implement the key management system calls:

libminijail[10]: keyctl(KEYCTL_JOIN_SESSION_KEYRING) failed: Function not implemented
libminijail[9]: child process 10 received signal 6

Enable Linux key retention support in both guest kernel configurations.
Minijail's existing -w option can then create its isolated anonymous session
keyring without requiring any additional runtime packages.

The exact failure was reproduced by a real remote execution of
//project/oai_sandbox:pytest -k test_seccomp_default_action, after enabling
Landlock and providing the consumer's source-built libcap.so.2.

Both independent fragments were resolved through the repository's actual Linux
6.18.2 Kconfig parser in allnoconfig mode, verifying CONFIG_KEYS=y and its
automatically selected CONFIG_ASSOCIATIVE_ARRAY=y on ARM64 and x86_64.

A sandbox test executed inside actiond starts its bundled minijail binary,
but the guest kernel does not implement the key management system calls:

```text
libminijail[10]: keyctl(KEYCTL_JOIN_SESSION_KEYRING) failed: Function not implemented
libminijail[9]: child process 10 received signal 6
```

Enable Linux key retention support in both guest kernel configurations.
Minijail's existing `-w` option can then create its isolated anonymous session
keyring without requiring any additional runtime packages.

The exact failure was reproduced by a real remote execution of
`//project/oai_sandbox:pytest -k test_seccomp_default_action`, after enabling
Landlock and providing the consumer's source-built `libcap.so.2`.

Both independent fragments were resolved through the repository's actual Linux
6.18.2 Kconfig parser in `allnoconfig` mode, verifying `CONFIG_KEYS=y` and its
automatically selected `CONFIG_ASSOCIATIVE_ARRAY=y` on ARM64 and x86_64.
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