Re: [PATCH v5 2/7] lsm: introduce new hooks for setting/getting inode fsxattr
Andrey Albershteyn <[email protected]>
| Newsgroups | gmane.linux.ports.parisc,gmane.linux.ports.alpha,gmane.linux.kernel,gmane.linux.ports.arm.kernel,gmane.linux.ports.mips,gmane.linux.ports.ppc64.devel,gmane.linux.ports.sh.devel,gmane.linux.ports.sparc,gmane.linux.file-systems,gmane.linux.kernel.lsm,gmane.linux.kernel.api,gmane.linux.kernel.cross-arch,gmane.comp.file-systems.ecryptfs.general,gmane.linux.file-systems.union |
|---|---|
| Message-ID | <kgl5h2iruqnhmad65sonlvneu6mdj6jl3sd4aoc3us3lvrgviy@imce27t4nk2e> |
On 2025-05-12 08:43:32, Casey Schaufler wrote: > On 5/12/2025 6:25 AM, Andrey Albershteyn wrote: > > Introduce new hooks for setting and getting filesystem extended > > attributes on inode (FS_IOC_FSGETXATTR). > > > > Cc: [email protected] > > Cc: Paul Moore <[email protected]> > > > > Signed-off-by: Andrey Albershteyn <[email protected]> > > --- > > fs/file_attr.c | 19 ++++++++++++++++--- > > include/linux/lsm_hook_defs.h | 2 ++ > > include/linux/security.h | 16 ++++++++++++++++ > > security/security.c | 30 ++++++++++++++++++++++++++++++ > > 4 files changed, 64 insertions(+), 3 deletions(-) > > > > diff --git a/fs/file_attr.c b/fs/file_attr.c > > index 2910b7047721..be62d97cc444 100644 > > --- a/fs/file_attr.c > > +++ b/fs/file_attr.c > > @@ -76,10 +76,15 @@ EXPORT_SYMBOL(fileattr_fill_flags); > > int vfs_fileattr_get(struct dentry *dentry, struct fileattr *fa) > > { > > struct inode *inode = d_inode(dentry); > > + int error; > > > > if (!inode->i_op->fileattr_get) > > return -ENOIOCTLCMD; > > > > + error = security_inode_file_getattr(dentry, fa); > > + if (error) > > + return error; > > + > > If you're changing VFS behavior to depend on LSMs supporting the new > hooks I'm concerned about the impact it will have on the LSMs that you > haven't supplied hooks for. Have you tested these changes with anything > besides SELinux? Sorry, this thread is incomplete, I've resent full patchset again. If you have any further comments please comment in that thread [1] I haven't tested with anything except SELinux, but I suppose if module won't register any hooks, then security_inode_file_*() will return 0. Reverting SELinux implementation of the hooks doesn't cause any errors. I'm not that familiar with LSMs/selinux and its codebase, if you can recommend what need to be tested while adding new hooks, I will try to do that for next revision. [1]: https://lore.kernel.org/linux-fsdevel/CAOQ4uxgOAxg7N1OUJfb1KMp7oWOfN=KV9Lzz6ZrX0=XRGOQrEQ@mail.gmail.com/T/#t -- - Andrey