[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <E5457BFD-F7B9-4077-9EAC-168DA5C271E4@fb.com>
Date: Thu, 14 Nov 2024 23:02:51 +0000
From: Song Liu <songliubraving@...a.com>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>
CC: Song Liu <song@...nel.org>, bpf <bpf@...r.kernel.org>,
Linux-Fsdevel
<linux-fsdevel@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
LSM
List <linux-security-module@...r.kernel.org>,
Kernel Team
<kernel-team@...a.com>,
Andrii Nakryiko <andrii@...nel.org>, Eddy Z
<eddyz87@...il.com>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann
<daniel@...earbox.net>,
Martin KaFai Lau <martin.lau@...ux.dev>,
Alexander
Viro <viro@...iv.linux.org.uk>,
Christian Brauner <brauner@...nel.org>, Jan
Kara <jack@...e.cz>,
KP Singh <kpsingh@...nel.org>,
Matt Bobrowski
<mattbobrowski@...gle.com>,
Amir Goldstein <amir73il@...il.com>,
"repnop@...gle.com" <repnop@...gle.com>,
Jeff Layton <jlayton@...nel.org>, Josef Bacik <josef@...icpanda.com>,
Mickaël Salaün
<mic@...ikod.net>,
"gnoack@...gle.com" <gnoack@...gle.com>
Subject: Re: [RFC/PATCH v2 bpf-next fanotify 7/7] selftests/bpf: Add test for
BPF based fanotify fastpath handler
> On Nov 14, 2024, at 12:14 PM, Alexei Starovoitov <alexei.starovoitov@...il.com> wrote:
>
> On Thu, Nov 14, 2024 at 12:44 AM Song Liu <song@...nel.org> wrote:
>>
>> +
>> + if (bpf_is_subdir(dentry, v->dentry))
>> + ret = FAN_FP_RET_SEND_TO_USERSPACE;
>> + else
>> + ret = FAN_FP_RET_SKIP_EVENT;
>
> It seems to me that all these patches and feature additions
> to fanotify, new kfuncs, etc are done just to do the above
> filtering by subdir ?
>
> If so, just hard code this logic as an extra flag to fanotify ?
> So it can filter all events by subdir.
> bpf programmability makes sense when it needs to express
> user space policy. Here it's just a filter by subdir.
> bpf hammer doesn't look like the right tool for this use case.
Current version is indeed tailored towards the subtree
monitoring use case. This is mostly because feedback on v1
mostly focused on this use case. V1 itself actually had some
other use cases.
In practice, fanotify fastpath can benefit from bpf
programmability. For example, with bpf programmability, we
can combine fanotify and BPF LSM in some security use cases.
If some security rules only applies to a few files, a
directory, or a subtree, we can use fanotify to only monitor
these files. LSM hooks, such as security_file_open(), are
always global. The overhead is higher if we are only
interested in a few files.
Does this make sense?
Thanks,
Song
Powered by blists - more mailing lists