Skip to content

vm: enable isolated System V IPC for sandboxed actions - #41

Open
zbarsky-openai wants to merge 1 commit into
hermeticbuild:mainfrom
zbarsky-openai:zbarsky/actiond-isolated-sysvipc
Open

zbarsky-openai wants to merge 1 commit into
hermeticbuild:mainfrom
zbarsky-openai:zbarsky/actiond-isolated-sysvipc

Conversation

@zbarsky-openai

Copy link
Copy Markdown

PostgreSQL initialization inside an actiond action currently fails with:

FATAL:  could not create shared memory segment: Function not implemented
DETAIL:  Failed system call was shmget(key=4140, size=56, 03600).

Enable System V IPC and IPC namespaces in both supported guest-kernel
configurations, and give every action its own IPC namespace. Isolating IPC at
the action boundary prevents shared-memory segments, semaphore sets, and
message queues from leaking between unrelated executions.

Extend the existing clone-flags test to cover IPC namespace isolation. Both
architecture configurations resolve through the real Linux Kconfig parser. The
ARM64 guest kernel and initramfs build through actiond, and the original
PostgreSQL/pgvector integration test passes against the rebuilt guest.

PostgreSQL initialization inside an actiond action currently fails with:

```text
FATAL:  could not create shared memory segment: Function not implemented
DETAIL:  Failed system call was shmget(key=4140, size=56, 03600).
```

Enable System V IPC and IPC namespaces in both supported guest-kernel
configurations, and give every action its own IPC namespace. Isolating IPC at
the action boundary prevents shared-memory segments, semaphore sets, and
message queues from leaking between unrelated executions.

Extend the existing clone-flags test to cover IPC namespace isolation. Both
architecture configurations resolve through the real Linux Kconfig parser. The
ARM64 guest kernel and initramfs build through actiond, and the original
PostgreSQL/pgvector integration test passes against the rebuilt guest.
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