@@ -208,11 +229,43 @@ static int tpm_binary_bios_measurements_show(struct
seq_file *m, void *v)
struct tcpa_event *event = v;
char *data = v;
int i;
-
- for (i = 0; i < sizeof(struct tcpa_event) + event->event_size; i++)
+ u32 x;
+ char tmp[4];
+
+ /* PCR */
+ x = convert_to_host_format(event->pcr_index);
+ memcpy(tmp, &x, 4);
+ for (i = 0; i < 4; i++)
+ seq_putc(m, tmp[i]);
+ data += 4;
+
+ /* Event Type */
+ x = convert_to_host_format(event->event_type);
+ memcpy(tmp, &x, 4);
+ for (i = 0; i < 4; i++)
+ seq_putc(m, tmp[i]);
+ data += 4;
+
+ /* HASH */
+ for (i = 0; i < 20; i++)
seq_putc(m, data[i]);
+ data += 20;
+
+ /* Size */
+ x = convert_to_host_format(event->event_size);
+ memcpy(tmp, &x, 4);
+ for (i = 0; i < 4; i++)
+ seq_putc(m, tmp[i]);
+ data += 4;
+
+ /* Data */
+ if (convert_to_host_format(event->event_size)) {
+ for (i = 0; i < convert_to_host_format(event->event_size);
i++)
+ seq_putc(m, data[i]);
+ }
return 0;
+
}
If the tcpa_event structure is converted, you may be able to get away with
memcpy and the for loop.
You can get away with memcpy and use the original for loop.
for (i = 0; i < sizeof(struct tcpa_event) + event->event_size; i++)
seq_putc(m, data[i]);
Thanks,
--Ashley
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/