From patchwork Thu Nov 24 13:55:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lino Sanfilippo X-Patchwork-Id: 25538 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3410492wrr; Thu, 24 Nov 2022 05:57:12 -0800 (PST) X-Google-Smtp-Source: AA0mqf6xf1plcL2fZWIFyesjtSsMiEgYrDxMADeNzDq/RUA6jlG7KU6Od1JcKaJq6SzkIKVFf0I+ X-Received: by 2002:a17:906:6d88:b0:7ad:b86b:3ff with SMTP id h8-20020a1709066d8800b007adb86b03ffmr29008562ejt.448.1669298232417; Thu, 24 Nov 2022 05:57:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669298232; cv=none; d=google.com; s=arc-20160816; b=y0xCG5m1KiLezEgeX2GFDLmW76uEGuUM7S85fqIzbrdqivnJ6zA9hXziCCVuHtWiu7 W7BMMHwFr1sX8twSL9EMUEEzuCM2RjQVOg5LWglpKvfO4sqoWFFekym77lX1MNpCM5PB 9UV7OyaRai5UivhnuD4l2z7H3i5+u1k8zAknnnAYCurxYZxWJBcYLF7Lsiw8UEn6Y4fj wt8frc2U5MP2YmZJSfUOGJH9JW+2FyxRR8HscD3MgiD4aCzhjM4wjouTCb4VRnQrH3PN I2LJ8Lp3xuFNhUnl9bbaGqrSBXtHt3T7EGCHN/zrHyHSIivaGs3BPyl88qifJzfdzdI1 1Wuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:ui-outboundreport:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=KYgm8KRRqsXZGdn21yoPTnrJv96Ne6lqyUqKM2FAIYk=; b=pSEAKHWbRr8fewB5fU5U1uslsxhFX0P5p8TgRMRKff5r9YRYuAtVLCnC9nfPR29Huq vZjw23QfxyuN2ZTux43q8CQH6VeBg/DzkIxQsRaWtsccv/2XaSDHW4woIDFMZk2TiZSD ZWp99N8moa06rkATx5nVVq6vJqyLHgvaFFekvUW7/x9zehETrhmbNenXPPUDCkk06lMg sI43SdXAp/YZMjbboy+2oYcYYmOVb+wqvlXix/zZUhjF7XXeSbCGz9FSO5nedso+FzzL CI+qzGNiUOK9dIuEGnwaGA+zGFm/JqR2tzyAnq4Dtl3EBQ7PMOsrEmqguCknvvD5KK+Z BOAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=l3aJvhaS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmx.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dr5-20020a170907720500b0078dc5c888f1si1208989ejc.135.2022.11.24.05.56.47; Thu, 24 Nov 2022 05:57:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=l3aJvhaS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmx.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230120AbiKXN4g (ORCPT + 99 others); Thu, 24 Nov 2022 08:56:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49426 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229453AbiKXN4c (ORCPT ); Thu, 24 Nov 2022 08:56:32 -0500 Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D2D4FCDE5; Thu, 24 Nov 2022 05:56:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1669298172; bh=KYgm8KRRqsXZGdn21yoPTnrJv96Ne6lqyUqKM2FAIYk=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=l3aJvhaSv1q0D+rXI60cI/Ma/anYl/lkYrN80NC1/0UTnepJGz5pH5nnaoGzmzMsI kzDRZ9wfyYQ6g33KPjVvOj+sApYyCFRQxoJxcalz1yVrVoz1wS0cqMd1w4+vTp8vHJ 8t+g0DxSyqcgDd9YjNiHTTNTUKYne8cYShzHrZPo29G1FIZjWJpfmbgzFl8PpccO4k mFw9w7C1hmEHp0oVMCVz3c/E4bqeauKGwwAF2JuQTTb+Rwqm3fmieAVwauPC+VlawG oaJfVGS6Onu+ahQGtJwkIlgtxkyu3ac1N/HfMsDUSqWBjucrTN7eSa0RN4l/QeSXyR 2LWZtRLX9R9Dw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from Venus.speedport.ip ([84.162.7.17]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MybGh-1p7slF2snt-00z1Ur; Thu, 24 Nov 2022 14:56:12 +0100 From: Lino Sanfilippo To: peterhuewe@gmx.de, jarkko@kernel.org, jgg@ziepe.ca Cc: stefanb@linux.vnet.ibm.com, linux@mniewoehner.de, linux-integrity@vger.kernel.org, linux-kernel@vger.kernel.org, jandryuk@gmail.com, pmenzel@molgen.mpg.de, l.sanfilippo@kunbus.com, LinoSanfilippo@gmx.de, lukas@wunner.de, p.rosenberger@kunbus.com Subject: [PATCH v11 08/14] tpm, tpm_tis: do not check for the active locality in interrupt handler Date: Thu, 24 Nov 2022 14:55:32 +0100 Message-Id: <20221124135538.31020-9-LinoSanfilippo@gmx.de> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20221124135538.31020-1-LinoSanfilippo@gmx.de> References: <20221124135538.31020-1-LinoSanfilippo@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:YZiUudcwOuChyLmzP4dwIkl3/awLNQ8KvBhXt/WodxMvdwl6lqo LlvMEiHfeu8ijXYdt5z3l1dJ8nClGm3ZE/fOr0XUIvycnjXXKIE/a9nSTHWz2Lx7j+PLOFz UoIsae9eEmaE265WB9dK/wPWCsVS9zLGWYpPzJeKKcPyOki2TCwCFwMxS9j9TLKqdr2dVZb 5S/AFQr/uIehx5tMNoMZg== UI-OutboundReport: notjunk:1;M01:P0:6fJmel/inqo=;Xf58vLAIKBd8FABsoQ2j5E1vpHB Pm6ssHhRUxLjlzXsLBNl2lVwOC0N/daWFx+PkqgPMJk5A1EQDCpiyPpEluUKiZEv1P5KXQrIM aceYNzDS2M2CAa5f88BD8MtIosfhLQUC5GGCvgUvKg66ch57MUHZqfORiRgdjhYjS1Zb/SDIo 2DjUWlkneDzOkdEHYrybkVSgDKLyCwWE99qx4LvL4yZSIYlLjj4MgJT7wJmbIZ3NMflV1zSqU lq1fxrkmQAxYQEzt2gVdQslzl7qMuCRjpT40xBA9qKXaLgEycj2CqviIWmTKoOx99Ajf5qqKZ yD9ZHYL3ab706mtUUesc2ZjVIw+MbwkbCRgxrirQd4Sa9QRiyOXGB55CxJr1AwrHA7xNnvxCR tIF74Ul9W/NoVCTtxPjLv3jTd6bK4lSeIXqCvUUR0q+FRSX6weFKB6i8gzqeUFJhvpszziTPc 7rS+nrqTMU3XdFkBnW20reV1f7bvtJf4tekEXyq1rHQATYKphAIzxe/OycuXWoYibJs2I+rWy ZaPkA0gkmtVCrFYwPxY673u4j7exBZyOCx8kgfTfbz5gbs8dH85dmcs7KKyMtZYliJD44PYl5 eZFgvh1rhgq9vHBfuh1WAs6VlzOjEn50IvW/Gj1qhflSdG90eLUARCPe0L56Z8EupCaDBYZ1/ dtYf8tYpz01YAUefzdtkXkDuTatW5iS9J9rbRb8l6a19Y4jl+xKVa1QzUp2MbN59lv3d9u6X7 gX7LY/neHAwh39NVD6z6p0fR6yCtjA6Ytz2LOIrC+2jLT7vWB6sZzjQUd+vhi8SVq2ULyGwYf nhNXQVy/dMTex496Sfs/vvLMW0nrNgNPdSaFf4skJy0ICO42cMITdLUyXw8hWdyiybnFOvm2v DlrKXyEbRxQAxi3HWByT84Py+MENN+J+TowiEKUJD4CdFV6rAjX61xgNrPHFK/FQkCUkFsvdC J9jXqg== X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,MIME_BASE64_TEXT, RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750386063503629353?= X-GMAIL-MSGID: =?utf-8?q?1750386063503629353?= From: Lino Sanfilippo After driver initialization tpm_tis_data->locality may only be modified in case of a LOCALITY CHANGE interrupt. In this case the interrupt handler iterates over all localities only to assign the active one to tpm_tis_data->locality. However this information is never used any more, so the assignment is not needed. Furthermore without the assignment tpm_tis_data->locality cannot change any more at driver runtime, and thus no protection against concurrent modification is required when the variable is read at other places. So remove this iteration entirely. Signed-off-by: Lino Sanfilippo Acked-by: Jarkko Sakkinen --- drivers/char/tpm/tpm_tis_core.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c index 65d1ec7eb4c3..d705dfb64cf9 100644 --- a/drivers/char/tpm/tpm_tis_core.c +++ b/drivers/char/tpm/tpm_tis_core.c @@ -728,7 +728,7 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id) struct tpm_chip *chip = dev_id; struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev); u32 interrupt; - int i, rc; + int rc; rc = tpm_tis_read32(priv, TPM_INT_STATUS(priv->locality), &interrupt); if (rc < 0) @@ -740,10 +740,7 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id) set_bit(TPM_TIS_IRQ_TESTED, &priv->flags); if (interrupt & TPM_INTF_DATA_AVAIL_INT) wake_up_interruptible(&priv->read_queue); - if (interrupt & TPM_INTF_LOCALITY_CHANGE_INT) - for (i = 0; i < 5; i++) - if (check_locality(chip, i)) - break; + if (interrupt & (TPM_INTF_LOCALITY_CHANGE_INT | TPM_INTF_STS_VALID_INT | TPM_INTF_CMD_READY_INT))