From: Mimi Zohar <zohar@linux.ibm.com>
To: Roberto Sassu <roberto.sassu@huaweicloud.com>,
dmitry.kasatkin@gmail.com, paul@paul-moore.com,
jmorris@namei.org, serge@hallyn.com,
stephen.smalley.work@gmail.com, eparis@parisplace.org,
casey@schaufler-ca.com
Cc: linux-integrity@vger.kernel.org,
linux-security-module@vger.kernel.org, selinux@vger.kernel.org,
reiserfs-devel@vger.kernel.org, linux-kernel@vger.kernel.org,
keescook@chromium.org, nicolas.bouchinet@clip-os.org,
Roberto Sassu <roberto.sassu@huawei.com>,
ocfs2-devel@oss.oracle.com
Subject: Re: [PATCH v4 2/5] security: Rewrite security_old_inode_init_security()
Date: Mon, 21 Nov 2022 15:54:19 -0500 [thread overview]
Message-ID: <7812899531b2bd936b25fde8fc2f1c2a6080b2bd.camel@linux.ibm.com> (raw)
In-Reply-To: <aa5fa8c5f231115c58012352124df57d16a01e41.camel@huaweicloud.com>
On Mon, 2022-11-21 at 10:45 +0100, Roberto Sassu wrote:
> > As ocfs2 already defines initxattrs, that leaves only reiserfs missing
> > initxattrs(). A better, cleaner solution would be to define one.
>
> If I understood why security_old_inode_init_security() is called
> instead of security_inode_init_security(), the reason seems that the
> filesystem code uses the length of the obtained xattr to make some
> calculations (e.g. reserve space). The xattr is written at a later
> time.
>
> Since for reiserfs there is a plan to deprecate it, it probably
> wouldn't be worth to support the creation of multiple xattrs. I would
> define a callback to take the first xattr and make a copy, so that
> calling security_inode_init_security() + reiserfs_initxattrs() is
> equivalent to calling security_old_inode_init_security().
>
> But then, this is what anyway I was doing with the
> security_initxattrs() callback, for all callers of security_old_inode_i
> nit_security().
>
> Also, security_old_inode_init_security() is exported to kernel modules.
> Maybe, it is used somewhere. So, unless we plan to remove it
> completely, it should be probably be fixed to avoid multiple LSMs
> successfully setting an xattr, and losing the memory of all except the
> last (which this patch fixes by calling security_inode_init_security())
> .
>
> If there is still the preference, I will implement the reiserfs
> callback and make a fix for security_old_inode_init_security().
There's no sense in doing both, as the purpose of defining a reiserfs
initxattrs function was to clean up this code making it more readable.
Mimi
WARNING: multiple messages have this Message-ID (diff)
From: Mimi Zohar via Ocfs2-devel <ocfs2-devel@oss.oracle.com>
To: Roberto Sassu <roberto.sassu@huaweicloud.com>,
dmitry.kasatkin@gmail.com, paul@paul-moore.com,
jmorris@namei.org, serge@hallyn.com,
stephen.smalley.work@gmail.com, eparis@parisplace.org,
casey@schaufler-ca.com
Cc: nicolas.bouchinet@clip-os.org, keescook@chromium.org,
selinux@vger.kernel.org, Roberto Sassu <roberto.sassu@huawei.com>,
linux-kernel@vger.kernel.org, reiserfs-devel@vger.kernel.org,
linux-security-module@vger.kernel.org,
linux-integrity@vger.kernel.org, ocfs2-devel@oss.oracle.com
Subject: Re: [Ocfs2-devel] [PATCH v4 2/5] security: Rewrite security_old_inode_init_security()
Date: Mon, 21 Nov 2022 15:54:19 -0500 [thread overview]
Message-ID: <7812899531b2bd936b25fde8fc2f1c2a6080b2bd.camel@linux.ibm.com> (raw)
In-Reply-To: <aa5fa8c5f231115c58012352124df57d16a01e41.camel@huaweicloud.com>
On Mon, 2022-11-21 at 10:45 +0100, Roberto Sassu wrote:
> > As ocfs2 already defines initxattrs, that leaves only reiserfs missing
> > initxattrs(). A better, cleaner solution would be to define one.
>
> If I understood why security_old_inode_init_security() is called
> instead of security_inode_init_security(), the reason seems that the
> filesystem code uses the length of the obtained xattr to make some
> calculations (e.g. reserve space). The xattr is written at a later
> time.
>
> Since for reiserfs there is a plan to deprecate it, it probably
> wouldn't be worth to support the creation of multiple xattrs. I would
> define a callback to take the first xattr and make a copy, so that
> calling security_inode_init_security() + reiserfs_initxattrs() is
> equivalent to calling security_old_inode_init_security().
>
> But then, this is what anyway I was doing with the
> security_initxattrs() callback, for all callers of security_old_inode_i
> nit_security().
>
> Also, security_old_inode_init_security() is exported to kernel modules.
> Maybe, it is used somewhere. So, unless we plan to remove it
> completely, it should be probably be fixed to avoid multiple LSMs
> successfully setting an xattr, and losing the memory of all except the
> last (which this patch fixes by calling security_inode_init_security())
> .
>
> If there is still the preference, I will implement the reiserfs
> callback and make a fix for security_old_inode_init_security().
There's no sense in doing both, as the purpose of defining a reiserfs
initxattrs function was to clean up this code making it more readable.
Mimi
_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel
next prev parent reply other threads:[~2022-11-21 20:55 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-10 9:46 [PATCH v4 0/5] evm: Prepare for moving to the LSM infrastructure Roberto Sassu
2022-11-10 9:46 ` [PATCH v4 1/5] reiserfs: Add missing calls to reiserfs_security_free() Roberto Sassu
2022-11-16 21:03 ` Mimi Zohar
2022-11-21 23:41 ` Paul Moore
2022-11-22 8:11 ` Roberto Sassu
2022-11-22 22:47 ` Paul Moore
2022-11-10 9:46 ` [PATCH v4 2/5] security: Rewrite security_old_inode_init_security() Roberto Sassu
2022-11-17 13:03 ` Mimi Zohar
2022-11-17 13:03 ` [Ocfs2-devel] " Mimi Zohar via Ocfs2-devel
2022-11-18 9:04 ` Roberto Sassu
2022-11-18 9:04 ` [Ocfs2-devel] " Roberto Sassu via Ocfs2-devel
2022-11-21 9:45 ` Roberto Sassu
2022-11-21 9:45 ` [Ocfs2-devel] " Roberto Sassu via Ocfs2-devel
2022-11-21 20:54 ` Mimi Zohar [this message]
2022-11-21 20:54 ` Mimi Zohar via Ocfs2-devel
2022-11-21 23:55 ` Paul Moore
2022-11-21 23:55 ` [Ocfs2-devel] " Paul Moore via Ocfs2-devel
2022-11-22 8:29 ` Roberto Sassu
2022-11-22 8:29 ` [Ocfs2-devel] " Roberto Sassu via Ocfs2-devel
2022-11-10 9:46 ` [PATCH v4 3/5] security: Allow all LSMs to provide xattrs for inode_init_security hook Roberto Sassu
2022-11-17 16:05 ` Mimi Zohar
2022-11-17 17:18 ` Casey Schaufler
2022-11-17 17:24 ` Mimi Zohar
2022-11-17 17:40 ` Casey Schaufler
2022-11-17 18:07 ` Mimi Zohar
2022-11-18 9:32 ` Roberto Sassu
2022-11-18 15:33 ` Mimi Zohar
2022-11-18 9:14 ` Roberto Sassu
2022-11-18 15:10 ` Mimi Zohar
2022-11-18 17:31 ` Casey Schaufler
2022-11-21 13:29 ` Roberto Sassu
2022-11-21 20:58 ` Mimi Zohar
2022-11-18 17:15 ` Casey Schaufler
2022-11-10 9:46 ` [PATCH v4 4/5] evm: Align evm_inode_init_security() definition with LSM infrastructure Roberto Sassu
2022-11-17 17:07 ` Mimi Zohar
2022-11-18 9:30 ` Roberto Sassu
2022-11-18 14:45 ` Mimi Zohar
2022-11-18 15:11 ` Mimi Zohar
2022-11-10 9:46 ` [PATCH v4 5/5] evm: Support multiple LSMs providing an xattr Roberto Sassu
2022-11-17 17:09 ` Mimi Zohar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7812899531b2bd936b25fde8fc2f1c2a6080b2bd.camel@linux.ibm.com \
--to=zohar@linux.ibm.com \
--cc=casey@schaufler-ca.com \
--cc=dmitry.kasatkin@gmail.com \
--cc=eparis@parisplace.org \
--cc=jmorris@namei.org \
--cc=keescook@chromium.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=nicolas.bouchinet@clip-os.org \
--cc=ocfs2-devel@oss.oracle.com \
--cc=paul@paul-moore.com \
--cc=reiserfs-devel@vger.kernel.org \
--cc=roberto.sassu@huawei.com \
--cc=roberto.sassu@huaweicloud.com \
--cc=selinux@vger.kernel.org \
--cc=serge@hallyn.com \
--cc=stephen.smalley.work@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.