Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp3664965imw; Mon, 11 Jul 2022 13:11:46 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vZiii3Zg75OQpbUvhc3v9EzulPhkpJS9lYwegZrtCEJBhWDUbEg21Q0hDER7kKjl2bf6dI X-Received: by 2002:a63:8c47:0:b0:40d:2d4:e3a2 with SMTP id q7-20020a638c47000000b0040d02d4e3a2mr17860288pgn.2.1657570306188; Mon, 11 Jul 2022 13:11:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657570306; cv=none; d=google.com; s=arc-20160816; b=i+KzpalNgqEZWbMvBERKfbeSpDFyeYvmbgHveZzvGj43FF8wOFWMxVCPcXpd/znGAn 3/ecyz7d8N7AjNUmdRQE37krWrZT7iqOeney2c98GKpkBChQfVE0h9X0vgfyJULulsJs yTxGaz8R0vHVt9PRtcguor+EZfoUJ4813WZ7SuUxxUJZXmHkAD+eGssF1klu6lKE63jQ KAPzN7D+V3v7fd5AGWnrLz0MZyllkwF0izuPGnfv1P3ao0LBSyM/olsv692wOmVI6U03 3Mbqznl/EKfKQgvR51zWqZ1YZag4iyPPuOVDHuSL1eXwBBShPrqm+Fb+i4SK7PhhjH2y +p9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=FmrPbk0CTn59DhOrtjuvdbDhlXyaAxbjDkdLGnYexnI=; b=qIMwykPi7QasuKQ5uyJhNDLDH9f3nMFxZnfQSD2nW/+0vARUaQeCZVhb/xwhdwVrgF dVe2O4O446Fgtoi5N/IR8DmkCd21bA5aYDO2EnNjKVGeNeGoSEFTlaeghLMhtyqqnpkF Uy/rWQef6D/4GnNMFrPu8CSXREiUezwim2EWoisQs+If4FXovLRGQF84ZUM3Z/N73zdJ P3OotfZZmxBalyFLyYHp7cPKvC8Qaw0gabV/VNP5y/P4dncSCokoL4yf01opnojGDhmv yQoB1jaxgvH8arKVRQpP8i8kHVxn6MS9wQd3kINj8ke2wRHPDYm4+49IH3zulrVGFW9N ty9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ROwY+uUj; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 23-20020a631957000000b00383f92e1f96si10705165pgz.79.2022.07.11.13.11.32; Mon, 11 Jul 2022 13:11:46 -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=@gmail.com header.s=20210112 header.b=ROwY+uUj; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231357AbiGKTja (ORCPT + 99 others); Mon, 11 Jul 2022 15:39:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45154 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229678AbiGKTj3 (ORCPT ); Mon, 11 Jul 2022 15:39:29 -0400 Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com [IPv6:2a00:1450:4864:20::22f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6076352459; Mon, 11 Jul 2022 12:39:28 -0700 (PDT) Received: by mail-lj1-x22f.google.com with SMTP id p6so4621235ljc.8; Mon, 11 Jul 2022 12:39:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=FmrPbk0CTn59DhOrtjuvdbDhlXyaAxbjDkdLGnYexnI=; b=ROwY+uUjEXcx7y8mwtPOpXSaj7Mu4ehLBicjuQBzZ9FCSEe1QAPW0B/xPjy4Q95jne QAkxjRPNez0IrBh/e5dpv7vBJLyjuAjqagk7IY4kRS3M5v7bb31AVv7xZi7/eBw0qATK nJ4IBnH36ekieHSSVbEUQoKRd1RkjKaVSRsCAG0QSICdK/kcvyDwM3d5R51ZmMu0exhM ltBU0Us+JmARPw1C02A3ktO3inABxxBGo+b+wz8bKDKNUBnxGbTzYGptbBbD9JC4CdGI PGvZ6JRWZjLJufH/fwzZreAUlIEAREbSsTvABxQCTjgx+zSJOakmj73TIKljGhcfzmSh 7T1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=FmrPbk0CTn59DhOrtjuvdbDhlXyaAxbjDkdLGnYexnI=; b=Cr7WD9AaoavtGzdJ+bwQfkdtGvjOqHj3UIkAbOMFMW2vQZ+FyPJtcRzM12qrWa4HIx d8N6MX+42jObEgR3E+qAO+J4KjNzY+j+e1n7cqZBCPhdjwLyBhcW8D+ktTIxjY5Pd255 lvWr764l6cUfHIwj2G1NX1JdEkxvXedCh5MaYM4euPajYWKYhODJe5PORHcI+B2ht5ZX Plnf4qWzmsIfuNnaWXhpNN6Y0aHd5pW5sxPMyHSPn0QNVXBN9dvf+au/2Qj1FPW+NIH7 mLRyxawwI2+uVCLjKkJ6YAF/ZiN/yvhCWBtXr6prIQSZpbndwwW1N5V1xpSeU4aKT7Gh lh7g== X-Gm-Message-State: AJIora+UgF5Dq29JA64aCQr7zhH5Fcl9EdjICqAauw7pJTI+ouVymhwm ZW7bUnjYihzV0WBzeHBPQNWVA5obOuYBIhbXmtY= X-Received: by 2002:a2e:6819:0:b0:25d:63ec:7954 with SMTP id c25-20020a2e6819000000b0025d63ec7954mr6472158lja.389.1657568366544; Mon, 11 Jul 2022 12:39:26 -0700 (PDT) MIME-Version: 1.0 References: <20220629232653.1306735-1-LinoSanfilippo@gmx.de> <20220629232653.1306735-8-LinoSanfilippo@gmx.de> In-Reply-To: <20220629232653.1306735-8-LinoSanfilippo@gmx.de> From: Jason Andryuk Date: Mon, 11 Jul 2022 15:39:15 -0400 Message-ID: Subject: Re: [PATCH v7 07/10] tmp, tmp_tis: Implement usage counter for locality To: Lino Sanfilippo Cc: Peter Huewe , Jarkko Sakkinen , Jason Gunthorpe , Stefan Berger , linux@mniewoehner.de, linux-integrity@vger.kernel.org, open list , l.sanfilippo@kunbus.com, lukas@wunner.de, p.rosenberger@kunbus.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 Hi, This patch subject has a typo "tmp, tmp_tis" -> "tpm, tpm_tis" On Wed, Jun 29, 2022 at 7:28 PM Lino Sanfilippo wro= te: > > From: Lino Sanfilippo > > Implement a usage counter for the (default) locality used by the TPM TIS > driver: > Request the locality from the TPM if it has not been claimed yet, otherwi= se > only increment the counter. Also release the locality if the counter is 0 > otherwise only decrement the counter. Ensure thread-safety by protecting > the counter with a mutex. > > This allows to request and release the locality from a thread and the > interrupt handler at the same time without the danger to interfere with > each other. > > By doing this refactor the names of the amended functions to use the prop= er > prefix. > > Signed-off-by: Lino Sanfilippo > Tested-by: Michael Niew=C3=B6hner > --- > drivers/char/tpm/tpm_tis_core.c | 75 ++++++++++++++++++++++----------- > drivers/char/tpm/tpm_tis_core.h | 2 + > 2 files changed, 53 insertions(+), 24 deletions(-) > > diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_c= ore.c > index bd4eeb0b2192..e50a2c78de9f 100644 > --- a/drivers/char/tpm/tpm_tis_core.c > +++ b/drivers/char/tpm/tpm_tis_core.c > @@ -215,6 +226,20 @@ static int request_locality(struct tpm_chip *chip, i= nt l) > return -1; > } > > +static int tpm_tis_request_locality(struct tpm_chip *chip, int l) > +{ > + struct tpm_tis_data *priv =3D dev_get_drvdata(&chip->dev); > + int ret =3D 0; > + > + mutex_lock(&priv->locality_count_mutex); > + if (priv->locality_count =3D=3D 0) > + ret =3D tpm_tis_request_locality_locked(chip, l); > + if (!ret) > + priv->locality_count++; > + mutex_unlock(&priv->locality_count_mutex); > + return ret; > +} > + This function should check that the requested locality matches the current locality otherwise this sequence would seemingly succeed though locality 0 is the one acquired. tpm_tis_request_locality(chip, 0); tpm_tis_request_locality(chip, 1); Regards, Jason