All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mimi Zohar <zohar@linux.ibm.com>
To: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	Casey Schaufler <casey@schaufler-ca.com>,
	dmitry.kasatkin@gmail.com, paul@paul-moore.com,
	jmorris@namei.org, serge@hallyn.com,
	stephen.smalley.work@gmail.com, eparis@parisplace.org
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>
Subject: Re: [PATCH v4 3/5] security: Allow all LSMs to provide xattrs for inode_init_security hook
Date: Mon, 21 Nov 2022 15:58:05 -0500	[thread overview]
Message-ID: <5e88d4bfae90d642fcf84a0c0937a9e4359ef4b2.camel@linux.ibm.com> (raw)
In-Reply-To: <ad7bfa59a3a89ccad52574e2f9fb8965dbaa1620.camel@huaweicloud.com>

On Mon, 2022-11-21 at 14:29 +0100, Roberto Sassu wrote:
> On Fri, 2022-11-18 at 09:31 -0800, Casey Schaufler wrote:
> > On 11/18/2022 7:10 AM, Mimi Zohar wrote:
> > > On Fri, 2022-11-18 at 10:14 +0100, Roberto Sassu wrote:
> > > > > > +static int security_check_compact_xattrs(struct xattr *xattrs,
> > > > > > +                                     int num_xattrs, int *checked_xattrs)
> > > > > Perhaps the variable naming is off, making it difficult to read.   So
> > > > > although this is a static function, which normally doesn't require a
> > > > > comment, it's definitely needs one.
> > > > Ok, will improve it.
> > > > 
> > > > > > +{
> > > > > > +    int i;
> > > > > > +
> > > > > > +    for (i = *checked_xattrs; i < num_xattrs; i++) {
> > > > > If the number of "checked" xattrs was kept up to date, removing the
> > > > > empty xattr gaps wouldn't require a loop.  Is the purpose of this loop
> > > > > to support multiple per LSM xattrs?
> > > > An LSM might reserve one or more xattrs, but not set it/them (for 
> > > > example because it is not initialized). In this case, removing the gaps 
> > > > is needed for all subsequent LSMs.
> > > Including this sort of info in the function description or as a comment
> > > in the code would definitely simplify review.
> > > 
> > > security_check_compact_xattrs() is called in the loop after getting
> > > each LSM's xattr(s).  Only the current LSMs xattrs need to be
> > > compressed, yet the loop goes to the maximum number of xattrs each
> > > time. Just wondering if there is a way of improving it.
> > 
> > At security module registration each module could identify how
> > many xattrs it uses. That number could be used to limit the range
> > of the loop. I have to do similar things for the forthcoming LSM
> > syscalls and module stacking beyond that.
> 
> Yes, blob_sizes.lbs_xattr contains the total number of xattrs requested
> by LSMs. To stop the loop earlier, at the offset of the next LSM, we
> would need to search the LSM's lsm_info, using the LSM name in
> the security_hook_list structure. Although it is not optimal, not doing
> it makes the code simpler. I could do that, if preferred.

Either way is fine, as long as the code is readable.  At minimum add a
comment.

-- 
thanks,

Mimi





  reply	other threads:[~2022-11-21 20:58 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
2022-11-21 20:54         ` [Ocfs2-devel] " 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 [this message]
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=5e88d4bfae90d642fcf84a0c0937a9e4359ef4b2.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=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.