From: Paul Moore <paul@paul-moore.com> To: David Howells <dhowells@redhat.com> Cc: linux-unionfs@vger.kernel.org, selinux@tycho.nsa.gov, linux-fsdevel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/7] SELinux: Stub in copy-up handling Date: Fri, 07 Nov 2014 16:44:03 -0500 [thread overview] Message-ID: <1791526.rYj1Ea3vWT@sifl> (raw) In-Reply-To: <20141105154248.2555.15813.stgit@warthog.procyon.org.uk> On Wednesday, November 05, 2014 03:42:48 PM David Howells wrote: > Provide stubs for union/overlay copy-up handling. The xattr copy up stub > discards lower SELinux xattrs rather than letting them be copied up so that > the security label on the copy doesn't get corrupted. > > Signed-off-by: David Howells <dhowells@redhat.com> > --- > > security/selinux/hooks.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c > index e66314138b38..f3fe7dbbf741 100644 > --- a/security/selinux/hooks.c > +++ b/security/selinux/hooks.c > @@ -3142,6 +3142,19 @@ static void selinux_inode_getsecid(const struct inode > *inode, u32 *secid) *secid = isec->sid; > } > > +static int selinux_inode_copy_up(struct dentry *src, struct dentry *dst) > +{ > + return 0; > +} > + > +static int selinux_inode_copy_up_xattr(struct dentry *src, struct dentry > ...*dst, > + const char *name, void *value, size_t *size) > +{ > + if (strcmp(name, XATTR_NAME_SELINUX) == 0) > + return 1; /* Discard */ I understand that this is just a stub, but I we need to discuss this at some point and I figure better in this patch than elsewhere where it might get lost. For the docker, context= mount use case (similar to SELinux/sVirt) dropping the SELinux xattr is probably an okay behavior. However, I would expect that ultimately this is something we would want to control by policy and/or the presence of a context= label. > + return 0; > +} > + > /* file security operations */ > > static int selinux_revalidate_file_permission(struct file *file, int mask) > @@ -5868,6 +5881,8 @@ static struct security_operations selinux_ops = { > .inode_setsecurity = selinux_inode_setsecurity, > .inode_listsecurity = selinux_inode_listsecurity, > .inode_getsecid = selinux_inode_getsecid, > + .inode_copy_up = selinux_inode_copy_up, > + .inode_copy_up_xattr = selinux_inode_copy_up_xattr, > > .file_permission = selinux_file_permission, > .file_alloc_security = selinux_file_alloc_security, > > -- > To unsubscribe from this list: send the line "unsubscribe > linux-security-module" in the body of a message to > majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- paul moore www.paul-moore.com
WARNING: multiple messages have this Message-ID (diff)
From: Paul Moore <paul@paul-moore.com> To: David Howells <dhowells@redhat.com> Cc: linux-fsdevel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-unionfs@vger.kernel.org, selinux@tycho.nsa.gov, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/7] SELinux: Stub in copy-up handling Date: Fri, 07 Nov 2014 16:44:03 -0500 [thread overview] Message-ID: <1791526.rYj1Ea3vWT@sifl> (raw) In-Reply-To: <20141105154248.2555.15813.stgit@warthog.procyon.org.uk> On Wednesday, November 05, 2014 03:42:48 PM David Howells wrote: > Provide stubs for union/overlay copy-up handling. The xattr copy up stub > discards lower SELinux xattrs rather than letting them be copied up so that > the security label on the copy doesn't get corrupted. > > Signed-off-by: David Howells <dhowells@redhat.com> > --- > > security/selinux/hooks.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c > index e66314138b38..f3fe7dbbf741 100644 > --- a/security/selinux/hooks.c > +++ b/security/selinux/hooks.c > @@ -3142,6 +3142,19 @@ static void selinux_inode_getsecid(const struct inode > *inode, u32 *secid) *secid = isec->sid; > } > > +static int selinux_inode_copy_up(struct dentry *src, struct dentry *dst) > +{ > + return 0; > +} > + > +static int selinux_inode_copy_up_xattr(struct dentry *src, struct dentry > ...*dst, > + const char *name, void *value, size_t *size) > +{ > + if (strcmp(name, XATTR_NAME_SELINUX) == 0) > + return 1; /* Discard */ I understand that this is just a stub, but I we need to discuss this at some point and I figure better in this patch than elsewhere where it might get lost. For the docker, context= mount use case (similar to SELinux/sVirt) dropping the SELinux xattr is probably an okay behavior. However, I would expect that ultimately this is something we would want to control by policy and/or the presence of a context= label. > + return 0; > +} > + > /* file security operations */ > > static int selinux_revalidate_file_permission(struct file *file, int mask) > @@ -5868,6 +5881,8 @@ static struct security_operations selinux_ops = { > .inode_setsecurity = selinux_inode_setsecurity, > .inode_listsecurity = selinux_inode_listsecurity, > .inode_getsecid = selinux_inode_getsecid, > + .inode_copy_up = selinux_inode_copy_up, > + .inode_copy_up_xattr = selinux_inode_copy_up_xattr, > > .file_permission = selinux_file_permission, > .file_alloc_security = selinux_file_alloc_security, > > -- > To unsubscribe from this list: send the line "unsubscribe > linux-security-module" in the body of a message to > majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- paul moore www.paul-moore.com
next prev parent reply other threads:[~2014-11-07 21:44 UTC|newest] Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-11-05 15:42 [PATCH 0/7] Security: Provide unioned file support David Howells 2014-11-05 15:42 ` [PATCH 1/7] Security: Provide copy-up security hooks for unioned files David Howells 2014-11-06 17:46 ` Casey Schaufler 2014-11-07 14:49 ` David Howells 2014-11-07 14:49 ` David Howells 2014-11-07 21:22 ` Paul Moore 2014-11-07 21:22 ` Paul Moore 2014-11-07 22:10 ` David Howells 2014-11-07 22:10 ` David Howells 2014-11-10 15:28 ` Paul Moore 2014-11-10 15:28 ` Paul Moore 2014-11-05 15:42 ` [PATCH 2/7] Overlayfs: Use copy-up security hooks David Howells 2014-11-07 21:39 ` Paul Moore 2014-11-07 21:39 ` Paul Moore 2014-11-07 22:05 ` David Howells 2014-11-07 22:05 ` David Howells 2014-11-10 15:45 ` Paul Moore 2014-11-10 15:45 ` Paul Moore 2014-11-05 15:42 ` [PATCH 3/7] SELinux: Stub in copy-up handling David Howells 2014-11-07 21:44 ` Paul Moore [this message] 2014-11-07 21:44 ` Paul Moore 2014-11-07 22:08 ` David Howells 2014-11-07 22:08 ` David Howells 2014-11-10 15:47 ` Paul Moore 2014-11-10 15:47 ` Paul Moore 2014-11-05 15:42 ` [PATCH 4/7] Security: Pass the union-layer file path into security_file_open() David Howells 2014-11-05 15:43 ` [PATCH 5/7] SELinux: Handle opening of a unioned file David Howells 2014-11-05 16:35 ` Stephen Smalley 2014-11-06 12:03 ` David Howells 2014-11-06 12:03 ` David Howells 2014-11-06 13:13 ` Stephen Smalley 2014-11-06 13:13 ` Stephen Smalley 2014-11-06 13:34 ` David Howells 2014-11-06 13:34 ` David Howells 2014-11-27 14:15 ` David Howells 2014-11-27 14:15 ` David Howells 2014-11-06 12:27 ` David Howells 2014-11-06 12:27 ` David Howells 2014-11-06 12:27 ` David Howells 2014-11-27 17:25 ` David Howells 2014-11-27 17:25 ` David Howells 2015-06-12 15:30 ` David Howells 2015-06-12 15:30 ` David Howells 2015-06-15 12:57 ` Stephen Smalley 2015-06-15 12:57 ` Stephen Smalley 2015-06-16 9:41 ` David Howells 2015-06-16 9:41 ` David Howells 2015-06-16 16:49 ` David Howells 2015-06-16 16:49 ` David Howells 2015-06-16 17:20 ` Stephen Smalley 2015-06-16 17:20 ` Stephen Smalley 2015-06-16 21:34 ` David Howells 2015-06-16 21:34 ` David Howells 2015-06-17 14:44 ` Stephen Smalley 2015-06-17 14:44 ` Stephen Smalley 2015-06-18 10:15 ` David Howells 2015-06-18 10:15 ` David Howells 2015-06-18 12:48 ` Stephen Smalley 2015-06-18 12:48 ` Stephen Smalley 2015-06-18 15:26 ` David Howells 2015-06-18 15:26 ` David Howells 2015-06-18 10:32 ` David Howells 2015-06-18 10:32 ` David Howells 2015-06-18 12:16 ` Stephen Smalley 2015-06-18 12:16 ` Stephen Smalley 2014-11-05 15:43 ` [PATCH 6/7] SELinux: The copy-up operation must have read permission on the lower file David Howells 2014-11-05 16:43 ` Stephen Smalley 2014-11-05 17:54 ` Stephen Smalley 2014-11-06 13:39 ` Stephen Smalley 2014-11-27 14:17 ` David Howells 2014-11-27 14:17 ` David Howells 2014-11-27 14:21 ` David Howells 2014-11-27 14:21 ` David Howells 2014-11-27 14:21 ` David Howells 2014-11-05 15:43 ` [PATCH 7/7] SELinux: Check against union and lower labels for file ops on lower files David Howells 2014-11-06 17:35 ` [PATCH 0/7] Security: Provide unioned file support Casey Schaufler 2014-11-06 17:35 ` Casey Schaufler 2014-11-06 17:58 ` David Howells 2014-11-06 17:58 ` David Howells 2014-11-06 18:40 ` Casey Schaufler 2014-11-06 18:40 ` Casey Schaufler 2014-11-07 15:21 ` David Howells 2014-11-07 15:21 ` David Howells 2014-11-07 18:54 ` Daniel J Walsh 2014-11-07 18:54 ` Daniel J Walsh 2014-11-09 1:31 ` Casey Schaufler 2014-11-09 1:31 ` Casey Schaufler 2014-11-10 13:59 ` Daniel J Walsh 2014-11-10 13:59 ` Daniel J Walsh
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=1791526.rYj1Ea3vWT@sifl \ --to=paul@paul-moore.com \ --cc=dhowells@redhat.com \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-security-module@vger.kernel.org \ --cc=linux-unionfs@vger.kernel.org \ --cc=selinux@tycho.nsa.gov \ /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: linkBe 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.