From e881844ab0a520973bdddfe91dab50fba5bb37a1 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Tue, 1 Mar 2016 15:00:15 -0800 Subject: [PATCH] Fix unallocated memory access in TPM eventlog code COmmit 0cc698 added support for handling endian fixups in the event log code but broke the binary log file in the process. Keep the endian code, but read the event data from the actual event rather than from unallocated RAM. Signed-off-by: Matthew Garrett Cc: stable@kernel.org --- drivers/char/tpm/tpm_eventlog.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/char/tpm/tpm_eventlog.c b/drivers/char/tpm/tpm_eventlog.c index bd72fb04225e43..e47092c61827b7 100644 --- a/drivers/char/tpm/tpm_eventlog.c +++ b/drivers/char/tpm/tpm_eventlog.c @@ -244,7 +244,12 @@ static int tpm_binary_bios_measurements_show(struct seq_file *m, void *v) tempPtr = (char *)&temp_event; - for (i = 0; i < sizeof(struct tcpa_event) + temp_event.event_size; i++) + for (i = 0; i < sizeof(struct tcpa_event); i++) + seq_putc(m, tempPtr[i]); + + tempPtr = (char *)&event->event_data; + + for (i = 0; i < temp_event.event_size; i++) seq_putc(m, tempPtr[i]); return 0;