Message ID | 20241219194216.152839-16-ross.philipson@oracle.com |
---|---|
State | New |
Headers | show |
Series | x86: Trenchboot secure dynamic launch Linux kernel support | expand |
On Thu, Dec 19, 2024 at 11:42:12AM -0800, Ross Philipson wrote: > From: "Daniel P. Smith" <dpsmith@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 <dpsmith@apertussolutions.com> > Signed-off-by: Ross Philipson <ross.philipson@oracle.com> > Signed-off-by: Jarkko Sakkinen <jarkko@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? > + > 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
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" <dpsmith@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 <dpsmith@apertussolutions.com> >> Signed-off-by: Ross Philipson <ross.philipson@oracle.com> >> Signed-off-by: Jarkko Sakkinen <jarkko@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
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; + 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;