[PATCH v5 2/7] lsm: introduce new hooks for setting/getting inode fsxattr
Andrey Albershteyn
aalbersh at redhat.com
Thu May 15 17:50:44 AEST 2025
On 2025-05-14 11:21:46, Casey Schaufler wrote:
> On 5/14/2025 4:02 AM, Andrey Albershteyn wrote:
> > 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: selinux at vger.kernel.org
> >>> Cc: Paul Moore <paul at paul-moore.com>
> >>>
> >>> Signed-off-by: Andrey Albershteyn <aalbersh at kernel.org>
> >>> ---
> >>> 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.
>
> At a minimum the Smack testsuite:
> https://github.com/smack-team/smack-testsuite.git
> And the audit suite:
> https://github.com/linux-audit/audit-testsuite.git
>
> AppArmor has a suite as well, but I'm not sure where is resides.
Well, I thought about something more specific, I know about these
testsuites
>
> My primary concern is that you're making changes that remove existing
> hook calls and add new hook calls without verifying that the protections
> provided by the old calls are always also provided by the new ones.
I'm only adding new hooks, ioctls weren't calling any hooks.
--
- Andrey
More information about the Linuxppc-dev
mailing list