From nobody Sat Jul 5 16:46:57 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1531947067120920.7380977461772; Wed, 18 Jul 2018 13:51:07 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 54A462098C8A8; Wed, 18 Jul 2018 13:51:01 -0700 (PDT) Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id BCEF22098C8A1 for ; Wed, 18 Jul 2018 13:50:59 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 126D487A85; Wed, 18 Jul 2018 20:50:59 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-92.rdu2.redhat.com [10.10.120.92]) by smtp.corp.redhat.com (Postfix) with ESMTP id 10C53111E407; Wed, 18 Jul 2018 20:50:57 +0000 (UTC) X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=66.187.233.73; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org From: Laszlo Ersek To: edk2-devel-01 Date: Wed, 18 Jul 2018 22:50:42 +0200 Message-Id: <20180718205043.17574-6-lersek@redhat.com> In-Reply-To: <20180718205043.17574-1-lersek@redhat.com> References: <20180718205043.17574-1-lersek@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 18 Jul 2018 20:50:59 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 18 Jul 2018 20:50:59 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'lersek@redhat.com' RCPT:'' Subject: [edk2] [PATCH 5/6] ShellPkg/UefiShellLib: drop DeviceHandle param of ShellOpenFileByDevicePath() X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jaben Carsey , Ruiyu Ni MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The ShellOpenFileByDevicePath() API promises to set the DeviceHandle output parameter to the handle of the filesystem identified by the FilePath input parameter. However, this doesn't actually happen when the UEFI Shell 2.0 method is used (which is basically "always" nowadays). Accordingly, the only caller of ShellOpenFileByDevicePath(), namely ShellOpenFileByName(), defines a (dummy) local DeviceHandle variable just so it can call ShellOpenFileByDevicePath(). Remove the useless output parameter. Cc: Jaben Carsey Cc: Ruiyu Ni Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1008 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek --- ShellPkg/Library/UefiShellLib/UefiShellLib.inf | 2 +- ShellPkg/Include/Library/ShellLib.h | 2 -- ShellPkg/Library/UefiShellLib/UefiShellLib.c | 11 ++++------- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/ShellPkg/Library/UefiShellLib/UefiShellLib.inf b/ShellPkg/Libr= ary/UefiShellLib/UefiShellLib.inf index 0df632378fe6..38d9a4b81f5f 100644 --- a/ShellPkg/Library/UefiShellLib/UefiShellLib.inf +++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.inf @@ -19,7 +19,7 @@ [Defines] BASE_NAME =3D UefiShellLib FILE_GUID =3D 449D0F00-2148-4a43-9836-F10B3980ECF5 MODULE_TYPE =3D UEFI_DRIVER - VERSION_STRING =3D 1.1 + VERSION_STRING =3D 1.2 LIBRARY_CLASS =3D ShellLib|UEFI_APPLICATION UEFI_DRIVER= DXE_RUNTIME_DRIVER DXE_DRIVER CONSTRUCTOR =3D ShellLibConstructor DESTRUCTOR =3D ShellLibDestructor diff --git a/ShellPkg/Include/Library/ShellLib.h b/ShellPkg/Include/Library= /ShellLib.h index e360a67ac751..92fddc50f5dd 100644 --- a/ShellPkg/Include/Library/ShellLib.h +++ b/ShellPkg/Include/Library/ShellLib.h @@ -89,7 +89,6 @@ ShellSetFileInfo ( =20 @param[in, out] FilePath On input, the device path to the file. O= n output, the remaining device path. - @param[out] DeviceHandle Pointer to the system device handle. @param[out] FileHandle Pointer to the file handle. @param[in] OpenMode The mode to open the file with. @param[in] Attributes The file's file attributes. @@ -115,7 +114,6 @@ EFI_STATUS EFIAPI ShellOpenFileByDevicePath( IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath, - OUT EFI_HANDLE *DeviceHandle, OUT SHELL_FILE_HANDLE *FileHandle, IN UINT64 OpenMode, IN UINT64 Attributes diff --git a/ShellPkg/Library/UefiShellLib/UefiShellLib.c b/ShellPkg/Librar= y/UefiShellLib/UefiShellLib.c index 3c24ba1742bf..18c3be4a8bc7 100644 --- a/ShellPkg/Library/UefiShellLib/UefiShellLib.c +++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.c @@ -472,7 +472,6 @@ ShellSetFileInfo ( =20 @param FilePath on input the device path to the file. On output the remaining device path. - @param DeviceHandle pointer to the system device handle. @param FileHandle pointer to the file handle. @param OpenMode the mode to open the file with. @param Attributes the file's file attributes. @@ -498,7 +497,6 @@ EFI_STATUS EFIAPI ShellOpenFileByDevicePath( IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath, - OUT EFI_HANDLE *DeviceHandle, OUT SHELL_FILE_HANDLE *FileHandle, IN UINT64 OpenMode, IN UINT64 Attributes @@ -511,8 +509,9 @@ ShellOpenFileByDevicePath( EFI_FILE_PROTOCOL *Handle2; CHAR16 *FnafPathName; UINTN PathLen; + EFI_HANDLE DeviceHandle; =20 - if (FilePath =3D=3D NULL || FileHandle =3D=3D NULL || DeviceHandle =3D= =3D NULL) { + if (FilePath =3D=3D NULL || FileHandle =3D=3D NULL) { return (EFI_INVALID_PARAMETER); } =20 @@ -538,11 +537,11 @@ ShellOpenFileByDevicePath( // Status =3D gBS->LocateDevicePath (&gEfiSimpleFileSystemProtocolGuid, FilePath, - DeviceHandle); + &DeviceHandle); if (EFI_ERROR (Status)) { return Status; } - Status =3D gBS->OpenProtocol(*DeviceHandle, + Status =3D gBS->OpenProtocol(DeviceHandle, &gEfiSimpleFileSystemProtocolGuid, (VOID**)&EfiSimpleFileSystemProtocol, gImageHandle, @@ -690,7 +689,6 @@ ShellOpenFileByName( IN UINT64 Attributes ) { - EFI_HANDLE DeviceHandle; EFI_DEVICE_PATH_PROTOCOL *FilePath; EFI_STATUS Status; EFI_FILE_INFO *FileInfo; @@ -774,7 +772,6 @@ ShellOpenFileByName( FilePath =3D mEfiShellEnvironment2->NameToPath ((CHAR16*)FileName); if (FilePath !=3D NULL) { return (ShellOpenFileByDevicePath(&FilePath, - &DeviceHandle, FileHandle, OpenMode, Attributes)); --=20 2.14.1.3.gb7cf6e02401b _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel