History

Merge tag 'integrity-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity

Pull integrity updates from Mimi Zohar: "Just two bug fixes" * tag 'integrity-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity: efi: Correct Macmini DMI match in uefi cert quirk ima: fix blocking of security.ima xattrs of unsupported algorithms

Linus Torvalds committed 4 years ago

Commit eafb1212 parents 74a0f84 bab715b2 files · +9 −5Browse files

Unified · Split

2 files
  1. security/integrity/ima/ima_appraise.c +8 −4
  2. security/integrity/platform_certs/load_uefi.c +1 −1
security/integrity/ima/ima_appraise.c+8−4
@@ -750,22 +750,26 @@ int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name, · 749 unmodified lines
750750 const struct evm_ima_xattr_data *xvalue = xattr_value;
751751 int digsig = 0;
752752 int result;
753+ int err;
753754
754755 result = ima_protect_xattr(dentry, xattr_name, xattr_value,
755756 xattr_value_len);
756757 if (result == 1) {
757758 if (!xattr_value_len || (xvalue->type >= IMA_XATTR_LAST))
758759 return -EINVAL;
760+
761+ err = validate_hash_algo(dentry, xvalue, xattr_value_len);
762+ if (err)
763+ return err;
764+
759765 digsig = (xvalue->type == EVM_IMA_XATTR_DIGSIG);
760766 } else if (!strcmp(xattr_name, XATTR_NAME_EVM) && xattr_value_len > 0) {
761767 digsig = (xvalue->type == EVM_XATTR_PORTABLE_DIGSIG);
762768 }
763769 if (result == 1 || evm_revalidate_status(xattr_name)) {
764− result = validate_hash_algo(dentry, xvalue, xattr_value_len);
765− if (result)
766− return result;
767−
768770 ima_reset_appraise_flags(d_backing_inode(dentry), digsig);
771+ if (result == 1)
772+ result = 0;
769773 }
770774 return result;
771775 }
security/integrity/platform_certs/load_uefi.c+1−1
@@ -31,7 +31,7 @@ static const struct dmi_system_id uefi_skip_cert[] = { · 30 unmodified lines
3131 { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir8,1") },
3232 { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir8,2") },
3333 { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir9,1") },
34− { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacMini8,1") },
34+ { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "Macmini8,1") },
3535 { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacPro7,1") },
3636 { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "iMac20,1") },
3737 { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "iMac20,2") },