From: Roberto Sassu Date: Tue, 14 Apr 2020 08:01:31 +0000 (+0200) Subject: evm: Fix possible memory leak in evm_calc_hmac_or_hash() X-Git-Tag: v5.8-rc1~119^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0c4395fb2aa77341269ea619c5419ea48171883f;p=thirdparty%2Flinux.git evm: Fix possible memory leak in evm_calc_hmac_or_hash() Don't immediately return if the signature is portable and security.ima is not present. Just set error so that memory allocated is freed before returning from evm_calc_hmac_or_hash(). Fixes: 50b977481fce9 ("EVM: Add support for portable signature format") Signed-off-by: Roberto Sassu Cc: stable@vger.kernel.org Signed-off-by: Mimi Zohar --- diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/evm_crypto.c index 35682852ddea9..499ea01b2edc7 100644 --- a/security/integrity/evm/evm_crypto.c +++ b/security/integrity/evm/evm_crypto.c @@ -241,7 +241,7 @@ static int evm_calc_hmac_or_hash(struct dentry *dentry, /* Portable EVM signatures must include an IMA hash */ if (type == EVM_XATTR_PORTABLE_DIGSIG && !ima_present) - return -EPERM; + error = -EPERM; out: kfree(xattr_value); kfree(desc);