Received: by 10.223.185.111 with SMTP id b44csp1296158wrg; Sat, 10 Mar 2018 02:46:39 -0800 (PST) X-Google-Smtp-Source: AG47ELur71qECnJB+zLcnH27oYBkKxENqxu+/ov/z+nLB3iogx8/8898RfIUWfmxCohQJWsRkw/7 X-Received: by 2002:a17:902:a985:: with SMTP id bh5-v6mr1729984plb.35.1520678799064; Sat, 10 Mar 2018 02:46:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520678799; cv=none; d=google.com; s=arc-20160816; b=OPUXNKuWvddTta9aLMk7Ga9zAWV5f41d0gkPLUgIHgpVej3BmSe5u5atIbtqO8f/jf CDn4D9kjKZbZeg3ro/6ykSijLGzuYb3IYHFK0DTnSHLBK6X0ykyRYPS26jTe9SfnyClP paA9D03o+GHNN6o/o89AHNHmLbsV9ysCXLL1CKKjs78zLaJE2qicb28WcmtV7iaLohIL WycDe53EKLcV2ve8Jbym/vDIFZJpWvNJ5Cexve5xXC8czugIjnGArLIxKA4nInQAYHz0 fO11ZST0rfuUXCb2KI67SzXSKmR7Fu0pbXEyD6laNLhJu4AGkIxIbgfZ9WLBGLVrjoSh IlFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature :arc-authentication-results; bh=9Ych13RWRCaj4NUtKSVQr8FzQPT7JUMt0RP9ydDYMRg=; b=GlX6dA/U9/IEC6gDaqXrDe5qstTAvR7ah1oT2yobmzuY8XgY2w4J1ozxE9zK4Q1PtT 5HLSxMNzFv8QUW0c7dyLjrQJ+XLy7+toYTKruZfpnAsxzy81ygPqtc1dce1jSb2zM7+g f1wBULQOPQEAYH8OCYrIWf5nvnzbf8+StrzLN81uav/gfSxWiHbOQoKDCkNE96r7WyRL A8GfotzkqAEIP0d2+698jyBA5NXAoSrerhUKMwj4k/gmgjGv0MYmql0Vo+59Y4F9eJuo hMDHuBLDJWy8rSfQFl0hwT3hN3+b8LuXzYwW5Dao0MWr47pPakEFMmBtSr2/hEd8QsSq WDlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=qZxiHqi5; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y12-v6si2560663plk.705.2018.03.10.02.46.24; Sat, 10 Mar 2018 02:46:39 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=qZxiHqi5; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752070AbeCJKpe (ORCPT + 99 others); Sat, 10 Mar 2018 05:45:34 -0500 Received: from mail-io0-f193.google.com ([209.85.223.193]:46083 "EHLO mail-io0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751985AbeCJKpc (ORCPT ); Sat, 10 Mar 2018 05:45:32 -0500 Received: by mail-io0-f193.google.com with SMTP id p78so6253320iod.13 for ; Sat, 10 Mar 2018 02:45:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9Ych13RWRCaj4NUtKSVQr8FzQPT7JUMt0RP9ydDYMRg=; b=qZxiHqi5nkGc5Ivz5BPJt7l6Kytpa4rDXeNSFFlvG8sbC2MLe3OgOjhoXhCXMVvfK4 Npw44nCB0057WMrB2XPfOIBgLv670mcKE/mVKE2LL67fK4r36vIXvcskxkj65T0PGMcR BK3EsrjtsZG58vkr7FCRjX7EzCfOWXWZOncXh14UYWwv+y89IlVS50axYRvuoWr1na0e D6/DkDNhRL2Sy8fUZqmcY7gKksr/Xe23B9sLl2y1ELAxvb5SUFwfwcxbjo+EGcX6/vFz xfbv5txewi8zTWAw5T6s5QIdp/S1N3FZ2gfiVv6qBYgsOBrJSm+wvDKlkVSnuqk/2r32 /z8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9Ych13RWRCaj4NUtKSVQr8FzQPT7JUMt0RP9ydDYMRg=; b=TzSMN5I1tfXvh2M4vcOzuYQgu6vvBNTX1JHo5bkaT1EFr/+f4tF4xkbWm2eXQ7TT+E 8HGacf+M9+Ye9c8ggw1Q/d7Ql2tA/r0UMiryg32hUJE+R2zP6Q0mz9W3Xt9B8RLIjHCV 2qs5EdZsEzGiYRXXwwi4KvKLoeMtjvrzKLpC6nYxI+rVNd0IGZLxl43tMOtlTS+quhtU /EEr/r4wXi0Zm8id6fDAB4awwBzSLccE2XpwLGPd5CpFLXi9n62kdZcTICsOc7YQ5XiG Gn2Gd1+nQdONEuaOA8Pe2j2XuiKxSYeh3PButpLVSzMWi64m3BrC8kEpitpz1poBLf7J 890Q== X-Gm-Message-State: AElRT7H2b7ZuJS3Apc4WC4g+GlJMboByZaPE3/+NWPP1v+X9SjYOVa1f Uh8vci/5cvz/Xy3yBnjWIb6BiL38N4ZsWyj+ixfZ9A== X-Received: by 10.107.183.65 with SMTP id h62mr1787483iof.278.1520678731280; Sat, 10 Mar 2018 02:45:31 -0800 (PST) MIME-Version: 1.0 References: <01000161fc0b4755-df0621f4-ab5d-479a-b425-adf98427a308-000000@email.amazonses.com> <0100016206a68850-bd5c96b3-f275-46ea-98b1-1317e02a5d6e-000000@email.amazonses.com> <29c1640a-cf19-ca19-7de9-96f202edfb5a@redhat.com> <010001620bafa06b-41525407-603e-40a9-ba11-6033b2f5dcc7-000000@email.amazonses.com> In-Reply-To: <010001620bafa06b-41525407-603e-40a9-ba11-6033b2f5dcc7-000000@email.amazonses.com> From: Thiebaud Weksteen Date: Sat, 10 Mar 2018 10:45:20 +0000 Message-ID: Subject: Re: Regression from efi: call get_event_log before ExitBootServices To: Jeremy Cline , Ard Biesheuvel Cc: hdegoede@redhat.com, Javier Martinez Canillas , Jarkko Sakkinen , linux-efi@vger.kernel.org, linux-integrity@vger.kernel.org, tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 9, 2018 at 5:54 PM Jeremy Cline 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 handling it. > > So, if we reach that stage in the function it could either be that: > > * The allocation did not succeed, somehow, but the firmware still returned > > 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 (possible) > > 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 b/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_retrieve_tpm2_eventlog_1_2(efi_system_table_t *sys_table_arg) > 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 configuration table\n"); > 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? Thanks > Regards, > Jeremy