From: "Ni, Ruiyu" <ruiyu.ni@Intel.com>
To: Laszlo Ersek <lersek@redhat.com>,
edk2-devel-01 <edk2-devel@lists.01.org>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Subject: Re: [PATCH v2 6/7] ShellPkg/UefiShellLib: drop DeviceHandle param of ShellOpenFileByDevicePath()
Date: Mon, 6 Aug 2018 10:04:04 +0800 [thread overview]
Message-ID: <67724fcc-8e5d-694f-1e0e-df7025129239@Intel.com> (raw)
In-Reply-To: <20180803121537.32123-7-lersek@redhat.com>
On 8/3/2018 8:15 PM, Laszlo Ersek wrote:
> 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 <jaben.carsey@intel.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1008
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
> ---
>
> Notes:
> v2:
> - pick up Jaben's R-b
>
> 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/Library/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 = UefiShellLib
> FILE_GUID = 449D0F00-2148-4a43-9836-F10B3980ECF5
> MODULE_TYPE = UEFI_DRIVER
> - VERSION_STRING = 1.1
> + VERSION_STRING = 1.2
> LIBRARY_CLASS = ShellLib|UEFI_APPLICATION UEFI_DRIVER DXE_RUNTIME_DRIVER DXE_DRIVER
> CONSTRUCTOR = ShellLibConstructor
> DESTRUCTOR = 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 (
>
> @param[in, out] FilePath On input, the device path to the file. On 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/Library/UefiShellLib/UefiShellLib.c
> index 3c24ba1742bf..18c3be4a8bc7 100644
> --- a/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> +++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> @@ -472,7 +472,6 @@ ShellSetFileInfo (
>
> @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;
>
> - if (FilePath == NULL || FileHandle == NULL || DeviceHandle == NULL) {
> + if (FilePath == NULL || FileHandle == NULL) {
> return (EFI_INVALID_PARAMETER);
> }
>
> @@ -538,11 +537,11 @@ ShellOpenFileByDevicePath(
> //
> Status = gBS->LocateDevicePath (&gEfiSimpleFileSystemProtocolGuid,
> FilePath,
> - DeviceHandle);
> + &DeviceHandle);
> if (EFI_ERROR (Status)) {
> return Status;
> }
> - Status = gBS->OpenProtocol(*DeviceHandle,
> + Status = 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 = mEfiShellEnvironment2->NameToPath ((CHAR16*)FileName);
> if (FilePath != NULL) {
> return (ShellOpenFileByDevicePath(&FilePath,
> - &DeviceHandle,
> FileHandle,
> OpenMode,
> Attributes));
>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
--
Thanks,
Ray
next prev parent reply other threads:[~2018-08-06 2:03 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-03 12:15 [PATCH v2 0/7] UefiLib: centralize OpenFileByDevicePath() and fix its bugs Laszlo Ersek
2018-08-03 12:15 ` [PATCH v2 1/7] MdePkg/UefiLib: introduce EfiOpenFileByDevicePath() Laszlo Ersek
2018-08-06 2:03 ` Ni, Ruiyu
2018-08-03 12:15 ` [PATCH v2 2/7] IntelFrameworkPkg/FrameworkUefiLib: " Laszlo Ersek
2018-08-03 12:15 ` [PATCH v2 3/7] MdeModulePkg/RamDiskDxe: replace OpenFileByDevicePath() with UefiLib API Laszlo Ersek
2018-08-03 12:15 ` [PATCH v2 4/7] NetworkPkg/TlsAuthConfigDxe: " Laszlo Ersek
2018-08-03 12:15 ` [PATCH v2 5/7] SecurityPkg/SecureBootConfigDxe: " Laszlo Ersek
2018-08-07 12:16 ` Zhang, Chao B
2018-08-03 12:15 ` [PATCH v2 6/7] ShellPkg/UefiShellLib: drop DeviceHandle param of ShellOpenFileByDevicePath() Laszlo Ersek
2018-08-06 2:04 ` Ni, Ruiyu [this message]
2018-08-03 12:15 ` [PATCH v2 7/7] ShellPkg/UefiShellLib: rebase ShellOpenFileByDevicePath() to UefiLib API Laszlo Ersek
2018-08-06 2:04 ` Ni, Ruiyu
2018-08-03 16:09 ` [PATCH v2 0/7] UefiLib: centralize OpenFileByDevicePath() and fix its bugs Laszlo Ersek
2018-08-09 13:30 ` Laszlo Ersek
2018-08-15 17:20 ` Laszlo Ersek
2018-08-15 17:42 ` Gao, Liming
2018-08-16 18:12 ` Laszlo Ersek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=67724fcc-8e5d-694f-1e0e-df7025129239@Intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox