!FBuJyWXTGcGtHTPphC:nixos.org

Nix Rust

702 Members
Rust160 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
31 Mar 2025
@niko:nrab.lolniko ⚡️By design20:36:02
@r522:matrix.org@r522:matrix.orgi'm looking at https://github.com/NixOS/nix/blob/5a8dedc45cc04a207917316c245e4993234bfbe0/src/libstore/unix/build/local-derivation-goal.cc and i don't see an allow list? ... i also don't see where io_uring is blocked though20:38:17
@r522:matrix.org@r522:matrix.org * i'm looking at https://github.com/NixOS/nix/blob/5a8dedc45cc04a207917316c245e4993234bfbe0/src/libstore/unix/build/local-derivation-goal.cc#L1774 and i don't see an allow list? ... i also don't see where io_uring is blocked though 20:39:05
@r522:matrix.org@r522:matrix.orgso i guess that's not what sets up the build sandbox20:39:17
@niko:nrab.lolniko ⚡️No, you're right, I'm too Lix-brained, Lix has an explicit syscall list, CppNix uses (for the most part) the default seccomp profile 20:45:13
@r522:matrix.org@r522:matrix.orgmhm i will go look in lix to see where they do it then20:46:48
@r522:matrix.org@r522:matrix.orgright, yeah, they do 20:47:22
@r522:matrix.org@r522:matrix.org that being said, they don't seem to care about the exact path used for opens 20:48:08
@r522:matrix.org@r522:matrix.orgso it's seccomp but not in a way that inspects paths actually, you can't do that anyways20:48:35
@r522:matrix.org@r522:matrix.org* so it's seccomp but not in a way that inspects paths actually, you can't do that anyways with seccomp20:48:38
@r522:matrix.org@r522:matrix.org so allowing io_uring operations that are equal to syscalls that are already allowed would be fine 20:48:57
@r522:matrix.org@r522:matrix.org unsure if you can set global io_uring restrictions though 20:50:59
@r522:matrix.org@r522:matrix.orgmhm yeah it's per-ring20:51:42
1 Apr 2025
@aloisw:julia0815.de@aloisw:julia0815.de
In reply to @r522:matrix.org
so allowing io_uring operations that are equal to syscalls that are already allowed would be fine
The problem is that seccomp cannot do that.
04:38:41
@leona:leona.isleona joined the room.08:42:50
@r522:matrix.org@r522:matrix.orgyeah it wouldn't be hard to make it do that, kernel-wise (or maybe LD_PRELOAD some shim that goes and asks for an already created ring that has syscall restrictions applied already) but i guess ultimately it doesn't Particularly matter since all you lose is the ability to run tests in the sandbox10:42:38
@k900:0upti.meK900
In reply to @r522:matrix.org

yeah
it wouldn't be hard to make it do that, kernel-wise (or maybe LD_PRELOAD some shim that goes and asks for an already created ring that has syscall restrictions applied already)

but i guess ultimately it doesn't Particularly matter since all you lose is the ability to run tests in the sandbox

There are no restrictions in io_uring
10:47:58
@k900:0upti.meK900That's kind of the problem 10:48:04
@r522:matrix.org@r522:matrix.org there are, but it's per-ring 10:48:33
@r522:matrix.org@r522:matrix.orgnot globally10:48:38
@r522:matrix.org@r522:matrix.org if there was a syscall to say "apply these restrictions to all future rings made by this process", it would be fine 10:49:25

Show newer messages


Back to Room ListRoom Version: 6