From patchwork Tue Jul 2 11:39:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gilad Ben-Yossef X-Patchwork-Id: 168321 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp4138181ilk; Tue, 2 Jul 2019 04:39:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqyBMp/pWbRopxEra0J6ij9PXp4hidqslbCxTgbW6UYpthTFE2g5965jU3MYDW0xPB33CZRa X-Received: by 2002:a65:62c4:: with SMTP id m4mr29517724pgv.243.1562067578963; Tue, 02 Jul 2019 04:39:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562067578; cv=none; d=google.com; s=arc-20160816; b=f5csMVHUfcArOwO1ByuWazHbO+hRznhfiPZtmYZupdD7In15XOm43t0YX+VVDNPaf+ op8gNwSnzWy+cw7s9bXbzOW1BAFx/UJLPOCY+Xo1UpFxYVs0ECY0DHk6TJcbnckDsL0z 9VsWco1E9N/y0qtbrdNQNBTkY++Kv+QxvSM95HxKzu7YKWSB7fquRisZFiRwrJKnb1wn qK5EqXQJq5loldW9d8gw7QNvOq/5O3Dz0PpBm3WMLYeoHfFbZA+8FgyAvuss2Q2PHxLy WUOnC3TTkmBmzljq8kLRcCQjzLpSoUCOyH4wCN2N/8oiXpe9y+UHkuWk4LhhOXizF+Qt 2ceQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=9TtOX1eRW9TkRP7iNnO8AU2B9wmKKMcGMJpkrIQudYo=; b=nQGj4p5B+AgB8aqdiRhTG8i3vwl9POE5aKeJ16GUkY9s7quX9m2WyWHniosvSoy4dy 0zvQS5pXWaEXEYw2+0kUfIahOXUkFFcDLLkDIhAidwSWKhT7FHrph144swv2dxAUcBSG GcjS358it1zAA84X5hyYD5LboNZFYH36+cpEbK8UxC4AdR7jY8jTxwaQFfH0X+dJBjMe eGyrIp92vfpq3qVdYWX7egHDTDQFAe/6u6af4rU6CtPH1yZz7kKQ6C98t8WtFuHlDaZr 7XlK9HLYkL5Y1nEtaegiun518/wDvjQXaHoF5ZuL1Q1M1rZzE/Axhyr2zlDLPpqY9YvO c9BQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h127si12587294pgc.176.2019.07.02.04.39.38; Tue, 02 Jul 2019 04:39:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726825AbfGBLjh (ORCPT + 14 others); Tue, 2 Jul 2019 07:39:37 -0400 Received: from foss.arm.com ([217.140.110.172]:48110 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725868AbfGBLjh (ORCPT ); Tue, 2 Jul 2019 07:39:37 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 85B84344; Tue, 2 Jul 2019 04:39:36 -0700 (PDT) Received: from e110176-lin.kfn.arm.com (unknown [10.50.4.178]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 27EF93F246; Tue, 2 Jul 2019 04:39:34 -0700 (PDT) From: Gilad Ben-Yossef To: Herbert Xu , "David S. Miller" Cc: Ofir Drang , stable@vger.kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] crypto: ccree: account for TEE not ready to report Date: Tue, 2 Jul 2019 14:39:19 +0300 Message-Id: <20190702113922.24911-3-gilad@benyossef.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190702113922.24911-1-gilad@benyossef.com> References: <20190702113922.24911-1-gilad@benyossef.com> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org When ccree driver runs it checks the state of the Trusted Execution Environment CryptoCell driver before proceeding. We did not account for cases where the TEE side is not ready or not available at all. Fix it by only considering TEE error state after sync with the TEE side driver. Signed-off-by: Gilad Ben-Yossef Fixes: ab8ec9658f5a ("crypto: ccree - add FIPS support") CC: stable@vger.kernel.org # v4.17+ --- drivers/crypto/ccree/cc_fips.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) -- 2.21.0 diff --git a/drivers/crypto/ccree/cc_fips.c b/drivers/crypto/ccree/cc_fips.c index 5ad3ffb7acaa..040e09c0e1af 100644 --- a/drivers/crypto/ccree/cc_fips.c +++ b/drivers/crypto/ccree/cc_fips.c @@ -21,7 +21,13 @@ static bool cc_get_tee_fips_status(struct cc_drvdata *drvdata) u32 reg; reg = cc_ioread(drvdata, CC_REG(GPR_HOST)); - return (reg == (CC_FIPS_SYNC_TEE_STATUS | CC_FIPS_SYNC_MODULE_OK)); + /* Did the TEE report status? */ + if (reg & CC_FIPS_SYNC_TEE_STATUS) + /* Yes. Is it OK? */ + return (reg & CC_FIPS_SYNC_MODULE_OK); + + /* No. It's either not in use or will be reported later */ + return true; } /*