From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mimi Zohar Subject: Re: [Linux-ima-devel] [PATCH v2 4/5] keys, trusted: modify arguments of tpm_pcr_extend() Date: Mon, 29 May 2017 23:35:37 -0400 Message-ID: <1496115337.3841.485.camel@linux.vnet.ibm.com> References: <20170505142152.29795-1-roberto.sassu@huawei.com> <20170505142152.29795-5-roberto.sassu@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20170505142152.29795-5-roberto.sassu@huawei.com> Sender: owner-linux-security-module@vger.kernel.org To: Roberto Sassu , tpmdd-devel@lists.sourceforge.net Cc: linux-ima-devel@lists.sourceforge.net, linux-security-module@vger.kernel.org, keyrings@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: tpmdd-devel@lists.sourceforge.net On Fri, 2017-05-05 at 16:21 +0200, Roberto Sassu wrote: > pcrlock() has been modified to pass the correct arguments > to tpm_pcr_extend(): the pointer of a tpm2_digest structure containing > a random value generated by tpm_get_random() and the size of the array (1). If the number of arguments is wrong, that means the patch that introduced the change is not bi-sect safe.  (This comment is applicable to patch 5/5 too.) Mimi > Signed-off-by: Roberto Sassu > --- > security/keys/trusted.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/security/keys/trusted.c b/security/keys/trusted.c > index 2ae31c5..3eb89e6 100644 > --- a/security/keys/trusted.c > +++ b/security/keys/trusted.c > @@ -377,15 +377,15 @@ static int trusted_tpm_send(const u32 chip_num, unsigned char *cmd, > */ > static int pcrlock(const int pcrnum) > { > - unsigned char hash[SHA1_DIGEST_SIZE]; > + struct tpm2_digest digestarg = {.alg_id = TPM2_ALG_SHA1}; > int ret; > > if (!capable(CAP_SYS_ADMIN)) > return -EPERM; > - ret = tpm_get_random(TPM_ANY_NUM, hash, SHA1_DIGEST_SIZE); > + ret = tpm_get_random(TPM_ANY_NUM, digestarg.digest, SHA1_DIGEST_SIZE); > if (ret != SHA1_DIGEST_SIZE) > return ret; > - return tpm_pcr_extend(TPM_ANY_NUM, pcrnum, hash) ? -EINVAL : 0; > + return tpm_pcr_extend(TPM_ANY_NUM, pcrnum, 1, &digestarg) ? -EINVAL : 0; > } > > /*