linux/drivers/char/tpm
Jarkko Sakkinen 20eda7c74b tpm2-sessions: Fix tpm2_read_public range checks
commit bda1cbf73c upstream.

tpm2_read_public() has some rudimentary range checks but the function does
not ensure that the response buffer has enough bytes for the full TPMT_HA
payload.

Re-implement the function with necessary checks and validation, and return
name and name size for all handle types back to the caller.

Cc: stable@vger.kernel.org # v6.10+
Fixes: d0a25bb961 ("tpm: Add HMAC session name/handle append")
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Reviewed-by: Jonathan McDowell <noodles@meta.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-02 12:57:11 +01:00
..
eventlog Hi, 2025-07-28 18:18:16 -07:00
st33zp24 tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
Kconfig tpm: Compare HMAC values in constant time 2025-10-10 08:21:45 +03:00
Makefile tpm: Add a driver for Loongson TPM device 2025-09-02 12:29:57 +01:00
tpm-buf.c char: tpm: tpm-buf: Add sanity check fallback in read helpers 2025-05-15 04:47:14 +03:00
tpm-chip.c tpm: Cap the number of PCR banks 2026-01-02 12:57:09 +01:00
tpm-dev-common.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
tpm-dev.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
tpm-dev.h tpm: Handle negative priv->response_len in tpm_common_read() 2020-01-08 18:11:09 +02:00
tpm-interface.c tpm: use a map for tpm2_calc_ordinal_duration() 2025-10-10 08:21:45 +03:00
tpm-sysfs.c tpm: add the null key name as a sysfs export 2024-05-09 22:30:52 +03:00
tpm.h tpm: use a map for tpm2_calc_ordinal_duration() 2025-10-10 08:21:45 +03:00
tpm1-cmd.c tpm: Cap the number of PCR banks 2026-01-02 12:57:09 +01:00
tpm2-cmd.c tpm2-sessions: Fix tpm2_read_public range checks 2026-01-02 12:57:11 +01:00
tpm2-sessions.c tpm2-sessions: Fix tpm2_read_public range checks 2026-01-02 12:57:11 +01:00
tpm2-space.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
tpm_atmel.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpm_crb.c tpm_crb: Add idle support for the Arm FF-A start method 2025-10-18 14:33:22 +03:00
tpm_crb_ffa.c tpm_crb_ffa: handle tpm busy return code 2025-07-23 02:32:00 +03:00
tpm_crb_ffa.h tpm_crb_ffa: Remove unused export 2025-07-23 02:23:18 +03:00
tpm_ftpm_tee.c tpm/tpm_ftpm_tee: support TPM_CHIP_FLAG_SYNC 2025-07-23 02:23:18 +03:00
tpm_ftpm_tee.h tpm/tpm_ftpm_tee: support TPM_CHIP_FLAG_SYNC 2025-07-23 02:23:18 +03:00
tpm_i2c_atmel.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpm_i2c_infineon.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpm_i2c_nuvoton.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpm_ibmvtpm.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpm_ibmvtpm.h tpm: ibmvtpm: Avoid error message when process gets signal while waiting 2021-08-23 19:55:42 +03:00
tpm_infineon.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpm_loongson.c tpm: loongson: Add bufsiz parameter to tpm_loongson_send() 2025-09-25 12:45:03 +01:00
tpm_nsc.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpm_ppi.c tpm: Prevent local DOS via tpm/tpm0/ppi/*operations 2025-10-10 08:21:45 +03:00
tpm_svsm.c tpm/tpm_svsm: support TPM_CHIP_FLAG_SYNC 2025-07-23 02:23:18 +03:00
tpm_tis.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
tpm_tis_core.c tpm_tis: Fix incorrect arguments in tpm_tis_probe_irq_single 2025-10-10 08:21:45 +03:00
tpm_tis_core.h tpm: tis: Double the timeout B to 4s 2025-05-15 04:49:15 +03:00
tpm_tis_i2c.c tpm: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-09-17 18:56:37 +03:00
tpm_tis_i2c_cr50.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpm_tis_spi.h tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops 2022-05-23 18:47:49 +03:00
tpm_tis_spi_cr50.c tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops 2022-05-23 18:47:49 +03:00
tpm_tis_spi_main.c tpm_tis_spi: add missing attpm20p SPI device ID entry 2024-07-01 15:50:02 +00:00
tpm_tis_synquacer.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
tpm_vtpm_proxy.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00
tpmrm-dev.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
xen-tpmfront.c tpm: add bufsiz parameter in the .send callback 2025-07-23 02:23:18 +03:00