On Fri, Mar 9, 2018 at 5:54 PM Jeremy Cline <jer...@jcline.org> wrote:
> On Fri, Mar 09, 2018 at 10:43:50AM +0000, Thiebaud Weksteen wrote:
> > Thanks a lot for trying out the patch!
> > Please don't modify your install at this stage, I think we are hitting a
> > firmware bug and that would be awesome if we can fix how we are
> > So, if we reach that stage in the function it could either be that:
> > * The allocation did not succeed, somehow, but the firmware still
> > EFI_SUCCEED.
> > * The size requested is incorrect (I'm thinking something like a 1G of
> > log). This would be due to either a miscalculation of log_size
> > or; the returned values of GetEventLog are not correct.
> > I'm sending a patch to add checks for these. Could you please apply and
> > retest?
> > Again, thanks for helping debugging this.
> No problem, thanks for the help :)
> With the new patch:
> Locating the TCG2Protocol
> Calling GetEventLog on TCG2Protocol
> Log returned
> log_location is not empty
> log_size != 0
> log_size < 1M
> Allocating memory for storing the logs
> Returned from memory allocation
> Copying log to new location
> And then it hangs. I added a couple more print statements:
> diff --git a/drivers/firmware/efi/libstub/tpm.c
> index ee3fac109078..1ab5638bc50e 100644
> --- a/drivers/firmware/efi/libstub/tpm.c
> +++ b/drivers/firmware/efi/libstub/tpm.c
> @@ -148,8 +148,11 @@ void
> efi_printk(sys_table_arg, "Copying log to new location\n");
> memset(log_tbl, 0, sizeof(*log_tbl) + log_size);
> + efi_printk(sys_table_arg, "Successfully memset log_tbl to 0\n");
> log_tbl->size = log_size;
> + efi_printk(sys_table_arg, "Set log_tbl->size\n");
> log_tbl->version = EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2;
> + efi_printk(sys_table_arg, "Set log_tbl-version\n");
> memcpy(log_tbl->log, (void *) first_entry_addr, log_size);
> efi_printk(sys_table_arg, "Installing the log into the
> and it's hanging at "memset(log_tbl, 0, sizeof(*log_tbl) + log_size);"
Thanks. Well, it looks like the memory that is supposedly allocated is not
usable. I'm thinking this is a firmware bug.
Ard, would you agree on this assumption? Thoughts on how to proceed?
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
tpmdd-devel mailing list