public inbox for linux-efi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] libstub,tpm: fix small bugs and improve error reporting
@ 2024-09-06 20:27 Gregory Price
  2024-09-06 20:27 ` [PATCH 1/6] tpm: fix signed/unsigned bug when checking event logs Gregory Price
                   ` (5 more replies)
  0 siblings, 6 replies; 23+ messages in thread
From: Gregory Price @ 2024-09-06 20:27 UTC (permalink / raw)
  To: linux-efi
  Cc: linux-kernel, ardb, leitao, usamaarif642,
	sathyanarayanan.kuppuswamy, ilias.apalodimas

The efi/tpm code has a number of small signed/unsigned bugs and
inaccuracies are prone to cause further bugs in a difficult to
debug manner.  For example, there is a signed/unsigned mismatch
in efi/tpm.c that leads to a memblock_reserve on a range with
an effectively negative length.

Additionally, there are silently ignored error conditions that are
better explicitly reported.

Finally, there exists some bad interaction between tpm and kexec
that causes the log version and the log size to become corrupted.
The log size cannot be reasonably sanity checked, as the value is
a u32 and there is no defined max-size per the spec - however the
version can at least be sanity checked. This reports the error and
avoids calling memblock_reserve with clearly corrupted arguments.

Signed-off-by: Gregory Price <gourry@gourry.net>

Gregory Price (6):
  tpm: fix signed/unsigned bug when checking event logs
  tpm: do not ignore memblock_reserve return value
  libstub,tpm: provide indication of failure when getting event log
  tpm: sanity check the log version before using it
  tpm: fix unsigned/signed mismatch errors related to
    __calc_tpm2_event_size
  libstub,tpm: do not ignore failure case when reading final event log

 drivers/firmware/efi/libstub/tpm.c | 14 ++++++++----
 drivers/firmware/efi/tpm.c         | 34 +++++++++++++++++++++---------
 include/linux/tpm_eventlog.h       |  2 +-
 3 files changed, 35 insertions(+), 15 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-09-13 23:07 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-06 20:27 [PATCH 0/6] libstub,tpm: fix small bugs and improve error reporting Gregory Price
2024-09-06 20:27 ` [PATCH 1/6] tpm: fix signed/unsigned bug when checking event logs Gregory Price
2024-09-06 20:27 ` [PATCH 2/6] tpm: do not ignore memblock_reserve return value Gregory Price
2024-09-13  7:02   ` Ilias Apalodimas
2024-09-13 12:58     ` Gregory Price
2024-09-06 20:27 ` [PATCH 3/6] libstub,tpm: provide indication of failure when getting event log Gregory Price
2024-09-13  6:59   ` Ilias Apalodimas
2024-09-13 12:57     ` Gregory Price
2024-09-13 13:10       ` Ilias Apalodimas
2024-09-13 23:06         ` Gregory Price
2024-09-06 20:27 ` [PATCH 4/6] tpm: sanity check the log version before using it Gregory Price
2024-09-13  6:40   ` Ilias Apalodimas
2024-09-13 12:56     ` Gregory Price
2024-09-13 13:39       ` Ilias Apalodimas
2024-09-13 13:44         ` Ard Biesheuvel
2024-09-13 13:47           ` Ard Biesheuvel
2024-09-13 14:03             ` Gregory Price
2024-09-06 20:27 ` [PATCH 5/6] tpm: fix unsigned/signed mismatch errors related to __calc_tpm2_event_size Gregory Price
2024-09-06 20:27 ` [PATCH 6/6] libstub,tpm: do not ignore failure case when reading final event log Gregory Price
2024-09-13 15:25   ` Ard Biesheuvel
2024-09-13 15:29     ` Gregory Price
2024-09-13 15:59       ` Ard Biesheuvel
2024-09-13 17:36         ` Gregory Price

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox