Received: by 10.223.185.116 with SMTP id b49csp6638061wrg; Thu, 8 Mar 2018 10:36:52 -0800 (PST) X-Google-Smtp-Source: AG47ELsSWkyY7geOa1v19uqfamA2DVd/+xIGraZEas2zfT+TQyoCji+q1JbJ7R2l7w/6MYY7lqeS X-Received: by 2002:a17:902:8492:: with SMTP id c18-v6mr24782054plo.40.1520534212619; Thu, 08 Mar 2018 10:36:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520534212; cv=none; d=google.com; s=arc-20160816; b=YF1ECsuBzlabHN58ATC8gSZQ1MHZ+vnrjNOYC4QwfhERsHvxk51ds+UqQCW/I9vEn9 NN6ZCjay5Iz2fKL7l+zXY7Cm+0gaOlUetHXpxHn40D9hlCyu/SCIWITjueP1x95rvqrl oR4sAvAPQo8e1PX2HYphQx67GdDGHrtU6bg1jI4Xwq1tx+UPXqlb3EYxKgk+n4JYruES K5WdSNzdQ8v2jqF5hHhGaNzocRCcDetHLkqYGrpSkmM2YScwSdZUL6g3cra4YCvR+rYw g3Mk5rhIgGAE4A/6qceUH5PLvo6BPytW6vgDHXrCTnVT9O0KOf5bmy/zaeYETB3wmnCt mFCQ== 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 :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=I/P/NnveBKx+yN5ApJv2/1v2GpyZn/VwmQ7J4i8h2ug=; b=fqWq65XUxCzChlhp5l13msMSHpP39vmBIMnXQfsSxwAKGP3rP/g/PJcRgrHVVSxJIX 88NgQoFMwRo8cIEOAZwWrG5bphpCNWykNKZp3Cwqk/zY1dgrsP1iWitTEYeZuEwxsYoV SZRJyI4J1X2i5VW6GHmVZAV0wYfibUjp3pvSNp+QJCJinByP+rm7rxGYzLJHLvx/nC8F wyGhOAjtwzuoHsyPSsWQALDqbtBm/B3As2dplwxBi41dj7/LLxC9Lx2jrL/xVucH6y2v NoHmT9v+iwjj+vLakqfIoanEuOjcV/Fz2Sv+4M8BWdojp+u6T43VGCefqZDrLM3LLO2V 66Bw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CO6R7wNo; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l6si13309137pgq.562.2018.03.08.10.36.37; Thu, 08 Mar 2018 10:36:52 -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=@linaro.org header.s=google header.b=CO6R7wNo; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755983AbeCHSfC (ORCPT + 99 others); Thu, 8 Mar 2018 13:35:02 -0500 Received: from mail-it0-f68.google.com ([209.85.214.68]:39672 "EHLO mail-it0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755625AbeCHSfA (ORCPT ); Thu, 8 Mar 2018 13:35:00 -0500 Received: by mail-it0-f68.google.com with SMTP id l187so9077840ith.4 for ; Thu, 08 Mar 2018 10:34:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=I/P/NnveBKx+yN5ApJv2/1v2GpyZn/VwmQ7J4i8h2ug=; b=CO6R7wNo602NgCvT498vfghXeeSlHJlY21nK5CX+o+SlVA/oE0S4QZyjfmAgYE0F0V v2jRbs500249JM35QZtCnTc0pnH980b2mJgFYTqUWyagYVoZ/IAPozk9q90McrNLkpSe X5B+6XRQjE17WJJokNoOGuNcO1jthpQBtArAM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=I/P/NnveBKx+yN5ApJv2/1v2GpyZn/VwmQ7J4i8h2ug=; b=XdRnpREJf5p8Rdv4I/OkDulaClnrs2NB1owRM5Bak43wE7zd1I4Rpc9GWa5v6DGkt7 tMYGQh2dj3baQ1kWzas2I8rhe3fWYXfuaDmtAlmELDS14G4ipy7h2kPjE4KKLKeeazy6 AXSmW/l5v9jwzRSHVOcqxiQqXpe49oLBEAhNUcdxOlbEdNyOtPrcfdCOZnKSVkKnEFRQ pUgnJvUHg77so3W5WJc2gZ0k13/rcfk07a14gaZo2N0Y3LecyzjfhXYxpLxVPB0ekYzL /wc6vCCepRxDnlvCnBfLeAhgRuDdxxU9mLht+p0zC46CGBdQiLLD6qqehVy452LhMAFj KpLQ== X-Gm-Message-State: AElRT7GHMWLKHCzp1CdYvI5Y6yejgBy08WBoCavQS2zmPg4TKi6ypvrX siu8ngXRtphRv/3FZ2jo8N5YfNnDcjSMr180TQTWfw== X-Received: by 10.36.90.5 with SMTP id v5mr29540535ita.138.1520534099345; Thu, 08 Mar 2018 10:34:59 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.138.209 with HTTP; Thu, 8 Mar 2018 10:34:58 -0800 (PST) In-Reply-To: References: <1519414953-5478-1-git-send-email-tbaicar@codeaurora.org> <1519414953-5478-2-git-send-email-tbaicar@codeaurora.org> <20180224072054.GA3264@dhcp-128-65.nay.redhat.com> From: Ard Biesheuvel Date: Thu, 8 Mar 2018 18:34:58 +0000 Message-ID: Subject: Re: [PATCH 1/2] efi/esrt: fix unsupported version initialization failure To: Tyler Baicar , Peter Jones Cc: Dave Young , linux-efi@vger.kernel.org, Linux Kernel Mailing List , Jeff Hugo , Sameer Goel , AKASHI Takahiro , Timur Tabi 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 8 March 2018 at 18:15, Ard Biesheuvel wrote: > On 8 March 2018 at 18:00, Ard Biesheuvel wrote: >> On 8 March 2018 at 16:11, Tyler Baicar wrote: >>> On 2/24/2018 2:20 AM, Dave Young wrote: >>>> >>>> On 02/23/18 at 12:42pm, Tyler Baicar wrote: >>>>> >>>>> If ESRT initialization fails due to an unsupported version, the >>>>> early_memremap allocation is never unmapped. This will cause an >>>>> early ioremap leak. So, make sure to unmap the memory allocation >>>>> before returning from efi_esrt_init(). >>>>> >>>>> Signed-off-by: Tyler Baicar >>>>> --- >>>>> drivers/firmware/efi/esrt.c | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git a/drivers/firmware/efi/esrt.c b/drivers/firmware/efi/esrt.c >>>>> index c47e0c6..504f3c3 100644 >>>>> --- a/drivers/firmware/efi/esrt.c >>>>> +++ b/drivers/firmware/efi/esrt.c >>>>> @@ -285,7 +285,7 @@ void __init efi_esrt_init(void) >>>>> } else { >>>>> pr_err("Unsupported ESRT version %lld.\n", >>>>> tmpesrt.fw_resource_version); >>>>> - return; >>>>> + goto err_memunmap; >>>>> } >>>>> if (tmpesrt.fw_resource_count > 0 && max - size < entry_size) { >>>>> -- >>>> >>>> Reviewed-by: Dave Young >>> >>> Thank you Dave for your review here and input on the other patch. >>> >>> Ard, >>> >>> Can this patch be picked up? I understand patch 2 is not acceptable, but >>> this one should >>> be good to go I think. >>> >> >> Yeah you're right. I'll pick it up as a bugfix. > > Actually, on second thought, could you respin this patch, and just > move the memunamp() to right after the memcpy()? That way, we can get > rid of all the 'goto err_memunmap's afaict > OK, now I'm confused. Does anyone have a clue why in efi_esrt_init() the memremap() is done a second time? AFAICT it just reserves the region, it does not actually access the second mapping at all.