On Tue, Aug 20, 2024 at 1:43 PM Song Liu <songliubraving@xxxxxxxx> wrote: > > On Aug 20, 2024, at 5:45 AM, Mickaël Salaün <mic@xxxxxxxxxxx> wrote: ... > > What about adding BPF hooks to Landlock? User space could create > > Landlock sandboxes that would delegate the denials to a BPF program, > > which could then also allow such access, but without directly handling > > nor reimplementing filesystem path walks. The Landlock user space ABI > > changes would mainly be a new landlock_ruleset_attr field to explicitly > > ask for a (system-wide) BPF program to handle access requests if no > > Landlock rule allow them. We could also tie a BPF data (i.e. blob) to > > Landlock domains for consistent sandbox management. One of the > > advantage of this approach is to only run related BPF programs if the > > sandbox policy would deny the request. Another advantage would be to > > leverage the Landlock user space interface to let any program partially > > define and extend their security policy. > > Given there is BPF LSM, I have never thought about adding BPF hooks to > Landlock or other LSMs. I personally would prefer to have a common API > to walk the path, maybe something like vma_iterator. But I need to read > more code to understand whether this makes sense? Just so there isn't any confusion, I want to make sure that everyone is clear that "adding BPF hooks to Landlock" should mean "add a new Landlock specific BPF hook inside Landlock" and not "reuse existing BPF LSM hooks inside Landlock". -- paul-moore.com