> On Aug 6, 2024, at 1:33 PM, Song Liu <song@xxxxxxxxxx> wrote: > > Add test for bpf_get_dentry_xattr on hook security_inode_getxattr. > Verify that the kfunc can read the xattr. Also test failing getxattr > from user space by returning non-zero from the LSM bpf program. > > Acked-by: Christian Brauner <brauner@xxxxxxxxxx> > Signed-off-by: Song Liu <song@xxxxxxxxxx> > --- > tools/testing/selftests/bpf/bpf_kfuncs.h | 8 ++++ > .../selftests/bpf/prog_tests/fs_kfuncs.c | 9 ++++- > .../selftests/bpf/progs/test_get_xattr.c | 37 ++++++++++++++++--- > 3 files changed, 48 insertions(+), 6 deletions(-) > > diff --git a/tools/testing/selftests/bpf/bpf_kfuncs.h b/tools/testing/selftests/bpf/bpf_kfuncs.h > index 3b6675ab4086..cf25421c36c9 100644 > --- a/tools/testing/selftests/bpf/bpf_kfuncs.h > +++ b/tools/testing/selftests/bpf/bpf_kfuncs.h > @@ -78,4 +78,12 @@ extern int bpf_verify_pkcs7_signature(struct bpf_dynptr *data_ptr, > > extern bool bpf_session_is_return(void) __ksym __weak; > extern __u64 *bpf_session_cookie(void) __ksym __weak; > + > +/* Description > + * Returns xattr of a dentry > + * Returns__bpf_kfunc > + * Error code > + */ > +extern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name, > + struct bpf_dynptr *value_ptr) __ksym __weak; > #endif Oops.. forgot to declare struct dentry. Let me fix this. Sorry for the noise. Thanks, Song