You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6237f8d
Browse filesBrowse the repository at this point in the historyBrowse files
docs: document legacy read-only sandbox mode on kernels before 5.19
Kernels without SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV (< 5.19, e.g. RHEL 9.x /
RHCOS 5.14) run the sandbox in a legacy read-only cancellation mode where the
broker fails closed with EOPNOTSUPP on the mediated operations that write results
back into workload memory (getpeername, accept/accept4 with a non-null address,
sendmmsg length write-backs). Document this observable behavior and its syscall
limitations in the public Fern docs: the support-matrix kernel requirements and
the OpenShift runtime guidance.
Signed-off-by: Akram <akram.benaissi@gmail.com>
|[Landlock LSM](https://docs.kernel.org/security/landlock.html)| Required | ABI 3 or newer, introduced in Linux 6.2, with Landlock enabled. The mandatory baseline protects private channel and bootstrap files, including against truncation. A filesystem policy's `best_effort` setting never disables this baseline. |
105
105
| seccomp | Required | Nested user-notification filters and atomic `SECCOMP_IOCTL_NOTIF_ADDFD` with `SECCOMP_ADDFD_FLAG_SEND`, usable under the runtime's existing seccomp profile without added capabilities. The sandbox actively probes these operations before admitting the workload. |
106
+
| seccomp `WAIT_KILLABLE_RECV`| Recommended (Linux 5.19+) | Keeps a notified workload thread in a kill-only wait so the broker can safely write mediated results into workload memory. Without it (kernels < 5.19, for example RHEL 9.x / RHCOS 5.14) the sandbox still starts, in a reduced **legacy read-only** mode described below. |
106
107
107
108
A kernel version alone does not establish support. A disabled Landlock LSM or a
108
109
runtime profile that blocks the required seccomp operations causes launch to
109
110
fail closed. An upstream Linux 6.2 or newer kernel provides the required
110
111
Landlock ABI; distribution backports must pass the same active qualification.
111
112
113
+
### Legacy read-only mode (kernels before Linux 5.19)
114
+
115
+
`SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV` was added in Linux 5.19. On older
116
+
kernels — notably RHEL 9.x and RHCOS, which ship a 5.14 kernel — the sandbox
117
+
cannot install a kill-only listener, so it falls back to a plain listener and
118
+
runs in a **legacy read-only** cancellation mode. The sandbox starts and
119
+
enforces the full isolation boundary (Landlock, the outer NetworkPolicy fence,
120
+
DNS and TCP authorization); the only difference is that the broker refuses the
121
+
mediated operations that write results back into workload memory, failing them
122
+
closed with `EOPNOTSUPP`:
123
+
124
+
-`getpeername`;
125
+
-`accept` / `accept4`**when a non-null peer-address argument is supplied**
126
+
(a null address argument still works);
127
+
-`sendmmsg` paths that write per-message lengths back to the caller.
128
+
129
+
Socket creation, `connect`, `bind`, `listen`, `sendto`, and `sendmsg` are
130
+
unaffected. Outbound-oriented workloads generally run unchanged; server
131
+
workloads whose accept wrappers request the peer address will see `EOPNOTSUPP`
132
+
until the node runs a kernel that provides `WAIT_KILLABLE_RECV` (Linux 5.19+, or
133
+
a distribution backport). The selected mode is reported in the sandbox
134
+
qualification output as `seccomp_listener_mode` (`killable` or
135
+
`legacy_read_only`).
136
+
112
137
On macOS, these kernel modules run inside the Docker Desktop Linux VM, not on the host kernel.
0 commit comments