summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2018-06-11 16:23:40 +0100
committerMark Brown <broonie@kernel.org>2018-06-11 16:23:40 +0100
commit6a7e8a0fcb9091a7a1a66c2dd7cfbbb930cd41db (patch)
tree033a4abf3c646ae20b97fb5847810e3fd8b80139 /security
parenta794bca783fd36c5d3da00fc99a54deac92d4702 (diff)
parentdc45cafe612ec6960fe728f3260a0b751c73f4aa (diff)
Merge tag 'v4.4.136' into linux-linaro-lsk-v4.4
This is the 4.4.136 stable release
Diffstat (limited to 'security')
-rw-r--r--security/integrity/ima/ima_appraise.c8
-rw-r--r--security/selinux/ss/services.c2
2 files changed, 3 insertions, 7 deletions
diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
index 8da7c91b725d..c36b98b07d6b 100644
--- a/security/integrity/ima/ima_appraise.c
+++ b/security/integrity/ima/ima_appraise.c
@@ -383,14 +383,10 @@ int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name,
result = ima_protect_xattr(dentry, xattr_name, xattr_value,
xattr_value_len);
if (result == 1) {
- bool digsig;
-
if (!xattr_value_len || (xvalue->type >= IMA_XATTR_LAST))
return -EINVAL;
- digsig = (xvalue->type == EVM_IMA_XATTR_DIGSIG);
- if (!digsig && (ima_appraise & IMA_APPRAISE_ENFORCE))
- return -EPERM;
- ima_reset_appraise_flags(d_backing_inode(dentry), digsig);
+ ima_reset_appraise_flags(d_backing_inode(dentry),
+ (xvalue->type == EVM_IMA_XATTR_DIGSIG) ? 1 : 0);
result = 0;
}
return result;
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index 23dca68ffe25..0a258c0602d1 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -1441,7 +1441,7 @@ static int security_context_to_sid_core(const char *scontext, u32 scontext_len,
scontext_len, &context, def_sid);
if (rc == -EINVAL && force) {
context.str = str;
- context.len = scontext_len;
+ context.len = strlen(str) + 1;
str = NULL;
} else if (rc)
goto out_unlock;