[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHC9VhSt0GkTe8ho2yyP8Bp1rbtiFbp6dNY6m93cvBXJ=aKtSQ@mail.gmail.com>
Date: Tue, 2 Apr 2024 16:28:12 -0400
From: Paul Moore <paul@...l-moore.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Roberto Sassu <roberto.sassu@...weicloud.com>, linux-integrity@...r.kernel.org,
linux-security-module@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-cifs@...r.kernel.org, linux-kernel@...r.kernel.org,
Roberto Sassu <roberto.sassu@...wei.com>
Subject: Re: [GIT PULL] security changes for v6.9-rc3
On Tue, Apr 2, 2024 at 4:27 PM Paul Moore <paul@...l-moore.com> wrote:
> On Tue, Apr 2, 2024 at 3:39 PM Linus Torvalds
> <torvalds@...ux-foundation.org> wrote:
> >
>
> ...
>
> > But if we really want to do this ("if mknod creates a positive dentry,
> > I won't see it in lookup, so I want to appraise it now"), then we
> > should just deal with this in the generic layer with some hack like
> > this:
> >
> > --- a/security/security.c
> > +++ b/security/security.c
> > @@ -1801,7 +1801,8 @@ EXPORT_SYMBOL(security_path_mknod);
> > */
> > void security_path_post_mknod(struct mnt_idmap *idmap, struct dentry *dentry)
> > {
> > - if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
> > + struct inode *inode = d_backing_inode(dentry);
> > + if (unlikely(!inode || IS_PRIVATE(inode)))
> > return;
> > call_void_hook(path_post_mknod, idmap, dentry);
> > }
>
> Other than your snippet wrapping both the inode/NULL and
> inode/IS_PRIVATE checks with an unlikely(), that's what Roberto
> submitted (his patch only wrapped the inode/IS_PRIVATE with unlikely).
Nevermind, I missed the obvious OR / AND diff ... sorry for the noise.
--
paul-moore.com
Powered by blists - more mailing lists