forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'selinux-pr-20170831' of git://git.kernel.org/pub/scm/linux…
…/kernel/git/pcmoore/selinux Pull selinux updates from Paul Moore: "A relatively quiet period for SELinux, 11 patches with only two/three having any substantive changes. These noteworthy changes include another tweak to the NNP/nosuid handling, per-file labeling for cgroups, and an object class fix for AF_UNIX/SOCK_RAW sockets; the rest of the changes are minor tweaks or administrative updates (Stephen's email update explains the file explosion in the diffstat). Everything passes the selinux-testsuite" [ Also a couple of small patches from the security tree from Tetsuo Handa for Tomoyo and LSM cleanup. The separation of security policy updates wasn't all that clean - Linus ] * tag 'selinux-pr-20170831' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux: selinux: constify nf_hook_ops selinux: allow per-file labeling for cgroupfs lsm_audit: update my email address selinux: update my email address MAINTAINERS: update the NetLabel and Labeled Networking information selinux: use GFP_NOWAIT in the AVC kmem_caches selinux: Generalize support for NNP/nosuid SELinux domain transitions selinux: genheaders should fail if too many permissions are defined selinux: update the selinux info in MAINTAINERS credits: update Paul Moore's info selinux: Assign proper class to PF_UNIX/SOCK_RAW sockets tomoyo: Update URLs in Documentation/admin-guide/LSM/tomoyo.rst LSM: Remove security_task_create() hook.
- Loading branch information
Showing
36 changed files
with
117 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2606,11 +2606,9 @@ E: [email protected] | |
D: bug fixes, documentation, minor hackery | ||
|
||
N: Paul Moore | ||
E: [email protected] | ||
D: NetLabel author | ||
S: Hewlett-Packard | ||
S: 110 Spit Brook Road | ||
S: Nashua, NH 03062 | ||
E: [email protected] | ||
W: http://www.paul-moore.com | ||
D: NetLabel, SELinux, audit | ||
|
||
N: James Morris | ||
E: [email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9298,15 +9298,6 @@ F: net/*/netfilter/ | |
F: net/netfilter/ | ||
F: net/bridge/br_netfilter*.c | ||
|
||
NETLABEL | ||
M: Paul Moore <[email protected]> | ||
W: http://netlabel.sf.net | ||
L: [email protected] | ||
S: Maintained | ||
F: Documentation/netlabel/ | ||
F: include/net/netlabel.h | ||
F: net/netlabel/ | ||
|
||
NETROM NETWORK LAYER | ||
M: Ralf Baechle <[email protected]> | ||
L: [email protected] | ||
|
@@ -9434,10 +9425,23 @@ F: net/ipv6/ | |
F: include/net/ip* | ||
F: arch/x86/net/* | ||
|
||
NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK) | ||
NETWORKING [LABELED] (NetLabel, Labeled IPsec, SECMARK) | ||
M: Paul Moore <[email protected]> | ||
W: https://github.com/netlabel | ||
L: [email protected] | ||
L: [email protected] | ||
S: Maintained | ||
F: Documentation/netlabel/ | ||
F: include/net/calipso.h | ||
F: include/net/cipso_ipv4.h | ||
F: include/net/netlabel.h | ||
F: include/uapi/linux/netfilter/xt_SECMARK.h | ||
F: include/uapi/linux/netfilter/xt_CONNSECMARK.h | ||
F: net/netlabel/ | ||
F: net/ipv4/cipso_ipv4.c | ||
F: net/ipv6/calipso.c | ||
F: net/netfilter/xt_CONNSECMARK.c | ||
F: net/netfilter/xt_SECMARK.c | ||
|
||
NETWORKING [TLS] | ||
M: Ilya Lesokhin <[email protected]> | ||
|
@@ -12023,8 +12027,9 @@ M: Paul Moore <[email protected]> | |
M: Stephen Smalley <[email protected]> | ||
M: Eric Paris <[email protected]> | ||
L: [email protected] (moderated for non-subscribers) | ||
W: http://selinuxproject.org | ||
T: git git://git.infradead.org/users/pcmoore/selinux | ||
W: https://selinuxproject.org | ||
W: https://github.com/SELinuxProject | ||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git | ||
S: Supported | ||
F: include/linux/selinux* | ||
F: security/selinux/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
* | ||
* Author : Etienne BASSET <[email protected]> | ||
* | ||
* All credits to : Stephen Smalley, <sds@epoch.ncsc.mil> | ||
* All credits to : Stephen Smalley, <sds@tycho.nsa.gov> | ||
* All BUGS to : Etienne BASSET <[email protected]> | ||
*/ | ||
#ifndef _LSM_COMMON_LOGGING_ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
* common LSM auditing functions | ||
* | ||
* Based on code written for SELinux by : | ||
* Stephen Smalley, <sds@epoch.ncsc.mil> | ||
* Stephen Smalley, <sds@tycho.nsa.gov> | ||
* James Morris <[email protected]> | ||
* Author : Etienne Basset, <[email protected]> | ||
* | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
/* | ||
* Implementation of the kernel access vector cache (AVC). | ||
* | ||
* Authors: Stephen Smalley, <sds@epoch.ncsc.mil> | ||
* Authors: Stephen Smalley, <sds@tycho.nsa.gov> | ||
* James Morris <[email protected]> | ||
* | ||
* Update: KaiGai, Kohei <[email protected]> | ||
|
@@ -346,27 +346,26 @@ static struct avc_xperms_decision_node | |
struct avc_xperms_decision_node *xpd_node; | ||
struct extended_perms_decision *xpd; | ||
|
||
xpd_node = kmem_cache_zalloc(avc_xperms_decision_cachep, | ||
GFP_ATOMIC | __GFP_NOMEMALLOC); | ||
xpd_node = kmem_cache_zalloc(avc_xperms_decision_cachep, GFP_NOWAIT); | ||
if (!xpd_node) | ||
return NULL; | ||
|
||
xpd = &xpd_node->xpd; | ||
if (which & XPERMS_ALLOWED) { | ||
xpd->allowed = kmem_cache_zalloc(avc_xperms_data_cachep, | ||
GFP_ATOMIC | __GFP_NOMEMALLOC); | ||
GFP_NOWAIT); | ||
if (!xpd->allowed) | ||
goto error; | ||
} | ||
if (which & XPERMS_AUDITALLOW) { | ||
xpd->auditallow = kmem_cache_zalloc(avc_xperms_data_cachep, | ||
GFP_ATOMIC | __GFP_NOMEMALLOC); | ||
GFP_NOWAIT); | ||
if (!xpd->auditallow) | ||
goto error; | ||
} | ||
if (which & XPERMS_DONTAUDIT) { | ||
xpd->dontaudit = kmem_cache_zalloc(avc_xperms_data_cachep, | ||
GFP_ATOMIC | __GFP_NOMEMALLOC); | ||
GFP_NOWAIT); | ||
if (!xpd->dontaudit) | ||
goto error; | ||
} | ||
|
@@ -394,8 +393,7 @@ static struct avc_xperms_node *avc_xperms_alloc(void) | |
{ | ||
struct avc_xperms_node *xp_node; | ||
|
||
xp_node = kmem_cache_zalloc(avc_xperms_cachep, | ||
GFP_ATOMIC|__GFP_NOMEMALLOC); | ||
xp_node = kmem_cache_zalloc(avc_xperms_cachep, GFP_NOWAIT); | ||
if (!xp_node) | ||
return xp_node; | ||
INIT_LIST_HEAD(&xp_node->xpd_head); | ||
|
@@ -548,7 +546,7 @@ static struct avc_node *avc_alloc_node(void) | |
{ | ||
struct avc_node *node; | ||
|
||
node = kmem_cache_zalloc(avc_node_cachep, GFP_ATOMIC|__GFP_NOMEMALLOC); | ||
node = kmem_cache_zalloc(avc_node_cachep, GFP_NOWAIT); | ||
if (!node) | ||
goto out; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ | |
* | ||
* This file contains the SELinux hook function implementations. | ||
* | ||
* Authors: Stephen Smalley, <sds@epoch.ncsc.mil> | ||
* Authors: Stephen Smalley, <sds@tycho.nsa.gov> | ||
* Chris Vance, <[email protected]> | ||
* Wayne Salamon, <[email protected]> | ||
* James Morris <[email protected]> | ||
|
@@ -815,7 +815,9 @@ static int selinux_set_mnt_opts(struct super_block *sb, | |
if (!strcmp(sb->s_type->name, "debugfs") || | ||
!strcmp(sb->s_type->name, "tracefs") || | ||
!strcmp(sb->s_type->name, "sysfs") || | ||
!strcmp(sb->s_type->name, "pstore")) | ||
!strcmp(sb->s_type->name, "pstore") || | ||
!strcmp(sb->s_type->name, "cgroup") || | ||
!strcmp(sb->s_type->name, "cgroup2")) | ||
sbsec->flags |= SE_SBGENFS; | ||
|
||
if (!sbsec->behavior) { | ||
|
@@ -1303,6 +1305,7 @@ static inline u16 socket_type_to_security_class(int family, int type, int protoc | |
case SOCK_SEQPACKET: | ||
return SECCLASS_UNIX_STREAM_SOCKET; | ||
case SOCK_DGRAM: | ||
case SOCK_RAW: | ||
return SECCLASS_UNIX_DGRAM_SOCKET; | ||
} | ||
break; | ||
|
@@ -2317,6 +2320,7 @@ static int check_nnp_nosuid(const struct linux_binprm *bprm, | |
int nnp = (bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS); | ||
int nosuid = !mnt_may_suid(bprm->file->f_path.mnt); | ||
int rc; | ||
u32 av; | ||
|
||
if (!nnp && !nosuid) | ||
return 0; /* neither NNP nor nosuid */ | ||
|
@@ -2325,24 +2329,40 @@ static int check_nnp_nosuid(const struct linux_binprm *bprm, | |
return 0; /* No change in credentials */ | ||
|
||
/* | ||
* The only transitions we permit under NNP or nosuid | ||
* are transitions to bounded SIDs, i.e. SIDs that are | ||
* guaranteed to only be allowed a subset of the permissions | ||
* of the current SID. | ||
* If the policy enables the nnp_nosuid_transition policy capability, | ||
* then we permit transitions under NNP or nosuid if the | ||
* policy allows the corresponding permission between | ||
* the old and new contexts. | ||
*/ | ||
rc = security_bounded_transition(old_tsec->sid, new_tsec->sid); | ||
if (rc) { | ||
/* | ||
* On failure, preserve the errno values for NNP vs nosuid. | ||
* NNP: Operation not permitted for caller. | ||
* nosuid: Permission denied to file. | ||
*/ | ||
if (selinux_policycap_nnp_nosuid_transition) { | ||
av = 0; | ||
if (nnp) | ||
return -EPERM; | ||
else | ||
return -EACCES; | ||
av |= PROCESS2__NNP_TRANSITION; | ||
if (nosuid) | ||
av |= PROCESS2__NOSUID_TRANSITION; | ||
rc = avc_has_perm(old_tsec->sid, new_tsec->sid, | ||
SECCLASS_PROCESS2, av, NULL); | ||
if (!rc) | ||
return 0; | ||
} | ||
return 0; | ||
|
||
/* | ||
* We also permit NNP or nosuid transitions to bounded SIDs, | ||
* i.e. SIDs that are guaranteed to only be allowed a subset | ||
* of the permissions of the current SID. | ||
*/ | ||
rc = security_bounded_transition(old_tsec->sid, new_tsec->sid); | ||
if (!rc) | ||
return 0; | ||
|
||
/* | ||
* On failure, preserve the errno values for NNP vs nosuid. | ||
* NNP: Operation not permitted for caller. | ||
* nosuid: Permission denied to file. | ||
*/ | ||
if (nnp) | ||
return -EPERM; | ||
return -EACCES; | ||
} | ||
|
||
static int selinux_bprm_set_creds(struct linux_binprm *bprm) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.