From patchwork Wed Oct 2 16:58:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 175021 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp1020344ill; Wed, 2 Oct 2019 10:03:56 -0700 (PDT) X-Google-Smtp-Source: APXvYqw03f1tXdP5oGkv8Ym+IaG3QTPYKGhc27w92wNqsmvNVfvYdyFtFMhcAZ8Z2KgU28mWBbBa X-Received: by 2002:a17:906:4801:: with SMTP id w1mr3929614ejq.245.1570035836394; Wed, 02 Oct 2019 10:03:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570035836; cv=none; d=google.com; s=arc-20160816; b=KjhqggV4QbQPYOpqPoR7KmUzdeMQ4ZPpf/rdycciSWgwuxHiSDPmaq8ldkRFRQvYhO Dt4tr1e698/KNzmQUN4r09E6jvuvpA1CQ7KXVjEpwGkJaGiYRBXcMpkgMVjxoAu79Wjf qp1vKy4sQx82SINvAzFCT6LUd/k1Czux2TY2gcQzKTTeM+KLGJFgTgDL1C4D1SbKRMP0 QA3CPge5rcJZrhKVMYEAl6tZ0/pS/ru6SSejkbc57jD4LUSIIwdeJ+Ncmqb3yJvjjITM ViGRaJYw2UB3fHEjrMSryHJDP/I/HSL4/1N3oU6CG07vRKh/4Vsmv8hlGdXeVGRO8KrP V7kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=TNYLGJx+lu9+SgPr9a/2JABv2HQmtSq9Qr99wIga2I8=; b=fVr4JrL2aocdx6M2an7egUi8chl7MzaKYkMkcXnm6tvwotCAZr1Jxv/EdEuhjnGLDY cFJblbP6MFZ5lxBED1ka90B4/cLbqICF7sz2mhrh5EGZb5tKotg9j9YMtxp/t+NVq1Q8 BXY88zo0ea+lw3GLWJhF3uQ6Q8UVsasiXrJZpWU6HatqLKIO6mmXoNKvasVVgQGq3hOe 7VGvVTHUeo/OdrIBgZCEwyHh4qNaQRaaqXYU711LiaryZWES62reZ5GSdWAR/EMXxD8a YTaN8ze010qNl1pR/WwgSZWSNlj/tbxIZHGBCJbqMoUdJ+HCT272jJxWhjisKRveKasq 6Uow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rNrSpN2f; 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 q15si4768244ejj.183.2019.10.02.10.03.56; Wed, 02 Oct 2019 10:03:56 -0700 (PDT) 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=rNrSpN2f; 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 S1728685AbfJBRDz (ORCPT + 27 others); Wed, 2 Oct 2019 13:03:55 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:38458 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728484AbfJBRDy (ORCPT ); Wed, 2 Oct 2019 13:03:54 -0400 Received: by mail-wr1-f68.google.com with SMTP id w12so20534468wro.5 for ; Wed, 02 Oct 2019 10:03:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TNYLGJx+lu9+SgPr9a/2JABv2HQmtSq9Qr99wIga2I8=; b=rNrSpN2fIml21+JUO1szkLdGWyZora2ylQ6bw5F7f6ogf4DamBuc3Xq6GoKoTawH+G 8Gn9nGylOrnQYYzu0IiorMdMNunHOEvIi7ZKh49gsQV9PUWdjCMMuxAd6zHDKao+Uu4X 7npGmKdct0a0u8DCW7XocS5rpPhBi6hf6U5yZinYSbdal+++tjG2N9sLY9R9DtuMUEfr kjrazD0vJy1kDoTR3HufHNQLJ1J75VZU+KgunYObAvCkFJhzK18MT5ZH6Jp1dQ3SmXQ2 +h8Mk4lFiAfMuMOu1URy375g2NLitC7Ymi2hmW027ZxoaBL3BZ4NcRkOxNMkhfR3z6EQ cWuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TNYLGJx+lu9+SgPr9a/2JABv2HQmtSq9Qr99wIga2I8=; b=JOBlRtK3djil2CrS96MqvC3bW2Ipncg/xgpYthoVfv60MwFekYvgllnUNVgpCvJo6u MI0KNShs5M+iGfrH+H/x5uoP15RDaUTsjdGFDaIsRVd543DVn1K/M57LpuiFFnJEhyiA r1u7fHg1ffSckfd8orYyxQKK8kEk9Xl570ZVhB2oDP8zJgm1rNxtlSEl5x6yP/FbSfEn zrqrk2/xk2a6KlsvfuiEb4Vd+Nn6oscX8Xj+AgvFLNqOEJG5EsCIB0H6O1UAxYvgP3kE LZLQoQ/o/frrk9q0K2+maWtG8P6tpNNVdqX4pfD/3o4i7/TLtWr0K3TGBQmeFzbG8E7s bw0Q== X-Gm-Message-State: APjAAAX7NMgQV0GxX33uPlW8OyiiFG4IrO7Ri4ixsxsdc0Id6gHVrj5L ZDeWNd0Kjmq/yk6HKJZH5yHJUA== X-Received: by 2002:a5d:4a01:: with SMTP id m1mr3517743wrq.343.1570035831778; Wed, 02 Oct 2019 10:03:51 -0700 (PDT) Received: from sudo.home ([2a01:cb1d:112:6f00:f145:3252:fc29:76c9]) by smtp.gmail.com with ESMTPSA id f18sm7085459wmh.43.2019.10.02.10.03.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Oct 2019 10:03:51 -0700 (PDT) From: Ard Biesheuvel To: linux-efi@vger.kernel.org, Ingo Molnar , Thomas Gleixner Cc: Ard Biesheuvel , linux-kernel@vger.kernel.org, Ben Dooks , Dave Young , Jarkko Sakkinen , Jerry Snitselaar , linux-integrity@vger.kernel.org, Lukas Wunner , Lyude Paul , Matthew Garrett , Octavian Purdila , Peter Jones , Scott Talbert Subject: [PATCH 2/7] efivar/ssdt: don't iterate over EFI vars if no SSDT override was specified Date: Wed, 2 Oct 2019 18:58:59 +0200 Message-Id: <20191002165904.8819-3-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191002165904.8819-1-ard.biesheuvel@linaro.org> References: <20191002165904.8819-1-ard.biesheuvel@linaro.org> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The kernel command line option efivar_ssdt= allows the name to be specified of an EFI variable containing an ACPI SSDT table that should be loaded into memory by the OS, and treated as if it was provided by the firmware. Currently, that code will always iterate over the EFI variables and compare each name with the provided name, even if the command line option wasn't set to begin with. So bail early when no variable name was provided. This works around a boot regression on the 2012 Mac Pro, as reported by Scott. Fixes: 475fb4e8b2f4 ("efi / ACPI: load SSTDs from EFI variables") Cc: # v4.9+ Cc: Octavian Purdila Tested-by: Scott Talbert Signed-off-by: Ard Biesheuvel --- drivers/firmware/efi/efi.c | 3 +++ 1 file changed, 3 insertions(+) -- 2.20.1 diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index 8d3e778e988b..69f00f7453a3 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c @@ -267,6 +267,9 @@ static __init int efivar_ssdt_load(void) void *data; int ret; + if (!efivar_ssdt[0]) + return 0; + ret = efivar_init(efivar_ssdt_iter, &entries, true, &entries); list_for_each_entry_safe(entry, aux, &entries, list) {