Re: [PATCH v13 16/19] tpm, tpm_tis: Allow locality to be set to a different value

ALOK TIWARI
2025-04-12T19:16:54Z

On 11-04-2025 02:11, Ross Philipson wrote:
> DRTM needs to be able to set the locality used by kernel. Provide
> a one-shot function tpm_chip_set_locality() for the purpose.
>
> Signed-off-by: Ross Philipson <ross.philipson@oracle.com>
> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
> ---
> drivers/char/tpm/tpm-chip.c | 33 ++++++++++++++++++++++++++++++++-
> drivers/char/tpm/tpm_tis_core.c | 2 ++
> include/linux/tpm.h | 4 ++++
> 3 files changed, 38 insertions(+), 1 deletion(-)
>
> +/**
> + * tpm_chip_set_locality() - Set the TPM locality kernel uses
> + * @chip: &tpm_chip instance
> + * @locality: new locality
> + *
> + * This a one-shot function. Returns zero or POSIX error on failure.
> + */
> +int tpm_chip_set_locality(struct tpm_chip *chip, u8 locality)
> +{
> + int ret;
> +
> + if (locality < 0 || locality >= TPM_MAX_LOCALITY)
> + return -EINVAL;
> +
> + ret = tpm_try_get_ops(chip);
> + if (ret)
> + return ret;
> +
> + if (!(chip->flags & TPM_CHIP_FLAG_SET_LOCALITY_ENABLED)) {
> + tpm_put_ops(chip);
> + return -EINVAL;
> + }
> +
> + chip->kernel_locality = locality;
> + chip->flags &= ~TPM_CHIP_FLAG_SET_LOCALITY_ENABLED;
> + tpm_put_ops(chip);
> + return 0;

a '\n' before return is customary

> +}
> +EXPORT_SYMBOL_GPL(tpm_chip_set_locality);
> diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c

Thanks,
Alok