Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3398686pxf; Mon, 22 Mar 2021 05:39:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzrcPEH37LmmPFMs7iojSb88niT3v0p/zZNy/JLf+N+KC0o1z2CPScecsb/T1b5KMBX9Zse X-Received: by 2002:aa7:d492:: with SMTP id b18mr25317624edr.381.1616416781215; Mon, 22 Mar 2021 05:39:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616416781; cv=none; d=google.com; s=arc-20160816; b=zpC2u0/KemVPn2gd6Rx0PRdFYg9+E4pHlc9md/S+7br4VK/PrhsFF92Hou8yQhNQqY Ok1XAbXJBhs86UuunaAPEQcYU1HCv9hGc9K1qFClKjuzZrRIC8Fyiz6QvGfhNNwMJh9F tLukwDLE0QzfdGDl9RR3KKmwAKy86QWJhxlIDi2yC/GN+ofxhtpRh6b903Bjt1zU7ral 7fwpGIed14fVWVX0sVrFf9JaalyqRTH1fVDQDTpj2GT1wzkB1qKfVladEsxCuBBUG5AM 5TmHeNTbEJoscyLM5VKPFzBs2MbkYNgOHauEq8COXYr/9h5gCMKO+z6Bi4gpkD/Mbn/p 88ng== 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=xDy/p/y+vLsQzKZP2+GeMFBlc/uNnVzEHe5PAd2e8L954lP31Q/VcEN2lQDWqb03js 4VLpbk2oz1GHH0jw45T7SSsFVkYomcpS55LaTSeo+aYGtpzAcXIovpbJ7uButheUiJBJ a2KVTT9C/YIU+qkfsphU4IU2cOs2KIC/ZXhRowJnr8q+HEopjmEJAWtCC4E/k8fUuZqx 0rluLiA7rFTbd3cFMaTek8fXt6J3U6CGz7jOGr9hXH33o9J3QdzcvQAZVxZW5XDA7QLc QFxZ6UyHE7S/ndiGDVNCwnPvXyT/C/uznOecuXK1X5AYwpbKpttdKcFxUcDgeoG4dQx0 hp+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=gGs3WrlD; 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 ce13si11795899edb.43.2021.03.22.05.39.17; Mon, 22 Mar 2021 05:39:41 -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=gGs3WrlD; 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 S231343AbhCVMig (ORCPT + 99 others); Mon, 22 Mar 2021 08:38:36 -0400 Received: from mail.kernel.org ([198.145.29.99]:56988 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231628AbhCVMeA (ORCPT ); Mon, 22 Mar 2021 08:34:00 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A35A061998; Mon, 22 Mar 2021 12:33:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1616416440; bh=ft9Lb4MR6Vk8OXPD4zVw5IuZdRbUn+8SmoXMMeTeq2s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gGs3WrlDtGeb0YmPbdm6l+UdK5/FUSeuH0XHZccM/9eN0ibu9RQRweIK7Xb9i0+RF EmcPLZKUmEYOKlkDoTNPJ6D0XCHDK7SyMeMtRf8cBb1VCjM7c0pmhtUOgYApxdjCf6 wha7Zseoj9mwubwGz5T54u+T7wmi2tSUdBSsbF98= 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.11 106/120] efivars: respect EFI_UNSUPPORTED return from firmware Date: Mon, 22 Mar 2021 13:28:09 +0100 Message-Id: <20210322121933.205331003@linuxfoundation.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210322121929.669628946@linuxfoundation.org> References: <20210322121929.669628946@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: