Re: Landlock setup
Mickaël Salaün <[email protected]> Tue, 8 Nov 2022 15:13:39 +0100
| Newsgroups | dev.linux.lists.landlock |
|---|---|
| Message-ID | <[email protected]> |
On 08/11/2022 12:27, Yves Rutschle wrote: > On Mon, Nov 07, 2022 at 07:02:04PM +0100, Mickaël Salaün wrote: >> This is correct, but you may also want to enable other LSMs if you are using >> them (e.g. Yama). You should probably stick to the new default Debian Sid >> cmdline: https://salsa.debian.org/kernel-team/linux/-/commit/1ef40f40e593a5dc223e9ce171fa8f2cd5aba198 > > I'm on Debian 11 on this PC, which enables... nothing. Right, but it doesn't hurt to stick to the future default. :) > >> Your setup is good and it should work. You can debug a bit more with an >> up-to-date strace (which will print the Landlock syscalls). I guess you are >> running this sample in a strict seccomp environment that denies Landlock >> syscalls. This may be the result of using an old container runtime (Docker, >> Podman and runc are now patched but the related fix may not be backported). > > strace: > > [...] > mprotect(0x7f5189b04000, 16384, PROT_READ) = 0 > mprotect(0x558557b7c000, 4096, PROT_READ) = 0 > mprotect(0x7f5189b5c000, 8192, PROT_READ) = 0 > munmap(0x7f5189b15000, 94575) = 0 > [ Process PID=3958 runs in x32 mode. ] > syscall_0x400001bc(0, 0, 0x1, 0, 0x7f5189b3d2b0, 0x40) = -1 ENOSYS (Function not implemented) > [ Process PID=3958 runs in 64 bit mode. ] > dup(2) = 3 > [...] > > => I guess strace is not up to date. I dont think I have > seccomp enabled either, and I think it would interrupt (as > in kill) the syscall rather than return ENOSYS. I am not > running from a docker either. If you see "landlock: Up and running." in the running kernel log, I don't see any reason why the kernel would return ENOSYS for the Landlock syscalls. The default kernel for Debian 11 is Linux 5.10, which doesn't support Landlock. I tested with linux-image-5.18.0-0.deb11.4-amd64 and linux-image-6.0.0-0.deb11.2-amd64-unsigned and it works fine. On which architecture are you? > > > Ok, so I guess I'll look into upgrading the kernel and > strace, or compiling it myself. No need to update strace to debug this issue, it will just not print the syscall names and not format their arguments. > > Cheers, > Y. >