From patchwork Mon Oct 17 23:57:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lino Sanfilippo X-Patchwork-Id: 3854 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp1700203wrs; Mon, 17 Oct 2022 17:10:32 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5fOulkZxzv16S4BkLde5EmRY0YpAAcLSNIUVb/w7sIVtJV0SmVYmaA9W8XznQtYw90H+li X-Received: by 2002:a17:907:805:b0:782:1a0d:337f with SMTP id wv5-20020a170907080500b007821a0d337fmr191173ejb.475.1666051832421; Mon, 17 Oct 2022 17:10:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666051832; cv=none; d=google.com; s=arc-20160816; b=fIFFAYPdaBtJbjSyxQYNgp+Zb5+hltgA3C21+AaDMdZBMzd7meF32e9UuslrJcEByU A30tkE5I5zVeHDtEU9IAy2IR/uabVbNUa0gtiO9i0XBwLdr30VnW0+DfbCmAtZX9riCh Z1EVyVXg6RwEMyRLx/Gj5fDgqzy2lcxRTeBssVpwwL6X4wbZYExbouUxF2cdx59cDpW7 /U02h/zA3UmUBl6j+MW/W/rTlgWik7IioT8BMp61TOdIe55FZ6Z0M5Qvbv5XdMG2EJQg afrAvEpo5IwIdurriNnmLF6dJqZnvpfPYjo5zSSAfgMuqb1fkeF7/U6k49SsNfNfRaLk lYpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=PbG1OYX6Y4kEPBzVrb+ulM+TX4iJNklZW45J9wC/7KE=; b=XOe9t00UMrfmS0A5GUarF3goNekxlaxMlVwwg0dHZOIhE+rcgoSLweeaG9JA+cJAHA /G18GGkSGsnPOBOmUo52xLYtDzUxlz0nj7SMsp25VvXt4GCtHWDrqC4sK/YaqZsuABWt gdzrYjLZLJzpMG9MR7GzNkHGM04fHp0aXOzMQDSHepzbn/UIAqrAdPB+Y6VmId7F56tc T5kWkavFnnzSD2NLzXVzzUBNUs7evWqZntDIQZ/KCL9vadReY/+SvDGBe31FIfe/Pp3q w2TCSB4KqVA59jeEyquEmoSLcK1r2xXASqyOrj1cLZlaaT4Gc4cXSKC76PTakHO9j7yj eZJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=KGtWOlMG; 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=fail (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 v7-20020a50d587000000b00459afcf8354si10149414edi.243.2022.10.17.17.10.07; Mon, 17 Oct 2022 17:10:32 -0700 (PDT) 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.net header.s=badeba3b8450 header.b=KGtWOlMG; 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=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231429AbiJQX65 (ORCPT + 99 others); Mon, 17 Oct 2022 19:58:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38960 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231194AbiJQX6U (ORCPT ); Mon, 17 Oct 2022 19:58:20 -0400 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 076B48680F; Mon, 17 Oct 2022 16:58:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1666051073; bh=PbG1OYX6Y4kEPBzVrb+ulM+TX4iJNklZW45J9wC/7KE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=KGtWOlMGgNx7n09+tKlPuD6lxv3cZbh2ucucazoy9nsOts6rTDFQXDvFgjHBxrMnW MmtyxzbrPcv90argVqs7cLTJva56fODUm3Q5sVSseyK9hUgwsOJjZiXrBRHLX5OVqA c1zURgJ6uenfI+S+t0uALGz6mdmw+A6E6CkaTgBY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from Venus.speedport.ip ([84.162.5.241]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MAOJP-1orPlC2ldD-00Bpcr; Tue, 18 Oct 2022 01:57:53 +0200 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 v8 10/11] tpm, tpm_tis: Claim locality in interrupt handler Date: Tue, 18 Oct 2022 01:57:31 +0200 Message-Id: <20221017235732.10145-11-LinoSanfilippo@gmx.de> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20221017235732.10145-1-LinoSanfilippo@gmx.de> References: <20221017235732.10145-1-LinoSanfilippo@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:+Q245lTUnEiVujLhjvtNoaAeMRZ564XmmtJA1FOAgd1QoYjag6I ucpHK1Neq2jBwcV5z02NNlIfrQyxyLdDLMY6NuRvAX77OBG4YVr38aba8tkpAywHJbsMc43 HbTOPzXQLYUYN8hao5SrtXK3bLbzGn2hRo7y+pqibPJb37xD/5iJ1k8/gsx9hRPoZGZxJWN 1dDD3dEhi0Q+lgHG9ib1A== X-UI-Out-Filterresults: notjunk:1;V03:K0:rmmYQAqyqLY=:gOvchMX92CmjVRyT9DSMTT 7P1gR8zjFRUCKYya372G9xXafC8uNc3hDei0GDOhw2ZjQFXRQ972S/e5KqaqkeQNNK8zYVhwJ V2mf2ctLRG0GMDKO35yuEUvcpbZOcvos/KJfk5vzDPooMAZyL+eotHhsgKxluyC+Ekj/6rShF hsCQO7vNP8jPFvpCr9+a5mj0HMWiwao/obebd3SMw3g7927pcrwH0ujomjI6HNg0s7R6Dh/2j d8uyPdizUUzUjxoC6gfvGKXl4QaCH3flpyTQ26x521rYmVbkFEXoTMH1T8dYGabweNBFj1PIS kGOc0JtKnI/Af3+aqlIpHAjeEZqYnX+H54B/I5pKykykF5O/r3vbC/X33ZZZzEqVVqiRSdifZ kdG1O01UOeno9kixpM1aHY9XhjRgw7izUXjXGzGbBxntp+rMbuiU52scHi33GP2Lm0xa9Q+pk B0CKKGNSDc8FZfdmo7a8MCwwhI+wF0yOeIoo+Lo26gZaXGQXTUid0BwW9X1MH+ow1XzcRjAY6 ykEjUIM5Mtv9xB3HE6sXbJQLqA5MC0LcnsW1HY/9zZ9h/IjKKso617/XaGWSH4W08uhisSmSB XRFT8rQZtdYiOTs+htAnyB6MjMFv+XeQP/LYe8xhrY82/ip5uSnMtSOuDdG9+YoURcHRxcTkP OP/9IJFxNNZWlJy4dq7WqpVwMBfcMIT/XXjWNO7t1zeDtcwJLIJXJkioXtfV5wfWHaTDgCpoW h4sy+yRUPvkwIVHyt9BALmdOdMaBG2XuCdf97hWaf1STq/zIQnZ9w/4QtJQMA/dLT3+anccEE xNRqe41SAGnKT0tyjgp90qM0cP2FWRfIr6CRgBG2WgIn6MHHmWyplpiVSgLJojit0AwLHCl1k piiOtuapcffgwVLtqatuM1P5UrhAO39HZbgNK2e0/TU3ohh1GMhjm5ixR3U4eH71IvzgpfDSV S6YpwsT/dzCMziYWo+GaTVach95smGJ0ZJZUHkxvNFqAdN20mOW98bi/Toq9Logdq2DdKL58e nnWZ4MdwS6gTNSYo7QeZv3pInjOqEQoAD6i4P6HZA7714gKMkFbkVSQEXbdhNoJ2aKzyzOBmk vVxRvokKUB3ECY+x0RLdXKkXBHgvf3uqLWRGxVuvwUhtmuAywzP5aKYTnE2sNRFEH8y7YDamj xnOmmfTboqS1flS0kvEalAThp8x3IcaMA1Ke+W3gzZikGskd4KDLzoejGjOO/7lymQpu9dps3 3TfxTctMINjQFCqeWNSrmaCrdS+sm2/+q1biiqhKUVctz1W3LfjNFCj1yS81F0/ZPNy6ydJXt qHVcHeXp/ePDMYxsyaI7XoZZTJfyCG2cFXzCKjfC8bF7D05eIMBNwDRd3zz+4bxReGprJGMcx f60dloO87Owm96TWIMzpWnX+qYpQMCg3bCEAKgA6SE8zVV9ccf91D4g8RicHFsbdjpYEI8gha 6qr6tUi24KfNCrMVVgDm0or2grb1SkDzpEySpUp0TQk7Ka+ns3T4uknuPTP7HOSODXIMHlOyz ZbMm11i/4JFoSXtKGt6yN/aUaEctdIpp9TZ4Exk5IyLlc X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2, 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?1746981966393474342?= X-GMAIL-MSGID: =?utf-8?q?1746981966393474342?= From: Lino Sanfilippo Writing the TPM_INT_STATUS register in the interrupt handler to clear the interrupts only has effect if a locality is held. Since this is not guaranteed at the time the interrupt is fired, claim the locality explicitly in the handler. Signed-off-by: Lino Sanfilippo Reviewed-by: Jarkko Sakkinen Tested-by: Michael Niewöhner --- drivers/char/tpm/tpm_tis_core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c index 1e065e7ac460..42f628e52cde 100644 --- a/drivers/char/tpm/tpm_tis_core.c +++ b/drivers/char/tpm/tpm_tis_core.c @@ -772,7 +772,9 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id) wake_up_interruptible(&priv->int_queue); /* Clear interrupts handled with TPM_EOI */ + tpm_tis_request_locality(chip, 0); rc = tpm_tis_write32(priv, TPM_INT_STATUS(priv->locality), interrupt); + tpm_tis_release_locality(chip, 0); if (rc < 0) return IRQ_NONE;