Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3408524pxf; Mon, 22 Mar 2021 05:55:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzEROANo6IsyoPgiY3Wr4dRUw58zo9LLpBctAqRzvBr6VgBFDthiTivCqj0qISeWnaFsh0S X-Received: by 2002:aa7:d0cb:: with SMTP id u11mr25531561edo.163.1616417724369; Mon, 22 Mar 2021 05:55:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616417724; cv=none; d=google.com; s=arc-20160816; b=lokSGY7JtDvy7eceEBlu/B5qhUKh12gE9rrZtCislIjcIWUofcaRC+lJlcfO1C2jGM AtgUk6u6K+aEpraOReJcjZAY1dyz6LSLbfW8k/6mkTZL7fE3mxX0/r1oJAGF2ukxbrsj 7FBDcLOwHjarpumhc2NqdCu80767XIEG2hqGkWyFFqgBqeF/wcEQaaQEOInW3sRDeZE3 2dHbwsqv+QT/3Mscw05GQ07LeLr2LJ0J70BkmJNA8fx2/tS7f6XF/Nvfxa2c4ccX/uzX RBOfuwcDUzFnoW4DBJ5mni196eQIt84ET35/Ewysa7NY96jCAvXQTC161GcOLbJ1jQ29 IWVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=YVn5CeYkW43FaLLSjkmzbbs4M5AzS7EM1Tx/vzCm74I=; b=CWB0Ps74S76HSBAz30VC60fWlIMlbgOaZNZJ5ni1FFkUHYK9s5aNc/oXEG97J24l5m /Nnr8nBZgF2dFsd7dYRWDHsaWc27d5lQXUC1I53bPdF6TmQ7Q1SCJuw4lpvAvfB+p7ex 4NOY/zhrB47uyiklUuuXVtjuKN9QdqYhaJm9FAuvus5CmlnnuuUY9WxW/ib1qfPQ6EZ9 61SJukBxDmYN5iTLJH8h4d9c+tkPv4KNT7pMEYgSg/YhisCTwR0jp8hymCsO7HQJCvkF do4Q6oXpDf6I12sFp5Id4Dk4WPzliFdzYaAX2Mry+TqYsWF6zULPKx20u+CyORo8nLJz NsfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="YP/oBMA0"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e9si11189695ejt.385.2021.03.22.05.55.01; Mon, 22 Mar 2021 05:55:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="YP/oBMA0"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231206AbhCVMx5 (ORCPT + 99 others); Mon, 22 Mar 2021 08:53:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:34646 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232702AbhCVMnQ (ORCPT ); Mon, 22 Mar 2021 08:43:16 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1DC90619A8; Mon, 22 Mar 2021 12:41:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1616416877; bh=ft9Lb4MR6Vk8OXPD4zVw5IuZdRbUn+8SmoXMMeTeq2s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YP/oBMA0a7aVRaTmXbCRhWEwY+GbV68ZnL+palEFQm63TdTHnR1EFTDBHJAEFekdx e+Ivl9p6anN/jLP1smONp6WFLUNkdU5ljTO4fM9wqQn282CPaGueS8flwltc7FnhVQ pLZ08WSvehYs2KLHU4XqLbJDAYzVGqCLUNuDZBDs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Shawn Guo , Ard Biesheuvel Subject: [PATCH 5.10 144/157] efivars: respect EFI_UNSUPPORTED return from firmware Date: Mon, 22 Mar 2021 13:28:21 +0100 Message-Id: <20210322121938.315527706@linuxfoundation.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210322121933.746237845@linuxfoundation.org> References: <20210322121933.746237845@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Shawn Guo commit 483028edacab374060d93955382b4865a9e07cba upstream. As per UEFI spec 2.8B section 8.2, EFI_UNSUPPORTED may be returned by EFI variable runtime services if no variable storage is supported by firmware. In this case, there is no point for kernel to continue efivars initialization. That said, efivar_init() should fail by returning an error code, so that efivarfs will not be mounted on /sys/firmware/efi/efivars at all. Otherwise, user space like efibootmgr will be confused by the EFIVARFS_MAGIC seen there, while EFI variable calls cannot be made successfully. Cc: # v5.10+ Signed-off-by: Shawn Guo Acked-by: Ard Biesheuvel Signed-off-by: Ard Biesheuvel Signed-off-by: Greg Kroah-Hartman --- drivers/firmware/efi/vars.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/drivers/firmware/efi/vars.c +++ b/drivers/firmware/efi/vars.c @@ -485,6 +485,10 @@ int efivar_init(int (*func)(efi_char16_t } break; + case EFI_UNSUPPORTED: + err = -EOPNOTSUPP; + status = EFI_NOT_FOUND; + break; case EFI_NOT_FOUND: break; default: