linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"Jason Gunthorpe" <jgg@ziepe.ca>,
	"Sasha Levin" <sashal@kernel.org>,
	"Lino Sanfilippo" <l.sanfilippo@kunbus.com>,
	<linux-integrity@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: "Ross Philipson" <ross.philipson@oracle.com>,
	"Kanth Ghatraju" <kanth.ghatraju@oracle.com>,
	"Peter Huewe" <peterhuewe@gmx.de>
Subject: Re: [PATCH 1/3] tpm: protect against locality counter underflow
Date: Fri, 23 Feb 2024 02:01:32 +0200	[thread overview]
Message-ID: <CZC0MQ8XX32O.8NIQ5WNDKUFJ@kernel.org> (raw)
In-Reply-To: <20240131170824.6183-2-dpsmith@apertussolutions.com>

On Wed Jan 31, 2024 at 7:08 PM EET, Daniel P. Smith wrote:
> Commit 933bfc5ad213 introduced the use of a locality counter to control when a
> locality request is allowed to be sent to the TPM. In the commit, the counter
> is indiscriminately decremented. Thus creating a situation for an integer
> underflow of the counter.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> Signed-off-by: Ross Philipson <ross.philipson@oracle.com>
> Reported-by: Kanth Ghatraju <kanth.ghatraju@oracle.com>
> Fixes: 933bfc5ad213 ("tpm, tpm: Implement usage counter for locality")
> ---
>  drivers/char/tpm/tpm_tis_core.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
> index 1b350412d8a6..4176d3bd1f04 100644
> --- a/drivers/char/tpm/tpm_tis_core.c
> +++ b/drivers/char/tpm/tpm_tis_core.c
> @@ -180,7 +180,8 @@ static int tpm_tis_relinquish_locality(struct tpm_chip *chip, int l)
>  	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
>  
>  	mutex_lock(&priv->locality_count_mutex);
> -	priv->locality_count--;
> +	if (priv->locality_count > 0)
> +		priv->locality_count--;
>  	if (priv->locality_count == 0)
>  		__tpm_tis_relinquish_locality(priv, l);
>  	mutex_unlock(&priv->locality_count_mutex);

To make this patch set better the whole story should be scenario based.

Starting from cover letter the explanation is way too rounded to guide
to the conclusion that these are actually best possible code changes to
fix the issue. 

I agree fully on that the problem should be fixed but given that the
scenarios are fuzzy deciding whether this the right things done right
is the open question.

I.e. we need the steps for destruction and how these patches change
those steps to make this right. Since the whole topic is complicated
I'd use PC Client spec as reference.

BR, Jarkko

  parent reply	other threads:[~2024-02-23  0:01 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20240131170824.6183-1-dpsmith@apertussolutions.com>
2024-01-31 17:08 ` [PATCH 1/3] tpm: protect against locality counter underflow Daniel P. Smith
2024-02-01 22:21   ` Jarkko Sakkinen
2024-02-02  3:08     ` Lino Sanfilippo
2024-02-12 20:05       ` Jarkko Sakkinen
2024-02-19 17:54         ` Daniel P. Smith
2024-02-20 18:42       ` Alexander Steffen
2024-02-20 19:04         ` Jarkko Sakkinen
2024-02-20 20:54         ` Lino Sanfilippo
2024-02-20 22:23           ` Jarkko Sakkinen
2024-02-20 23:19             ` Lino Sanfilippo
2024-02-21  0:40               ` Jarkko Sakkinen
2024-02-23  1:58             ` Daniel P. Smith
2024-02-23 12:58               ` Jarkko Sakkinen
2024-02-25 11:23                 ` Daniel P. Smith
2024-02-26  9:39                   ` Jarkko Sakkinen
2024-02-20 22:26           ` Jarkko Sakkinen
2024-02-20 22:31             ` Jarkko Sakkinen
2024-02-20 23:26               ` Lino Sanfilippo
2024-02-21  0:42                 ` Jarkko Sakkinen
2024-02-21 12:37               ` James Bottomley
2024-02-21 19:43                 ` Jarkko Sakkinen
2024-02-21 19:45                   ` Jarkko Sakkinen
2024-02-22  9:06                   ` James Bottomley
2024-02-22 23:49                     ` Jarkko Sakkinen
2024-02-23  1:57                   ` Daniel P. Smith
2024-02-23 20:40                     ` Jarkko Sakkinen
2024-02-23 20:42                       ` Jarkko Sakkinen
2024-02-23  1:57               ` Daniel P. Smith
2024-02-23 20:50                 ` Jarkko Sakkinen
2024-02-20 22:57             ` ross.philipson
2024-02-20 23:10               ` Jarkko Sakkinen
2024-02-20 23:13                 ` Jarkko Sakkinen
2024-02-23  1:56           ` Daniel P. Smith
2024-02-23 20:44             ` Jarkko Sakkinen
2024-02-24  2:34             ` Lino Sanfilippo
2024-02-26  9:38               ` Jarkko Sakkinen
2024-02-23  1:55         ` Daniel P. Smith
2024-02-26 12:43           ` Alexander Steffen
2024-02-24  2:06         ` Lino Sanfilippo
2024-02-23  0:01   ` Jarkko Sakkinen [this message]
2024-01-31 17:08 ` [PATCH 2/3] tpm: ensure tpm is in known state at startup Daniel P. Smith
2024-02-01 22:33   ` Jarkko Sakkinen
2024-02-19 19:17     ` Daniel P. Smith
2024-02-19 20:17       ` Jarkko Sakkinen
2024-01-31 17:08 ` [PATCH 3/3] tpm: make locality request return value consistent Daniel P. Smith
2024-02-01 22:49   ` Jarkko Sakkinen
2024-02-19 20:29     ` Daniel P. Smith
2024-02-19 20:45       ` Jarkko Sakkinen
2024-02-20 18:57       ` Alexander Steffen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CZC0MQ8XX32O.8NIQ5WNDKUFJ@kernel.org \
    --to=jarkko@kernel.org \
    --cc=dpsmith@apertussolutions.com \
    --cc=jgg@ziepe.ca \
    --cc=kanth.ghatraju@oracle.com \
    --cc=l.sanfilippo@kunbus.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    --cc=ross.philipson@oracle.com \
    --cc=sashal@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).