From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ED33AEDE9A2 for ; Tue, 10 Sep 2024 15:50:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rgofgLNsfAQcJf2+YN06u+qiDF3uuA0MGmgRnpzqhno=; b=YrP5bi0bkKdQYD jDiurujpQS7EZ1hQ/g9/iXBCnOzREYKVwxp8cv/HroT6udYGGd+gZfk6sODKxzvM7my+zKr1rBaZV G9bz+ah7F28/af5NQY5bZqttbNoNrdwh3bveprNdVbBQAzM7W5G1nuYHydL+7dBZhYpFUJa8YXx01 8JowKCC50RSTlFyK6DBYoz4vUH+dZr21J7LGP18D3Q8nn1F9xbX7dJ5xFTvoo1EXZ9uno3LogO7dI mslreL9TzuiAocxoQRcrmSKSzn5qX6cb6GQOY37w8XEwmFMs0LTvNFgPTgKbOP1LAuQRYWEx6i3QD 4xcgO00C1oxQmpfF6TTw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1so38g-00000006E43-2Ylx; Tue, 10 Sep 2024 15:50:46 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1so34N-00000006Crh-3dty for kexec@lists.infradead.org; Tue, 10 Sep 2024 15:46:21 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5c24c92f699so6279865a12.2 for ; Tue, 10 Sep 2024 08:46:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725983177; x=1726587977; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=M5hE1fXxYGteGDXTL1cL2butIFPQq/2aSEB57x6JcN4=; b=D6RjAApT3j3/9rUuLav1FcXB4Jn6+I1Di+A9shC632qgLZsWD0EmvFtI64nX/fQxuo 9Z489XUcLAjQmHQvzyoEPOjK0IKkVWa/g9uwK6h//IO12AiA/+rHozGn4OjI2Xkt+q4y jq5MQmy2Vd4wqk5ikIBBSW4heVOoiWKSI2S8xRfLxPzL+sGrpJFjoaRfDOGciaK6ldKB rbiVk+7t52Q88xOX+G+NiMuM9Vp8nnWbWvrxveG9EVazMPaujhj1RUN0sgE3Fq9Q1sT/ hsZ9QC/1oR/YjAXawDkgjyGJA2yClBTWr356rbQLa0Cko9O1z1LZ5eR5jHG5XCRT+SgS u8ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725983177; x=1726587977; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=M5hE1fXxYGteGDXTL1cL2butIFPQq/2aSEB57x6JcN4=; b=FxcJyNVUbfHavUvZMRPopU9RSjXGgqlJJjj7icNJ9b+kG4kDY4rzbF/N5yVzReDby7 OrwhF8Ko4xWU4s18hRcICfFWiODSR8Ct8UffFR1h5RRpjMwG+vSpoQfJGvQwFTbse2xb BuBV5LbkehQB0BZLECULsADeO2TJCgs0gOaEFkBzQuFSNbzH7TaF1k/6yX0phff+2e2g fwq9bU+MJ49atMjwL7nIN4/sDe884qVb3CAv8lQctLuj3FLBKqle6/dThZDiKD0LA5E3 kU1Jb83Jlby7Q4f0ikmu9G4V1PpAdgG5VR4+nYOzrpuEQxuPMF0C9A6Hqholgy8M3PU1 50Rg== X-Forwarded-Encrypted: i=1; AJvYcCVox8OHSMpMhohcZ/irBj0igQJHkIRcDT1bxX5cFQEPetK2D3dhETfauFRcNeoWoCcK5HL7kQ==@lists.infradead.org X-Gm-Message-State: AOJu0Yw9JeqbC69+syAc/tybZ7DMgu5ybuHp0GBzto8ioI5kreL/va9v Z3ypNjuVHqYDiyPg6gjZp3+Tp4grcTwHyfV3C5EbjryYn+aWUYny X-Google-Smtp-Source: AGHT+IFMQLfuXiiliWsCtziJxd30hsALblQ4GT8eOdoksyoOUVS3BwT/NFM4Vc0jDrzrMCc3oZ9Mpw== X-Received: by 2002:a05:6402:5203:b0:5c2:6e51:9d22 with SMTP id 4fb4d7f45d1cf-5c3dc7bd575mr10172025a12.25.1725983176535; Tue, 10 Sep 2024 08:46:16 -0700 (PDT) Received: from ?IPV6:2a03:83e0:1126:4:eb:d0d0:c7fd:c82c? ([2620:10d:c092:500::4:61d8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c3ebd41cd7sm4422605a12.3.2024.09.10.08.46.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 10 Sep 2024 08:46:16 -0700 (PDT) Message-ID: <9b024f7d-e326-46eb-bd88-71a16151fcf0@gmail.com> Date: Tue, 10 Sep 2024 16:46:15 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: EFI table being corrupted during Kexec To: "Eric W. Biederman" , Breno Leitao Cc: ardb@kernel.org, linux-efi@vger.kernel.org, kexec@lists.infradead.org, bhe@redhat.com, vgoyal@redhat.com, devel@edk2.groups.io, rppt@kernel.org, gourry@gourry.net, rmikey@meta.com, tglx@linutronix.de References: <20240910-juicy-festive-sambar-9ad23a@devvm32600> <87ed5rd1qf.fsf@email.froward.int.ebiederm.org> Content-Language: en-US From: Usama Arif In-Reply-To: <87ed5rd1qf.fsf@email.froward.int.ebiederm.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240910_084619_956574_845526A8 X-CRM114-Status: GOOD ( 45.74 ) X-BeenThere: kexec@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+kexec=archiver.kernel.org@lists.infradead.org CgpPbiAxMC8wOS8yMDI0IDE1OjI2LCBFcmljIFcuIEJpZWRlcm1hbiB3cm90ZToKPiBCcmVubyBM ZWl0YW8gPGxlaXRhb0BkZWJpYW4ub3JnPiB3cml0ZXM6Cj4gCj4+IFdlJ3ZlIHNlZW4gYSBwcm9i bGVtIGluIHVwc3RyZWFtIGtlcm5lbCBrZXhlYywgd2hlcmUgYSBFRkkgVFBNIGxvZyBldmVudCB0 YWJsZQo+PiBpcyBiZWluZyBvdmVyd3JpdHRlbi4gIFRoaXMgcHJvYmxlbSBoYXBwZW4gb24gcmVh bCBtYWNoaW5lLCBhcyB3ZWxsIGFzIGluIGEKPj4gcmVjZW50IEVESzIgcWVtdSBWTS4KPj4KPj4g RGlnZ2luZyBkZWVwLCB0aGUgdGFibGUgaXMgYmVpbmcgb3ZlcndyaXR0ZW4gZHVyaW5nIGtleGVj LCBtb3JlIHByZWNpc2VseSB3aGVuCj4+IHJlbG9jYXRpbmcga2VybmVsIChyZWxvY2F0ZV9rZXJu ZWwoKSBmdW5jdGlvbikuCj4+Cj4+IEkndmUgYWxzbyBmb3VuZCB0aGF0IHRoZSB0YWJsZSBpcyBi ZWluZyBwcm9wZXJseSByZXNlcnZlZCB1c2luZwo+PiBtZW1ibG9ja19yZXNlcnZlKCkgZWFybHkg aW4gdGhlIGJvb3QsIGFuZCB0aGF0IHJhbmdlIGdldHMgb3ZlcndyaXR0ZW4gbGF0ZXIgaW4KPj4g YnkgcmVsb2NhdGVfa2VybmVsKCkuIEluIG90aGVyIHdvcmRzLCBrZXhlYyBpcyBvdmVyd3JpdGlu ZyBhIG1lbW9yeSB0aGF0IHdhcwo+PiBwcmV2aW91c2x5IHJlc2VydmVkIChhcyBtZW1ibG9ja19y ZXNlcnZlKCkpLgo+Pgo+PiBVc2FtYSBmb3VuZCB0aGF0IGtleGVjIG9ubHkgaG9ub3VycyBtZW1v cnkgcmVzZXJ2YXRpb25zIGZyb20gL3N5cy9maXJtd2FyZS9tZW1tYXAKPj4gd2hpY2ggY29tZXMg ZnJvbSBlODIwX3RhYmxlX2Zpcm13YXJlIHRhYmxlLgo+Pgo+PiBMb29raW5nIGF0IHRoZSBUUE0g c3BlYywgSSBmb3VuZCB0aGUgZm9sbG93aW5nIHBhcnQ6Cj4+Cj4+IAlJZiB0aGUgQUNQSSBUUE0y IHRhYmxlIGNvbnRhaW5zIHRoZSBhZGRyZXNzIGFuZCBzaXplIG9mIHRoZSBQbGF0Zm9ybSBGaXJt d2FyZSBUQ0cgbG9nLAo+PiAJZmlybXdhcmUg4oCccGluc+KAnSB0aGUgbWVtb3J5IGFzc29jaWF0 ZWQgd2l0aCB0aGUgUGxhdGZvcm0gRmlybXdhcmUgVENHIGxvZywgYW5kIHJlcG9ydHMKPj4gCXRo aXMgbWVtb3J5IGFzIOKAnFJlc2VydmVk4oCdIG1lbW9yeSB2aWEgdGhlIElOVCAxNWgvRTgyMCBp bnRlcmZhY2UuCj4+Cj4+Cj4+IEZyb206IGh0dHBzOi8vdHJ1c3RlZGNvbXB1dGluZ2dyb3VwLm9y Zy93cC1jb250ZW50L3VwbG9hZHMvUEMtQ2xpZW50UGxhdGZvcm1fUHJvZmlsZV9mb3JfVFBNXzJw MF9TeXN0ZW1zX3Y0OV8xNjExMTRfcHVibGljLXJldmlldy5wZGYKPj4KPj4gSSBhbSB3b25kZXJp bmcgaWYgdGhhdCBtZW1vcnkgcmVnaW9uL3JhbmdlIHNob3VsZCBiZSBwYXJ0IG9mIGU4MjAgdGFi bGUgdGhhdCBpcwo+PiBwYXNzZWQgYnkgRUZJIGZpcm13YXJlIHRvIGtlcm5lbCwgYW5kIGlmIGl0 IGlzIG5vdCBwYXNzZWQgKGFzIGl0IGlzIG5vdCBiZWluZwo+PiBwYXNzZWQgdG9kYXkpLCB0aGVu IHRoZSBrZXJuZWwgZG9lc24ndCBuZWVkIHRvIHJlc3BlY3QgaXQsIGFuZCBpdCBpcyBmcmVlIHRv Cj4+IG92ZXJ3cml0ZSAoYXMgaXQgZG9lcyB0b2RheSkuIEluIG90aGVyIHdvcmRzLCB0aGlzIGlz IGEgZmlybXdhcmUgYnVnIGFuZCBub3QgYQo+PiBrZXJuZWwgYnVnLgo+Pgo+PiBBbSBJIG1pc3Np bmcgc29tZXRoaW5nPwo+IAo+IEkgYWdyZWUgdGhhdCB0aGlzIGFwcGVhcnMgdG8gYmUgYSBmaXJt d2FyZSBidWcuICBUaGlzIG1lbW9yeSBpcyByZXNlcnZlZAo+IGluIG9uZSBsb2NhdGlvbiBhbmQg bm90IGluIGFub3RoZXIgbG9jYXRpb24uCj4gCj4gVGhhdCBzYWlkIHRoYXQgZG9lc24ndCBtZWFu IHdlIGNhbid0IGRlYWwgd2l0aCBpdCBpbiB0aGUga2VybmVsLgo+IGFjcGlfdGFibGVfdXBncmFk ZSBzZWVtcyB0byBoYXZlIGhpdCBhIHNpbWlsYXIgaXNzdWUgaXNzdWUgYW5kIGNhbGxzCj4gYXJj aF9yZXNlcnZlX21lbV9hcmVhIHRvIHJlc2VydmUgdGhlIGFyZWEgaW4gdGhlIGU4MjB0YWJsZXMu Cj4gCj4gCj4gVGhlIGxhc3QgdGltZSBJIGxvb2tlZCB0aGUgZTgyMCB0YWJsZXMgKGluIHRoZSBr ZXJuZWwpIGFyZSB1c2VkIHRvIHN0b3JlCj4gdGhlIGVmaSBtZW1vcnkgbWFwIHdoZW4gYXZhaWxh YmxlIGFuZCBvbmx5IHVzZSB0aGUgdHJ1ZSBlODIwIGRhdGEgb24KPiBvbGRlciBzeXN0ZW1zLgo+ IAo+IFdoaWNoIGlzIGEgbG9uZyB3YXkgb2Ygc2F5IHRoYXQgdGhlIGU4MjAgdGFibGUgaW4gdGhl IGtlcm5lbCBsYXN0IEkKPiBsb29rZWQgd2FzIHRoZSBtYXN0ZXIgdGFibGUsIG9mIGhvdyB0aGUg ZmlybXdhcmUgdmlld3MgdGhlIG1lbW9yeS4KPiAKPiAKPiBBcyBJIHJlY2FsbCB0aGUgbWVtYmxv Y2sgYWxsb2NhdG9yIGlzIHRoZSBib290c3RyYXAgbWVtb3J5IGFsbG9jYXRvcgo+IHVzZWQgd2hl biBicmluZ2luZyB1cCB0aGUga2VybmVsLiAgU28gSSBkb24ndCBzZWUgcmVzZXJ2aW5nIHNvbWV0 aGluZwo+IGluIHRoZSBtZW1ibG9jayBhbGxvY2F0b3IgYXMgYmVpbmcgYXV0aG9yaXRhdGl2ZSBh cyB0byBob3cgdGhlIGZpcm13YXJlCj4gaGFzIHNldHVwIG1lbW9yeS4KPiAKPiAKbT4gCj4gSSB3 b3VsZCBzdWdnZXN0IHdyaXRpbmcgYSBwYXRjaCB0byB1cGRhdGUgd2hhdGV2ZXIgaXMgY2FsbGlu Zwo+IG1lbWJsb2NrX3Jlc2VydmUgdG8gYWxzbywgb3IgcGVyaGFwcyBpbiBwcmVmZXJlbmNlIHRv IHVwZGF0ZSB0aGUgZTgyMAo+IG1hcC4gIElmIHRoZSBjb2RlIGlzIG5vdCB4ODYgc3BlY2lmaWMg SSB3b3VsZCBzdWdnZXN0IHVzaW5nIEFDUEkncwo+IGFyY2hfcmVzZXJ2ZV9tZW1fYXJlYSBjYWxs Lgo+IAoKU28gSSBiZWxpZXZlIGFyY2hfcmVzZXJ2ZV9tZW1fYXJlYSBpcyB1bmZvcnR1bmF0ZWx5 IG5vdCBlbm91Z2guIEl0IHVwZGF0ZXMKZTgyMF90YWJsZSwgYnV0IGtleGVjIHNlZW1zIHRvIHVz ZSBlODIwX3RhYmxlX2Zpcm13YXJlLiBJIGJlbGlldmUgdGhlIHByb3BlcgpmaXggc2hvdWxkIGJl IGluIGVmaSBmaXJtd2FyZSwgd2hpY2ggbWlnaHQgYmUgYSBiaXQgZGlmZmljdWx0IHRvIGdldCB0 aHJvdWdoLiAKCkJ1dCB3aXRoIHRoZSBiZWxvdyBzZWNvbmRhcnkgZml4IGluIGtlcm5lbCwgdGhl IGNvcnJ1cHRpb24gaXMgZ29uZSwgaXQgd291bGQgYmUKZ29vZCB0byBoYXZlIGVmaSwgdHBtIGFu ZCBrZXhlYyBleHBlcnRzIHRvIGxvb2sgYXQgdGhpcyBhbmQgdGVsbCBpZiBpdCBtYWtlcyBzZW5z ZT8KClRoYW5rcyEKVXNhbWEKCgpGcm9tIGNkOGE5YThiNTkwM2ZhODZmNGY3NmEyNTBmZDQ4YmMy YWJmYjEzZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFVzYW1hIEFyaWYgPHVzYW1h YXJpZjY0MkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTAgU2VwIDIwMjQgMTY6MTQ6MzggKzAxMDAK U3ViamVjdDogW1BBVENIXSBlZmkvdHBtOiBhZGQgZWZpLnRwbV9sb2cgYXMgYSByZXNlcnZlZCBy ZWdpb24gaW4KIDgyMF90YWJsZV9maXJtd2FyZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAoKTG9va2luZyBhdCB0aGUgVFBNIHNwZWMgWzFdCgpJZiB0aGUgQUNQSSBUUE0yIHRhYmxl IGNvbnRhaW5zIHRoZSBhZGRyZXNzIGFuZCBzaXplIG9mIHRoZSBQbGF0Zm9ybQpGaXJtd2FyZSBU Q0cgbG9nLCBmaXJtd2FyZSDigJxwaW5z4oCdIHRoZSBtZW1vcnkgYXNzb2NpYXRlZCB3aXRoIHRo ZQpQbGF0Zm9ybSBGaXJtd2FyZVRDRyBsb2csIGFuZCByZXBvcnRzIHRoaXMgbWVtb3J5IGFzIOKA nFJlc2VydmVk4oCdIG1lbW9yeQp2aWEgdGhlIElOVCAxNWgvRTgyMCBpbnRlcmZhY2UuCgpJdCBs b29rcyBsaWtlIHRoZSBmaXJtd2FyZSBzaG91bGQgcGFzcyB0aGlzIGFzIHJlc2VydmVkIGluIGU4 MjAgbWVtb3J5Cm1hcC4gSG93ZXZlciwgaXQgZG9lc24ndCBzZWVtIHRvLiBUaGUgZmlybXdhcmUg YmVpbmcgdGVzdGVkIG9uIGlzOgpkbWlkZWNvZGUgLXMgYmlvcy12ZXJzaW9uCmVkazItMjAyNDAy MTQtMi5lbDkKCldoZW4gdGhpcyBhcmVhIGlzIG5vdCByZXNlcnZlZCwgaXQgY29tZXMgdXAgYXMg dXNhYmxlIGluCi9zeXMvZmlybXdhcmUvbWVtbWFwLiBUaGlzIG1lYW5zIHRoYXQga2V4ZWMsIHdo aWNoIHVzZXMgdGhhdCBtZW1tYXAKdG8gZmluZCB1c2FibGUgbWVtb3J5IHJlZ2lvbnMsIGNhbiBz ZWxlY3QgdGhlIHJlZ2lvbiB3aGVyZSBlZmkudHBtX2xvZwppcyBhbmQgb3ZlcndyaXRlIGl0IGFu ZCByZWxvY2F0ZV9rZXJuZWwuCgpIYXZpbmcgYSBmaXggaW4gZmlybXdhcmUgY2FuIGJlIGRpZmZp Y3VsdCB0byBnZXQgdGhyb3VnaC4gQXMgYSBzZWNvbmRhcnkgZml4LAp0aGlzIHBhdGNoIG1hcmtz IHRoYXQgcmVnaW9uIGFzIHJlc2VydmVkIGluIGU4MjBfdGFibGVfZmlybXdhcmUgc28gdGhhdApr ZXhlYyBkb2Vzbid0IHVzZSBpdCBmb3Iga2VybmVsIHNlZ21lbnRzLgoKWzFdIGh0dHBzOi8vdHJ1 c3RlZGNvbXB1dGluZ2dyb3VwLm9yZy93cC1jb250ZW50L3VwbG9hZHMvUEMtQ2xpZW50UGxhdGZv cm1fUHJvZmlsZV9mb3JfVFBNXzJwMF9TeXN0ZW1zX3Y0OV8xNjExMTRfcHVibGljLXJldmlldy5w ZGYKClNpZ25lZC1vZmYtYnk6IFVzYW1hIEFyaWYgPHVzYW1hYXJpZjY0MkBnbWFpbC5jb20+Ci0t LQogYXJjaC94ODYvaW5jbHVkZS9hc20vZTgyMC9hcGkuaCB8IDIgKysKIGFyY2gveDg2L2tlcm5l bC9lODIwLmMgICAgICAgICAgfCA2ICsrKysrKwogYXJjaC94ODYvcGxhdGZvcm0vZWZpL2VmaS5j ICAgICB8IDYgKysrKysrCiBkcml2ZXJzL2Zpcm13YXJlL2VmaS90cG0uYyAgICAgIHwgNSArKyst LQogaW5jbHVkZS9saW51eC9lZmkuaCAgICAgICAgICAgICB8IDcgKysrKysrKwogNSBmaWxlcyBj aGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Fy Y2gveDg2L2luY2x1ZGUvYXNtL2U4MjAvYXBpLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9lODIw L2FwaS5oCmluZGV4IDJlNzRhN2YwZTkzNS4uNGU5YWEyNGYwM2JkIDEwMDY0NAotLS0gYS9hcmNo L3g4Ni9pbmNsdWRlL2FzbS9lODIwL2FwaS5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2U4 MjAvYXBpLmgKQEAgLTE2LDYgKzE2LDggQEAgZXh0ZXJuIGJvb2wgZTgyMF9fbWFwcGVkX2FsbCh1 NjQgc3RhcnQsIHU2NCBlbmQsIGVudW0gZTgyMF90eXBlIHR5cGUpOwogCiBleHRlcm4gdm9pZCBl ODIwX19yYW5nZV9hZGQgICAodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgZW51bSBlODIwX3R5cGUgdHlw ZSk7CiBleHRlcm4gdTY0ICBlODIwX19yYW5nZV91cGRhdGUodTY0IHN0YXJ0LCB1NjQgc2l6ZSwg ZW51bSBlODIwX3R5cGUgb2xkX3R5cGUsIGVudW0gZTgyMF90eXBlIG5ld190eXBlKTsKK2V4dGVy biB1NjQgIGU4MjBfX3JhbmdlX3VwZGF0ZV9maXJtd2FyZSh1NjQgc3RhcnQsIHU2NCBzaXplLCBl bnVtIGU4MjBfdHlwZSBvbGRfdHlwZSwKKwkJCQkJZW51bSBlODIwX3R5cGUgbmV3X3R5cGUpOwog ZXh0ZXJuIHU2NCAgZTgyMF9fcmFuZ2VfcmVtb3ZlKHU2NCBzdGFydCwgdTY0IHNpemUsIGVudW0g ZTgyMF90eXBlIG9sZF90eXBlLCBib29sIGNoZWNrX3R5cGUpOwogZXh0ZXJuIHU2NCAgZTgyMF9f cmFuZ2VfdXBkYXRlX3RhYmxlKHN0cnVjdCBlODIwX3RhYmxlICp0LCB1NjQgc3RhcnQsIHU2NCBz aXplLCBlbnVtIGU4MjBfdHlwZSBvbGRfdHlwZSwgZW51bSBlODIwX3R5cGUgbmV3X3R5cGUpOwog CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jIGIvYXJjaC94ODYva2VybmVsL2U4 MjAuYwppbmRleCA0ODkzZDMwY2U0MzguLjkxMjQwMDE2MTYyMyAxMDA2NDQKLS0tIGEvYXJjaC94 ODYva2VybmVsL2U4MjAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jCkBAIC01MzgsNiAr NTM4LDEyIEBAIHU2NCBfX2luaXQgZTgyMF9fcmFuZ2VfdXBkYXRlX3RhYmxlKHN0cnVjdCBlODIw X3RhYmxlICp0LCB1NjQgc3RhcnQsIHU2NCBzaXplLAogCXJldHVybiBfX2U4MjBfX3JhbmdlX3Vw ZGF0ZSh0LCBzdGFydCwgc2l6ZSwgb2xkX3R5cGUsIG5ld190eXBlKTsKIH0KIAordTY0IF9faW5p dCBlODIwX19yYW5nZV91cGRhdGVfZmlybXdhcmUodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgZW51bSBl ODIwX3R5cGUgb2xkX3R5cGUsCisJCQkJICAgICAgIGVudW0gZTgyMF90eXBlIG5ld190eXBlKQor eworCXJldHVybiBfX2U4MjBfX3JhbmdlX3VwZGF0ZShlODIwX3RhYmxlX2Zpcm13YXJlLCBzdGFy dCwgc2l6ZSwgb2xkX3R5cGUsIG5ld190eXBlKTsKK30KKwogLyogUmVtb3ZlIGEgcmFuZ2Ugb2Yg bWVtb3J5IGZyb20gdGhlIEU4MjAgdGFibGU6ICovCiB1NjQgX19pbml0IGU4MjBfX3JhbmdlX3Jl bW92ZSh1NjQgc3RhcnQsIHU2NCBzaXplLCBlbnVtIGU4MjBfdHlwZSBvbGRfdHlwZSwgYm9vbCBj aGVja190eXBlKQogewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGxhdGZvcm0vZWZpL2VmaS5jIGIv YXJjaC94ODYvcGxhdGZvcm0vZWZpL2VmaS5jCmluZGV4IDg4YTk2ODE2ZGU5YS4uNjQ0YzVkYThm YjM5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wbGF0Zm9ybS9lZmkvZWZpLmMKKysrIGIvYXJjaC94 ODYvcGxhdGZvcm0vZWZpL2VmaS5jCkBAIC0xNzEsNiArMTcxLDEyIEBAIHN0YXRpYyB2b2lkIF9f aW5pdCBkb19hZGRfZWZpX21lbW1hcCh2b2lkKQogCWU4MjBfX3VwZGF0ZV90YWJsZShlODIwX3Rh YmxlKTsKIH0KIAordm9pZCBhcmNoX3VwZGF0ZV9maXJtd2FyZV9hcmVhKHU2NCBhZGRyLCB1NjQg c2l6ZSkKK3sKKwllODIwX19yYW5nZV91cGRhdGVfZmlybXdhcmUoZWZpLnRwbV9sb2csIHNpemUs IEU4MjBfVFlQRV9SQU0sIEU4MjBfVFlQRV9SRVNFUlZFRCk7CisJZTgyMF9fdXBkYXRlX3RhYmxl KGU4MjBfdGFibGVfZmlybXdhcmUpOworfQorCiAvKgogICogR2l2ZW4gYWRkX2VmaV9tZW1tYXAg ZGVmYXVsdHMgdG8gMCBhbmQgdGhlcmUgaXMgbm8gYWx0ZXJuYXRpdmUKICAqIGU4MjAgbWVjaGFu aXNtIGZvciBzb2Z0LXJlc2VydmVkIG1lbW9yeSwgaW1wb3J0IHRoZSBmdWxsIEVGSSBtZW1vcnkK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZWZpL3RwbS5jIGIvZHJpdmVycy9maXJtd2Fy ZS9lZmkvdHBtLmMKaW5kZXggZThkNjliZDU0OGYzLi43ODdjNWEyMDYwMTAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZmlybXdhcmUvZWZpL3RwbS5jCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvZWZpL3Rw bS5jCkBAIC02MCw3ICs2MCw5IEBAIGludCBfX2luaXQgZWZpX3RwbV9ldmVudGxvZ19pbml0KHZv aWQpCiAJfQogCiAJdGJsX3NpemUgPSBzaXplb2YoKmxvZ190YmwpICsgbG9nX3RibC0+c2l6ZTsK LQltZW1ibG9ja19yZXNlcnZlKGVmaS50cG1fbG9nLCB0Ymxfc2l6ZSk7CisJaWYgKCFtZW1ibG9j a19yZXNlcnZlKGVmaS50cG1fbG9nLCB0Ymxfc2l6ZSkpIHsKKwkJYXJjaF91cGRhdGVfZmlybXdh cmVfYXJlYShlZmkudHBtX2xvZywgdGJsX3NpemUpOworCX0KIAogCWlmIChlZmkudHBtX2ZpbmFs X2xvZyA9PSBFRklfSU5WQUxJRF9UQUJMRV9BRERSKSB7CiAJCXByX2luZm8oIlRQTSBGaW5hbCBF dmVudHMgdGFibGUgbm90IHByZXNlbnRcbiIpOwpAQCAtMTA3LDQgKzEwOSwzIEBAIGludCBfX2lu aXQgZWZpX3RwbV9ldmVudGxvZ19pbml0KHZvaWQpCiAJZWFybHlfbWVtdW5tYXAobG9nX3RibCwg c2l6ZW9mKCpsb2dfdGJsKSk7CiAJcmV0dXJuIHJldDsKIH0KLQpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9saW51eC9lZmkuaCBiL2luY2x1ZGUvbGludXgvZWZpLmgKaW5kZXggNmJmM2M0ZmU4NTExLi45 YzIzOWNkZmY3NzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZWZpLmgKKysrIGIvaW5jbHVk ZS9saW51eC9lZmkuaApAQCAtMTM3MSw0ICsxMzcxLDExIEBAIGV4dGVybiBzdHJ1Y3QgYmxvY2tp bmdfbm90aWZpZXJfaGVhZCBlZml2YXJfb3BzX25oOwogdm9pZCBlZml2YXJzX2dlbmVyaWNfb3Bz X3JlZ2lzdGVyKHZvaWQpOwogdm9pZCBlZml2YXJzX2dlbmVyaWNfb3BzX3VucmVnaXN0ZXIodm9p ZCk7CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0Cit2b2lkIF9faW5pdCBhcmNoX3VwZGF0ZV9maXJt d2FyZV9hcmVhKHU2NCBhZGRyLCB1NjQgc2l6ZSk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lk IF9faW5pdCBhcmNoX3VwZGF0ZV9maXJtd2FyZV9hcmVhKHU2NCBhZGRyLCB1NjQgc2l6ZSkKK3sK K30KKyNlbmRpZgogI2VuZGlmIC8qIF9MSU5VWF9FRklfSCAqLwotLSAKMi40My41CgoKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprZXhlYyBtYWlsaW5n IGxpc3QKa2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2tleGVjCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 397D118EFE2 for ; Tue, 10 Sep 2024 15:46:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725983181; cv=none; b=m43WNmhCUOmAwgvLKt/b8pZjFIw0Jm3m9vIE4XBMIfHPSuma35FJZ1ssC/2TXWUCH6hxyNEiTK/+gi4VnPPx8fG5gLX/fI2u2wpnPXmLmcN3NzlgaJwa19nPfx68/4DgHzy7XwXehhtu2p6pHwV1PsJIoGhN2XvvwwXi0C8yYys= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725983181; c=relaxed/simple; bh=Lm1J0jBmzxpiMr4BGogglqDpUPxkyIWoY72JU4lUZX8=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Y5DgLLDQ9/IZ6GzcEVgIov9RPLqNelBk5Hlj1+TmFLomKgC1p3lny+dGjLrimi28KrVr5Ni5PswigKQhQPgezWoe4cG6uH7ejW7gqVvHnV+nj7Zs35mgb4D4tlKfXLlwlY+mpDqCr5We1FIymlt6Qu9y6FmwWQPteC3iJYRw2CM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=T6mRjreM; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="T6mRjreM" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5c24c92f699so6279864a12.2 for ; Tue, 10 Sep 2024 08:46:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725983177; x=1726587977; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=M5hE1fXxYGteGDXTL1cL2butIFPQq/2aSEB57x6JcN4=; b=T6mRjreMZ3Ctr9Q1xjTo+CNHimsfzZZ7haUXcmh0L3m9S/VNwOerrMryXY3UxznjUq z6nunDRw99lJN2tQPUXYH6t8GjvT7AuDaU9ULzTLKkqdvseB0HkBIMDK7haiDoeOIATg mPceCvuMl0NIAx2tAIhy1vvZltHkc0eDodob3gbDyaIs/8imfhSDEqFkQZnVp7KygMZb zYFM7X9ElEIAEJ1iyJNpqcj8O0wRPm1iei6k1fGn7df1GI3xO3RkgyuGI6Sw7jXfUFoG K95vtV/A3NVA83ZUL8dOq1TfE8XceXHiuazE2IukU0qPUgHGpUAbaLV0qti4aJWtonqC DfEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725983177; x=1726587977; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=M5hE1fXxYGteGDXTL1cL2butIFPQq/2aSEB57x6JcN4=; b=JlEJJg0tqH4T0t0oZVN/IXRtfm9CL4i63TQ7XMPaA1EZM6qq0NU4u78Nky4AoUdoSo fzZVYe3SbCqfNlfxVKr5E+Tj+VrySAf0MdR0F9zcdOZybA38d5Sa0zVghkr+0Q8v1Yjv AkLzI4WV2jnsulImnhosrSxiMewmBYM6h4Ds6aaBSmvVvDUaQY28nhHFBeElISLgFyez jZAf/udLoCBrwqu6wMv+ECVt7Emm4m7qePg96ez+MJPO6F17JqGnlIdriBVIzcmXtMJw sc1XLlQgWG/mwT0RPft3hGrw51pE6nn+4/vTN9xn3GxjHmHeVNNco8z2gogBLjvneRoV Rw7Q== X-Forwarded-Encrypted: i=1; AJvYcCUxBx65WoNGvovXmhQ1s4dsr48Z7EC4Im+pas16HVPVPRwD88sXKW8kdl0NdgxOGSX/KxggPOzC8BY=@vger.kernel.org X-Gm-Message-State: AOJu0YxuVpaZWnWkMF+I0A7gJpKUCNzA0DqL3JlEhatA50Ce9Unk8SyQ 3nYL2pby7zmxfyo71LFS56rj41afMetZYQESik3VmZSflrivjlx6 X-Google-Smtp-Source: AGHT+IFMQLfuXiiliWsCtziJxd30hsALblQ4GT8eOdoksyoOUVS3BwT/NFM4Vc0jDrzrMCc3oZ9Mpw== X-Received: by 2002:a05:6402:5203:b0:5c2:6e51:9d22 with SMTP id 4fb4d7f45d1cf-5c3dc7bd575mr10172025a12.25.1725983176535; Tue, 10 Sep 2024 08:46:16 -0700 (PDT) Received: from ?IPV6:2a03:83e0:1126:4:eb:d0d0:c7fd:c82c? ([2620:10d:c092:500::4:61d8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c3ebd41cd7sm4422605a12.3.2024.09.10.08.46.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 10 Sep 2024 08:46:16 -0700 (PDT) Message-ID: <9b024f7d-e326-46eb-bd88-71a16151fcf0@gmail.com> Date: Tue, 10 Sep 2024 16:46:15 +0100 Precedence: bulk X-Mailing-List: linux-efi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: EFI table being corrupted during Kexec To: "Eric W. Biederman" , Breno Leitao Cc: ardb@kernel.org, linux-efi@vger.kernel.org, kexec@lists.infradead.org, bhe@redhat.com, vgoyal@redhat.com, devel@edk2.groups.io, rppt@kernel.org, gourry@gourry.net, rmikey@meta.com, tglx@linutronix.de References: <20240910-juicy-festive-sambar-9ad23a@devvm32600> <87ed5rd1qf.fsf@email.froward.int.ebiederm.org> Content-Language: en-US From: Usama Arif In-Reply-To: <87ed5rd1qf.fsf@email.froward.int.ebiederm.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 10/09/2024 15:26, Eric W. Biederman wrote: > Breno Leitao writes: > >> We've seen a problem in upstream kernel kexec, where a EFI TPM log event table >> is being overwritten. This problem happen on real machine, as well as in a >> recent EDK2 qemu VM. >> >> Digging deep, the table is being overwritten during kexec, more precisely when >> relocating kernel (relocate_kernel() function). >> >> I've also found that the table is being properly reserved using >> memblock_reserve() early in the boot, and that range gets overwritten later in >> by relocate_kernel(). In other words, kexec is overwriting a memory that was >> previously reserved (as memblock_reserve()). >> >> Usama found that kexec only honours memory reservations from /sys/firmware/memmap >> which comes from e820_table_firmware table. >> >> Looking at the TPM spec, I found the following part: >> >> If the ACPI TPM2 table contains the address and size of the Platform Firmware TCG log, >> firmware “pins” the memory associated with the Platform Firmware TCG log, and reports >> this memory as “Reserved” memory via the INT 15h/E820 interface. >> >> >> From: https://trustedcomputinggroup.org/wp-content/uploads/PC-ClientPlatform_Profile_for_TPM_2p0_Systems_v49_161114_public-review.pdf >> >> I am wondering if that memory region/range should be part of e820 table that is >> passed by EFI firmware to kernel, and if it is not passed (as it is not being >> passed today), then the kernel doesn't need to respect it, and it is free to >> overwrite (as it does today). In other words, this is a firmware bug and not a >> kernel bug. >> >> Am I missing something? > > I agree that this appears to be a firmware bug. This memory is reserved > in one location and not in another location. > > That said that doesn't mean we can't deal with it in the kernel. > acpi_table_upgrade seems to have hit a similar issue issue and calls > arch_reserve_mem_area to reserve the area in the e820tables. > > > The last time I looked the e820 tables (in the kernel) are used to store > the efi memory map when available and only use the true e820 data on > older systems. > > Which is a long way of say that the e820 table in the kernel last I > looked was the master table, of how the firmware views the memory. > > > As I recall the memblock allocator is the bootstrap memory allocator > used when bringing up the kernel. So I don't see reserving something > in the memblock allocator as being authoritative as to how the firmware > has setup memory. > > m> > I would suggest writing a patch to update whatever is calling > memblock_reserve to also, or perhaps in preference to update the e820 > map. If the code is not x86 specific I would suggest using ACPI's > arch_reserve_mem_area call. > So I believe arch_reserve_mem_area is unfortunately not enough. It updates e820_table, but kexec seems to use e820_table_firmware. I believe the proper fix should be in efi firmware, which might be a bit difficult to get through. But with the below secondary fix in kernel, the corruption is gone, it would be good to have efi, tpm and kexec experts to look at this and tell if it makes sense? Thanks! Usama >From cd8a9a8b5903fa86f4f76a250fd48bc2abfb13d6 Mon Sep 17 00:00:00 2001 From: Usama Arif Date: Tue, 10 Sep 2024 16:14:38 +0100 Subject: [PATCH] efi/tpm: add efi.tpm_log as a reserved region in 820_table_firmware MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Looking at the TPM spec [1] If the ACPI TPM2 table contains the address and size of the Platform Firmware TCG log, firmware “pins” the memory associated with the Platform FirmwareTCG log, and reports this memory as “Reserved” memory via the INT 15h/E820 interface. It looks like the firmware should pass this as reserved in e820 memory map. However, it doesn't seem to. The firmware being tested on is: dmidecode -s bios-version edk2-20240214-2.el9 When this area is not reserved, it comes up as usable in /sys/firmware/memmap. This means that kexec, which uses that memmap to find usable memory regions, can select the region where efi.tpm_log is and overwrite it and relocate_kernel. Having a fix in firmware can be difficult to get through. As a secondary fix, this patch marks that region as reserved in e820_table_firmware so that kexec doesn't use it for kernel segments. [1] https://trustedcomputinggroup.org/wp-content/uploads/PC-ClientPlatform_Profile_for_TPM_2p0_Systems_v49_161114_public-review.pdf Signed-off-by: Usama Arif --- arch/x86/include/asm/e820/api.h | 2 ++ arch/x86/kernel/e820.c | 6 ++++++ arch/x86/platform/efi/efi.c | 6 ++++++ drivers/firmware/efi/tpm.c | 5 +++-- include/linux/efi.h | 7 +++++++ 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/e820/api.h b/arch/x86/include/asm/e820/api.h index 2e74a7f0e935..4e9aa24f03bd 100644 --- a/arch/x86/include/asm/e820/api.h +++ b/arch/x86/include/asm/e820/api.h @@ -16,6 +16,8 @@ extern bool e820__mapped_all(u64 start, u64 end, enum e820_type type); extern void e820__range_add (u64 start, u64 size, enum e820_type type); extern u64 e820__range_update(u64 start, u64 size, enum e820_type old_type, enum e820_type new_type); +extern u64 e820__range_update_firmware(u64 start, u64 size, enum e820_type old_type, + enum e820_type new_type); extern u64 e820__range_remove(u64 start, u64 size, enum e820_type old_type, bool check_type); extern u64 e820__range_update_table(struct e820_table *t, u64 start, u64 size, enum e820_type old_type, enum e820_type new_type); diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index 4893d30ce438..912400161623 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -538,6 +538,12 @@ u64 __init e820__range_update_table(struct e820_table *t, u64 start, u64 size, return __e820__range_update(t, start, size, old_type, new_type); } +u64 __init e820__range_update_firmware(u64 start, u64 size, enum e820_type old_type, + enum e820_type new_type) +{ + return __e820__range_update(e820_table_firmware, start, size, old_type, new_type); +} + /* Remove a range of memory from the E820 table: */ u64 __init e820__range_remove(u64 start, u64 size, enum e820_type old_type, bool check_type) { diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index 88a96816de9a..644c5da8fb39 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c @@ -171,6 +171,12 @@ static void __init do_add_efi_memmap(void) e820__update_table(e820_table); } +void arch_update_firmware_area(u64 addr, u64 size) +{ + e820__range_update_firmware(efi.tpm_log, size, E820_TYPE_RAM, E820_TYPE_RESERVED); + e820__update_table(e820_table_firmware); +} + /* * Given add_efi_memmap defaults to 0 and there is no alternative * e820 mechanism for soft-reserved memory, import the full EFI memory diff --git a/drivers/firmware/efi/tpm.c b/drivers/firmware/efi/tpm.c index e8d69bd548f3..787c5a206010 100644 --- a/drivers/firmware/efi/tpm.c +++ b/drivers/firmware/efi/tpm.c @@ -60,7 +60,9 @@ int __init efi_tpm_eventlog_init(void) } tbl_size = sizeof(*log_tbl) + log_tbl->size; - memblock_reserve(efi.tpm_log, tbl_size); + if (!memblock_reserve(efi.tpm_log, tbl_size)) { + arch_update_firmware_area(efi.tpm_log, tbl_size); + } if (efi.tpm_final_log == EFI_INVALID_TABLE_ADDR) { pr_info("TPM Final Events table not present\n"); @@ -107,4 +109,3 @@ int __init efi_tpm_eventlog_init(void) early_memunmap(log_tbl, sizeof(*log_tbl)); return ret; } - diff --git a/include/linux/efi.h b/include/linux/efi.h index 6bf3c4fe8511..9c239cdff771 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h @@ -1371,4 +1371,11 @@ extern struct blocking_notifier_head efivar_ops_nh; void efivars_generic_ops_register(void); void efivars_generic_ops_unregister(void); +#ifdef CONFIG_X86_64 +void __init arch_update_firmware_area(u64 addr, u64 size); +#else +static inline void __init arch_update_firmware_area(u64 addr, u64 size) +{ +} +#endif #endif /* _LINUX_EFI_H */ -- 2.43.5