mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into for-linus
This commit is contained in:
commit
6c880ad51b
@ -319,9 +319,12 @@ int evm_inode_setxattr(struct dentry *dentry, const char *xattr_name,
|
|||||||
{
|
{
|
||||||
const struct evm_ima_xattr_data *xattr_data = xattr_value;
|
const struct evm_ima_xattr_data *xattr_data = xattr_value;
|
||||||
|
|
||||||
if ((strcmp(xattr_name, XATTR_NAME_EVM) == 0)
|
if (strcmp(xattr_name, XATTR_NAME_EVM) == 0) {
|
||||||
&& (xattr_data->type == EVM_XATTR_HMAC))
|
if (!xattr_value_len)
|
||||||
return -EPERM;
|
return -EINVAL;
|
||||||
|
if (xattr_data->type != EVM_IMA_XATTR_DIGSIG)
|
||||||
|
return -EPERM;
|
||||||
|
}
|
||||||
return evm_protect_xattr(dentry, xattr_name, xattr_value,
|
return evm_protect_xattr(dentry, xattr_name, xattr_value,
|
||||||
xattr_value_len);
|
xattr_value_len);
|
||||||
}
|
}
|
||||||
|
@ -378,6 +378,8 @@ int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name,
|
|||||||
result = ima_protect_xattr(dentry, xattr_name, xattr_value,
|
result = ima_protect_xattr(dentry, xattr_name, xattr_value,
|
||||||
xattr_value_len);
|
xattr_value_len);
|
||||||
if (result == 1) {
|
if (result == 1) {
|
||||||
|
if (!xattr_value_len || (xvalue->type >= IMA_XATTR_LAST))
|
||||||
|
return -EINVAL;
|
||||||
ima_reset_appraise_flags(dentry->d_inode,
|
ima_reset_appraise_flags(dentry->d_inode,
|
||||||
(xvalue->type == EVM_IMA_XATTR_DIGSIG) ? 1 : 0);
|
(xvalue->type == EVM_IMA_XATTR_DIGSIG) ? 1 : 0);
|
||||||
result = 0;
|
result = 0;
|
||||||
|
@ -61,6 +61,7 @@ enum evm_ima_xattr_type {
|
|||||||
EVM_XATTR_HMAC,
|
EVM_XATTR_HMAC,
|
||||||
EVM_IMA_XATTR_DIGSIG,
|
EVM_IMA_XATTR_DIGSIG,
|
||||||
IMA_XATTR_DIGEST_NG,
|
IMA_XATTR_DIGEST_NG,
|
||||||
|
IMA_XATTR_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
struct evm_ima_xattr_data {
|
struct evm_ima_xattr_data {
|
||||||
|
Loading…
Reference in New Issue
Block a user