Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4690592pxf; Tue, 23 Mar 2021 18:05:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzpDwfphxuPadRddtHZZrIAiMGYFFO1EELA59ZKiqDteWK79tFQgLPrGOpzqEN8L9iyvS8k X-Received: by 2002:a17:906:cb87:: with SMTP id mf7mr919814ejb.81.1616547958697; Tue, 23 Mar 2021 18:05:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616547958; cv=none; d=google.com; s=arc-20160816; b=NjH+nQY247puawS3JL8HenJp9d06n1AnMTvD0ED6Ded1RAatlPCW89iN47RsvzQj85 NCk28uuLA3d2Mc9Um/Jao4mxx6hEbL/G8LE0XQwXJiepuZIJ6NhObQu+AjCRii05TGjR LkxzW/LtWwq0frAf5SVhAvfGDDDFN0uLPjWWuPwvzoOz+HLpksutz1+W0IkRT1P9kPxS gO+If5LPIgpvUxXfI3fhHdnwjkr19CRBs7X+F6MANLSmL6zw9e/Y4AVNBCC8RzuKKXlo RvcZCzU61PI0r8ccSSl6G9eN/cws+AIwfGNW+phWsD078FvOFC7Q6xIWy7ruplmJoDiy jjmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=dDhhC5oBQm2NYQtUVgysHpVjuk8Q1dzbZNV9ybjnDNY=; b=SPp72aBi6Te1yZqWegYtd6BNYHgI4znrRxObkOyg6JXORFEnbvN1PxZjaBAqv+Coc7 rjrXlMHRne+lUlotZmiUr9TsKWuy3gIaSV1BXCErCm/UaJF5yogYCTRWlzo196iUYR2O S66iioIU3cC2O5KK3gGtfmduDS0uB/nxzmPoaGt6pd+6KqytR8GAh6m4PMoLfRY6+5Tf bJG+xkmgNmcP/KtzwgjAtOrrUFFrQhOjKO3oLIIZ0d5w80ysmZZf339KWJQnO/nn7jJ1 H8tCacfObZmaetXPRoLfevm/EwEa3VVOVGR5tH68wPy3vnjSvJ5vzDuW0Mn0xPsT0wVM Gz8g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g3si502477ejb.220.2021.03.23.18.05.18; Tue, 23 Mar 2021 18:05:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230481AbhCWNlH (ORCPT + 99 others); Tue, 23 Mar 2021 09:41:07 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:14851 "EHLO szxga07-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231288AbhCWNkp (ORCPT ); Tue, 23 Mar 2021 09:40:45 -0400 Received: from DGGEMS407-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4F4XWh4gnMz92Nc; Tue, 23 Mar 2021 21:38:40 +0800 (CST) Received: from [10.67.110.237] (10.67.110.237) by DGGEMS407-HUB.china.huawei.com (10.3.19.207) with Microsoft SMTP Server id 14.3.498.0; Tue, 23 Mar 2021 21:40:33 +0800 Subject: Re: [PATCH] ima: Fix the error code for restoring the PCR value To: , , , , CC: , , , , , lihuafei References: <20210303032824.124112-1-lihuafei1@huawei.com> From: Li Huafei Message-ID: <9df8d712-0e58-f95d-8f95-5feae2150b42@huawei.com> Date: Tue, 23 Mar 2021 21:40:33 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <20210303032824.124112-1-lihuafei1@huawei.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.110.237] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ping. :-) On 2021/3/3 11:28, Li Huafei wrote: > In ima_restore_measurement_list(), hdr[HDR_PCR].data is pointing to a > buffer of type u8, which contains the dumped 32-bit pcr value. > Currently, only the least significant byte is used to restore the pcr > value. We should convert hdr[HDR_PCR].data to a pointer of type u32 > before fetching the value to restore the correct pcr value. > > Fixes: 47fdee60b47f ("ima: use ima_parse_buf() to parse measurements headers") > Signed-off-by: Li Huafei > --- > security/integrity/ima/ima_template.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/security/integrity/ima/ima_template.c b/security/integrity/ima/ima_template.c > index e22e510ae92d..4e081e650047 100644 > --- a/security/integrity/ima/ima_template.c > +++ b/security/integrity/ima/ima_template.c > @@ -494,8 +494,8 @@ int ima_restore_measurement_list(loff_t size, void *buf) > } > } > > - entry->pcr = !ima_canonical_fmt ? *(hdr[HDR_PCR].data) : > - le32_to_cpu(*(hdr[HDR_PCR].data)); > + entry->pcr = !ima_canonical_fmt ? *(u32 *)(hdr[HDR_PCR].data) : > + le32_to_cpu(*(u32 *)(hdr[HDR_PCR].data)); > ret = ima_restore_measurement_entry(entry); > if (ret < 0) > break; >