On 3/6/25 11:07 PM, Jarkko Sakkinen wrote:
On Thu, Dec 19, 2024 at 11:42:12AM -0800, Ross Philipson wrote:
From: "Daniel P. Smith" <dpsm...@apertussolutions.com>

Validate that the input locality is within the correct range, as specified
by TCG standards, and increase the locality count also for the positive
localities.

Signed-off-by: Daniel P. Smith <dpsm...@apertussolutions.com>
Signed-off-by: Ross Philipson <ross.philip...@oracle.com>
Signed-off-by: Jarkko Sakkinen <jar...@kernel.org>
---
  drivers/char/tpm/tpm_tis_core.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
index c58f360fb4a4..c86100ad743a 100644
--- a/drivers/char/tpm/tpm_tis_core.c
+++ b/drivers/char/tpm/tpm_tis_core.c
@@ -234,10 +234,13 @@ static int tpm_tis_request_locality(struct tpm_chip 
*chip, int l)
        struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
        int ret = 0;
+ if (l < 0 || l > TPM_MAX_LOCALITY)
+               return -EINVAL;

I would mind if we put do dev_warn() here because it is unexpected
condition or even perhaps dev_err(). Or am I missing something?

No I think you are right. We will look at it but will likely take your suggestion here.

Thanks
Ross


+
        mutex_lock(&priv->locality_count_mutex);
        if (priv->locality_count == 0)
                ret = __tpm_tis_request_locality(chip, l);
-       if (!ret)
+       if (ret >= 0)
                priv->locality_count++;
        mutex_unlock(&priv->locality_count_mutex);
        return ret;
--
2.39.3


I agree with this now.

BR, Jarkko


Reply via email to