From patchwork Mon Apr 25 20:06:40 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Fleming X-Patchwork-Id: 66634 Delivered-To: patch@linaro.org Received: by 10.140.93.198 with SMTP id d64csp1236973qge; Mon, 25 Apr 2016 13:16:24 -0700 (PDT) X-Received: by 10.98.52.195 with SMTP id b186mr4321176pfa.9.1461615384586; Mon, 25 Apr 2016 13:16:24 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t188si9825678pfb.52.2016.04.25.13.16.24; Mon, 25 Apr 2016 13:16:24 -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=@codeblueprint-co-uk.20150623.gappssmtp.com; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964918AbcDYUHd (ORCPT + 29 others); Mon, 25 Apr 2016 16:07:33 -0400 Received: from mail-wm0-f44.google.com ([74.125.82.44]:35936 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964899AbcDYUH3 (ORCPT ); Mon, 25 Apr 2016 16:07:29 -0400 Received: by mail-wm0-f44.google.com with SMTP id v188so111826156wme.1 for ; Mon, 25 Apr 2016 13:07:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codeblueprint-co-uk.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7NKdUgtktf8gXW4mcNt+UBm8PW0vwefWo1v9a9Xfm58=; b=tpnp0mA2pxocokGSPmNM8WIQoHGZJx8CjExJ2xb9OwhHExx34w5gamCfix8FiAEv20 m3O1JCcqQj7Jd5ltXrQuJX9bGIqDudRl3NmjSc+9RQiG0Ds3ODtcmU4jXXseNltBV1mi l/JG7Hr6g6WVZbEiHjebvNcYkOJx68MsaV/aHi2Agz9a35ZjtQdhcF2RjanPiNwMxQwH AbwAxDfjuWlwzsQnS18J4apou7GKmHqE81xROzrOtPxz6a3gKBMsnm7m0ojS4Dv1jPeV f37496l2q1dMu/uaWw6HI+mtTvj7aOj5TjPe3DBjWiB6YAmkO9EHNjd5+gH1t+P+S9Pd Zb8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7NKdUgtktf8gXW4mcNt+UBm8PW0vwefWo1v9a9Xfm58=; b=XLYtV+aWYXfx3t9c8bcHROWdiliIa2lsEPAIpDerOXvwl7/Lk+D/FlEthJYf+zaQ4y fEVALI2BdM0Gy/UsAAfvCm11LQhpxJLQOWO0F6SSm9+O+0RXJwWgLxfsgGaEggKd4efF hEsoChM6XwpRuDRMzJRQOY9VRV13pT8a1GsUnABlZy209/W/c2kP8IBoTYHdo0TwXqgH g8kbCD5rg1cZGj3KhoUgEGbpKvDJXa2Vy8yMmxyuwAYKF+GMNQxk9DLrKY2YCxKGNu3Z IVa8H81TmxLcmvISzMFttHiYwQJSwNpHRavkbYUlEzEmpuMIHlTI2EW2NSPmYMx5iXQ1 aJwQ== X-Gm-Message-State: AOPr4FXierhbpACWDUn3W6lSkgHubmT1qdY1cP/aTnjnaXUUuqK5zGyN/jq1B6TFaysN0Q== X-Received: by 10.28.224.70 with SMTP id x67mr6107763wmg.78.1461614848390; Mon, 25 Apr 2016 13:07:28 -0700 (PDT) Received: from localhost (bcdc58e5.skybroadband.com. [188.220.88.229]) by smtp.gmail.com with ESMTPSA id v64sm20353334wmv.1.2016.04.25.13.07.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Apr 2016 13:07:27 -0700 (PDT) From: Matt Fleming To: Ingo Molnar , Thomas Gleixner , "H . Peter Anvin" Cc: Ard Biesheuvel , linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Matt Fleming Subject: [PATCH 08/40] efi: Check EFI_MEMORY_DESCRIPTOR version explicitly Date: Mon, 25 Apr 2016 21:06:40 +0100 Message-Id: <1461614832-17633-9-git-send-email-matt@codeblueprint.co.uk> X-Mailer: git-send-email 2.7.3 In-Reply-To: <1461614832-17633-1-git-send-email-matt@codeblueprint.co.uk> References: <1461614832-17633-1-git-send-email-matt@codeblueprint.co.uk> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ard Biesheuvel Our efi_memory_desc_t type is based on EFI_MEMORY_DESCRIPTOR version 1 in the UEFI spec. No version updates are expected, but since we are about to introduce support for new firmware tables that use the same descriptor type, it makes sense to at least warn if we encounter other versions. Signed-off-by: Ard Biesheuvel Signed-off-by: Matt Fleming --- arch/x86/platform/efi/efi.c | 4 ++++ drivers/firmware/efi/arm-init.c | 4 ++++ 2 files changed, 8 insertions(+) -- 2.7.3 diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index 88d2fb2cb3ef..dde46cd78b8f 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c @@ -211,6 +211,10 @@ int __init efi_memblock_x86_reserve_range(void) efi.memmap.desc_size = e->efi_memdesc_size; efi.memmap.desc_version = e->efi_memdesc_version; + WARN(efi.memmap.desc_version != 1, + "Unexpected EFI_MEMORY_DESCRIPTOR version %ld", + efi.memmap.desc_version); + memblock_reserve(pmap, efi.memmap.nr_map * efi.memmap.desc_size); return 0; diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c index 90a9b473e45c..a84dddb54c14 100644 --- a/drivers/firmware/efi/arm-init.c +++ b/drivers/firmware/efi/arm-init.c @@ -198,6 +198,10 @@ void __init efi_init(void) efi.memmap.desc_size = params.desc_size; efi.memmap.desc_version = params.desc_ver; + WARN(efi.memmap.desc_version != 1, + "Unexpected EFI_MEMORY_DESCRIPTOR version %ld", + efi.memmap.desc_version); + if (uefi_init() < 0) return;