On Tue, Mar 14, 2023 at 4:18 AM Roberto Sassu <roberto.sassu@xxxxxxxxxxxxxxx> wrote: > > From: Roberto Sassu <roberto.sassu@xxxxxxxxxx> > > In preparation for removing security_old_inode_init_security(), switch to > security_inode_init_security(). Commit 572302af1258 ("reiserfs: Add missing > calls to reiserfs_security_free()") fixed possible memory leaks and another > issue related to adding an xattr at inode creation time. > > Define the initxattrs callback reiserfs_initxattrs(), to populate the > name/value/len triple in the reiserfs_security_handle() with the first > xattr provided by LSMs. Make a copy of the xattr value, as > security_inode_init_security() frees it. > > After the call to security_inode_init_security(), remove the check for > returning -EOPNOTSUPP, as security_inode_init_security() changes it to > zero. > > Multiple xattrs are currently not supported, as the > reiserfs_security_handle structure is exported to user space. As a > consequence, even if EVM is invoked, it will not provide an xattr (if it > is not the first to set it, its xattr will be discarded; if it is the > first, it does not have xattrs to calculate the HMAC on). > > Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxxx> > Reviewed-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> > Reviewed-by: Mimi Zohar <zohar@xxxxxxxxxxxxx> > --- > fs/reiserfs/xattr_security.c | 23 ++++++++++++++++++----- > 1 file changed, 18 insertions(+), 5 deletions(-) Merged into lsm/next, thanks. -- paul-moore.com