[PATCH v11 16/20] tpm: Make locality requests return consistent values

Jarkko Sakkinen jarkko at kernel.org
Sat Nov 2 07:26:11 PDT 2024


On Fri Sep 13, 2024 at 11:05 PM EEST, Ross Philipson wrote:
> From: "Daniel P. Smith" <dpsmith at apertussolutions.com>
>
> The function tpm_tis_request_locality() is expected to return the locality
> value that was requested, or a negative error code upon failure. If it is called
> while locality_count of struct tis_data is non-zero, no actual locality request
> will be sent. Because the ret variable is initially set to 0, the
> locality_count will still get increased, and the function will return 0. For a
> caller, this would indicate that locality 0 was successfully requested and not
> the state changes just mentioned.
>
> Additionally, the function __tpm_tis_request_locality() provides inconsistent
> error codes. It will provide either a failed IO write or a -1 should it have
> timed out waiting for locality request to succeed.
>
> This commit changes __tpm_tis_request_locality() to return valid negative error
> codes to reflect the reason it fails. It then adjusts the return value check in
> tpm_tis_request_locality() to check for a non-negative return value before
> incrementing locality_cout. In addition, the initial value of the ret value is
> set to a negative error to ensure the check does not pass if
> __tpm_tis_request_locality() is not called.

Tweaked version attached with cruft removed and story cleared.

BR, Jarkko
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-tpm-Support-multiple-localities-in-tpm_tis_request_l.patch
Type: text/x-patch
Size: 1341 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/kexec/attachments/20241102/8f151378/attachment.bin>


More information about the kexec mailing list