From nobody Fri May 3 13:40:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@qualcommdatacenter.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 Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1522054846287212.3827913184349; Mon, 26 Mar 2018 02:00:46 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 263D52258AEEE; Mon, 26 Mar 2018 01:54:08 -0700 (PDT) Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 73A4021E4903C for ; Mon, 26 Mar 2018 01:54:06 -0700 (PDT) Received: from ironmsg01-sd.qualcomm.com ([10.53.140.141]) by alexa-out.qualcomm.com with ESMTP; 26 Mar 2018 02:00:41 -0700 Received: from nasanexm01b.na.qualcomm.com ([10.85.0.82]) by ironmsg01-sd.qualcomm.com with ESMTP/TLS/AES256-SHA; 26 Mar 2018 02:00:39 -0700 Received: from jbrasen-lnx.qualcomm.com (10.80.80.8) by NASANEXM01B.na.qualcomm.com (10.85.0.82) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Mon, 26 Mar 2018 02:00:38 -0700 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=129.46.98.28; helo=alexa-out.qualcomm.com; envelope-from=jbrasen.qdt@qualcommdatacenter.com; receiver=edk2-devel@lists.01.org DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=qualcommdatacenter.com; i=@qualcommdatacenter.com; q=dns/txt; s=qcdkim; t=1522054843; x=1553590843; h=from:to:cc:subject:date:message-id:mime-version; bh=VsJFRIdAoMlzdhuYGD4MvabdK7UHphb+5vfGrZrQQHs=; b=jEw+wf55M83sEYmwwq5e90wFs4zIQiZUJH1cGnT+mrJ0GZ6wpDTQ63Uj Siwdbbz+0aX8pXGaK5ignsIq2FGNhji3yKpMF7X6yNvXusPb+31NFd9D5 hCYYuL1K7vjYEW1lYaldu6YjM4a552SRTkxIJ+VC8r2nlnfspzyvlXkcx 0=; X-IronPort-AV: E=Sophos;i="5.48,364,1517904000"; d="scan'208";a="16158521" From: To: Date: Mon, 26 Mar 2018 02:57:04 -0600 Message-ID: X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: NASANEXM01C.na.qualcomm.com (10.85.0.83) To NASANEXM01B.na.qualcomm.com (10.85.0.82) Subject: [edk2] [PATCH] MdeModulePkg/PartitionDxe: Add partition type guid to installed handle X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Jeff Brasen Add the partition type GUID for every partition to the installed handle, this is required per the UEFI specification. "The firmware must add the PartitionTypeGuid to the handle of every active GPT partition using EFI_BOOT_SERVICES.InstallProtocolInterface()." Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jeff Brasen Reviewed-by: Hao Wu Reviewed-by: Ruiyu Ni --- .../Universal/Disk/PartitionDxe/ElTorito.c | 4 ++- MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c | 4 ++- MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c | 7 +++-- .../Universal/Disk/PartitionDxe/Partition.c | 30 ++++++++++++++----= ---- .../Universal/Disk/PartitionDxe/Partition.h | 7 +++-- MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c | 4 ++- 6 files changed, 38 insertions(+), 18 deletions(-) diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c b/MdeModul= ePkg/Universal/Disk/PartitionDxe/ElTorito.c index 2084ee5..a7b5434 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c @@ -1,13 +1,14 @@ /** @file Decode an El Torito formatted CD-ROM =20 +Copyright (c) 2018 Qualcomm Datacenter Technologies, Inc. Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at http://opensource.org/licenses/bsd-license.php =20 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLI= ED. =20 **/ @@ -258,21 +259,22 @@ PartitionInstallElToritoChildHandles ( Handle, DiskIo, DiskIo2, BlockIo, BlockIo2, DevicePath, (EFI_DEVICE_PATH_PROTOCOL *) &CdDev, &PartitionInfo, Catalog->Boot.Lba * (SIZE_2KB / Media->BlockSize), Catalog->Boot.Lba * (SIZE_2KB / Media->BlockSize) + CdDev.= PartitionSize - 1, - SubBlockSize + SubBlockSize, + NULL ); if (!EFI_ERROR (Status)) { Found =3D EFI_SUCCESS; } } } =20 FreePool (VolDescriptor); =20 return Found; diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c b/MdeModulePkg/= Universal/Disk/PartitionDxe/Gpt.c index 2cd3e15..fe26a64 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c @@ -6,20 +6,21 @@ This driver will have external input - disk partition. This external input must be validated carefully to avoid security issue = like buffer overflow, integer overflow. =20 PartitionInstallGptChildHandles() routine will read disk partition conte= nt and do basic validation before PartitionInstallChildHandle(). =20 PartitionValidGptTable(), PartitionCheckGptEntry() routine will accept d= isk partition content and validate the GPT table and GPT entry. =20 +Copyright (c) 2018 Qualcomm Datacenter Technologies, Inc. Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at http://opensource.org/licenses/bsd-license.php =20 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLI= ED. =20 **/ @@ -412,21 +413,22 @@ PartitionInstallGptChildHandles ( Handle, DiskIo, DiskIo2, BlockIo, BlockIo2, DevicePath, (EFI_DEVICE_PATH_PROTOCOL *) &HdDev, &PartitionInfo, Entry->StartingLBA, Entry->EndingLBA, - BlockSize + BlockSize, + &Entry->PartitionTypeGUID ); } =20 DEBUG ((EFI_D_INFO, "Prepare to Free Pool\n")); =20 Done: if (ProtectiveMbr !=3D NULL) { FreePool (ProtectiveMbr); } if (PrimaryHeader !=3D NULL) { diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c b/MdeModulePkg/= Universal/Disk/PartitionDxe/Mbr.c index 55e9d26..479745b 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c @@ -4,20 +4,21 @@ MBR - Master Boot Record is in the first sector of a partitioned hard di= sk. The MBR supports four partitions per disk. The MBR also contains l= egacy code that is not run on an EFI system. The legacy code reads the=20 first sector of the active partition into memory and=20 =20 BPB - BIOS Parameter Block is in the first sector of a FAT file system.=20 The BPB contains information about the FAT file system. The BPB is=20 always on the first sector of a media. The first sector also conta= ins the legacy boot strap code. =20 +Copyright (c) 2018 Qualcomm Datacenter Technologies, Inc. Copyright (c) 2014, Hewlett-Packard Development Company, L.P.
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at http://opensource.org/licenses/bsd-license.php =20 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLI= ED. =20 @@ -239,21 +240,22 @@ PartitionInstallMbrChildHandles ( Handle, DiskIo, DiskIo2, BlockIo, BlockIo2, DevicePath, (EFI_DEVICE_PATH_PROTOCOL *) &HdDev, &PartitionInfo, HdDev.PartitionStart, HdDev.PartitionStart + HdDev.PartitionSize - 1, - MBR_SIZE + MBR_SIZE, + ((Mbr->Partition[Index].OSIndicator =3D=3D EFI_PARTITION) = ? &gEfiPartTypeSystemPartGuid: NULL) ); =20 if (!EFI_ERROR (Status)) { Found =3D EFI_SUCCESS; } } } else { // // It's an extended partition. Follow the extended partition // chain to get all the logical drives @@ -310,21 +312,22 @@ PartitionInstallMbrChildHandles ( Handle, DiskIo, DiskIo2, BlockIo, BlockIo2, DevicePath, (EFI_DEVICE_PATH_PROTOCOL *) &HdDev, &PartitionInfo, HdDev.PartitionStart - ParentHdDev.PartitionStart, HdDev.PartitionStart - ParentHdDev.PartitionStart + HdDev= .PartitionSize - 1, - MBR_SIZE + MBR_SIZE, + ((Mbr->Partition[0].OSIndicator =3D=3D EFI_PARTITION) ? &= gEfiPartTypeSystemPartGuid: NULL) ); if (!EFI_ERROR (Status)) { Found =3D EFI_SUCCESS; } =20 if ((Mbr->Partition[1].OSIndicator !=3D EXTENDED_DOS_PARTITION) && (Mbr->Partition[1].OSIndicator !=3D EXTENDED_WINDOWS_PARTITION) ) { break; } diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c b/MdeModu= lePkg/Universal/Disk/PartitionDxe/Partition.c index 46c0877..71acdcc 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c @@ -1,16 +1,17 @@ /** @file Partition driver that produces logical BlockIo devices from a physical BlockIo device. The logical BlockIo devices are based on the format of the raw block devices media. Currently "El Torito CD-ROM", UDF, Legacy MBR, and GPT partition schemes are supported. =20 +Copyright (c) 2018 Qualcomm Datacenter Technologies, Inc. Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at http://opensource.org/licenses/bsd-license.php =20 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLI= ED. =20 **/ @@ -394,20 +395,21 @@ PartitionDriverBindingStop ( IN EFI_HANDLE *ChildHandleBuffer ) { EFI_STATUS Status; UINTN Index; EFI_BLOCK_IO_PROTOCOL *BlockIo; EFI_BLOCK_IO2_PROTOCOL *BlockIo2; BOOLEAN AllChildrenStopped; PARTITION_PRIVATE_DATA *Private; EFI_DISK_IO_PROTOCOL *DiskIo; + EFI_GUID *TypeGuid; =20 BlockIo =3D NULL; BlockIo2 =3D NULL; Private =3D NULL; =20 if (NumberOfChildren =3D=3D 0) { // // In the case of re-entry of the PartitionDriverBindingStop, the // NumberOfChildren may not reflect the actual number of children on t= he // bus driver. Hence, additional check is needed here. @@ -486,20 +488,27 @@ PartitionDriverBindingStop ( } else { Status =3D EFI_SUCCESS; } =20 gBS->CloseProtocol ( ControllerHandle, &gEfiDiskIoProtocolGuid, This->DriverBindingHandle, ChildHandleBuffer[Index] ); + + if (IsZeroGuid (&Private->TypeGuid)) { + TypeGuid =3D NULL; + } else { + TypeGuid =3D &Private->TypeGuid; + } + // // All Software protocols have be freed from the handle so remove it. // Remove the BlockIo Protocol if has. // Remove the BlockIo2 Protocol if has. // if (BlockIo2 !=3D NULL) { // // Some device drivers might re-install the BlockIO(2) protocols for= a // media change condition. Therefore, if the FlushBlocksEx returned = with // EFI_MEDIA_CHANGED, just let the BindingStop fail to avoid potenti= al @@ -509,35 +518,35 @@ PartitionDriverBindingStop ( Status =3D gBS->UninstallMultipleProtocolInterfaces ( ChildHandleBuffer[Index], &gEfiDevicePathProtocolGuid, Private->DevicePath, &gEfiBlockIoProtocolGuid, &Private->BlockIo, &gEfiBlockIo2ProtocolGuid, &Private->BlockIo2, &gEfiPartitionInfoProtocolGuid, &Private->PartitionInfo, - Private->EspGuid, + TypeGuid, NULL, NULL ); } } else { Status =3D gBS->UninstallMultipleProtocolInterfaces ( ChildHandleBuffer[Index], &gEfiDevicePathProtocolGuid, Private->DevicePath, &gEfiBlockIoProtocolGuid, &Private->BlockIo, &gEfiPartitionInfoProtocolGuid, &Private->PartitionInfo, - Private->EspGuid, + TypeGuid, NULL, NULL ); } =20 if (EFI_ERROR (Status)) { Private->InStop =3D FALSE; gBS->OpenProtocol ( ControllerHandle, &gEfiDiskIoProtocolGuid, @@ -1097,39 +1106,41 @@ PartitionFlushBlocksEx ( @param[in] ParentDiskIo Parent DiskIo interface. @param[in] ParentDiskIo2 Parent DiskIo2 interface. @param[in] ParentBlockIo Parent BlockIo interface. @param[in] ParentBlockIo2 Parent BlockIo2 interface. @param[in] ParentDevicePath Parent Device Path. @param[in] DevicePathNode Child Device Path node. @param[in] PartitionInfo Child Partition Information interface. @param[in] Start Start Block. @param[in] End End Block. @param[in] BlockSize Child block size. + @param[in] TypeGuid Partition GUID Type. =20 @retval EFI_SUCCESS A child handle was added. @retval other A child handle was not added. =20 **/ EFI_STATUS PartitionInstallChildHandle ( IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ParentHandle, IN EFI_DISK_IO_PROTOCOL *ParentDiskIo, IN EFI_DISK_IO2_PROTOCOL *ParentDiskIo2, IN EFI_BLOCK_IO_PROTOCOL *ParentBlockIo, IN EFI_BLOCK_IO2_PROTOCOL *ParentBlockIo2, IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode, IN EFI_PARTITION_INFO_PROTOCOL *PartitionInfo, IN EFI_LBA Start, IN EFI_LBA End, - IN UINT32 BlockSize + IN UINT32 BlockSize, + IN EFI_GUID *TypeGuid ) { EFI_STATUS Status; PARTITION_PRIVATE_DATA *Private; =20 Status =3D EFI_SUCCESS; Private =3D AllocateZeroPool (sizeof (PARTITION_PRIVATE_DATA)); if (Private =3D=3D NULL) { return EFI_OUT_OF_RESOURCES; } @@ -1209,58 +1220,55 @@ PartitionInstallChildHandle ( if (Private->DevicePath =3D=3D NULL) { FreePool (Private); return EFI_OUT_OF_RESOURCES; } =20 // // Set the PartitionInfo into Private Data. // CopyMem (&Private->PartitionInfo, PartitionInfo, sizeof (EFI_PARTITION_I= NFO_PROTOCOL)); =20 - if (PartitionInfo->System =3D=3D 1) { - Private->EspGuid =3D &gEfiPartTypeSystemPartGuid; + if (TypeGuid !=3D NULL) { + CopyGuid(&(Private->TypeGuid), TypeGuid); } else { - // - // If NULL InstallMultipleProtocolInterfaces will ignore it. - // - Private->EspGuid =3D NULL; + ZeroMem ((VOID *)&(Private->TypeGuid), sizeof (EFI_GUID)); } =20 // // Create the new handle.=20 // Private->Handle =3D NULL; if (Private->DiskIo2 !=3D NULL) { Status =3D gBS->InstallMultipleProtocolInterfaces ( &Private->Handle, &gEfiDevicePathProtocolGuid, Private->DevicePath, &gEfiBlockIoProtocolGuid, &Private->BlockIo, &gEfiBlockIo2ProtocolGuid, &Private->BlockIo2, &gEfiPartitionInfoProtocolGuid, &Private->PartitionInfo, - Private->EspGuid, + TypeGuid, NULL, NULL ); } else { =20 Status =3D gBS->InstallMultipleProtocolInterfaces ( &Private->Handle, &gEfiDevicePathProtocolGuid, Private->DevicePath, &gEfiBlockIoProtocolGuid, &Private->BlockIo, &gEfiPartitionInfoProtocolGuid, &Private->PartitionInfo, - Private->EspGuid, + TypeGuid, NULL, NULL ); } =20 if (!EFI_ERROR (Status)) { // // Open the Parent Handle for the child // Status =3D gBS->OpenProtocol ( diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h b/MdeModu= lePkg/Universal/Disk/PartitionDxe/Partition.h index c763c67..f1a0520 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h @@ -1,16 +1,17 @@ /** @file Partition driver that produces logical BlockIo devices from a physical=20 BlockIo device. The logical BlockIo devices are based on the format of the raw block devices media. Currently "El Torito CD-ROM", UDF, Legacy MBR, and GPT partition schemes are supported. =20 +Copyright (c) 2018 Qualcomm Datacenter Technologies, Inc. Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at http://opensource.org/licenses/bsd-license.php =20 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLI= ED. =20 **/ @@ -58,21 +59,21 @@ typedef struct { =20 EFI_DISK_IO_PROTOCOL *DiskIo; EFI_DISK_IO2_PROTOCOL *DiskIo2; EFI_BLOCK_IO_PROTOCOL *ParentBlockIo; EFI_BLOCK_IO2_PROTOCOL *ParentBlockIo2; UINT64 Start; UINT64 End; UINT32 BlockSize; BOOLEAN InStop; =20 - EFI_GUID *EspGuid; + EFI_GUID TypeGuid; =20 } PARTITION_PRIVATE_DATA; =20 typedef struct { EFI_DISK_IO2_TOKEN DiskIo2Token; EFI_BLOCK_IO2_TOKEN *BlockIo2Token; } PARTITION_ACCESS_TASK; =20 #define PARTITION_DEVICE_FROM_BLOCK_IO_THIS(a) CR (a, PARTITION_PRIVATE_D= ATA, BlockIo, PARTITION_PRIVATE_DATA_SIGNATURE) #define PARTITION_DEVICE_FROM_BLOCK_IO2_THIS(a) CR (a, PARTITION_PRIVATE_D= ATA, BlockIo2, PARTITION_PRIVATE_DATA_SIGNATURE) @@ -320,39 +321,41 @@ PartitionComponentNameGetControllerName ( @param[in] ParentDiskIo Parent DiskIo interface. @param[in] ParentDiskIo2 Parent DiskIo2 interface. @param[in] ParentBlockIo Parent BlockIo interface. @param[in] ParentBlockIo2 Parent BlockIo2 interface. @param[in] ParentDevicePath Parent Device Path. @param[in] DevicePathNode Child Device Path node. @param[in] PartitionInfo Child Partition Information interface. @param[in] Start Start Block. @param[in] End End Block. @param[in] BlockSize Child block size. + @param[in] TypeGuid Parition Type Guid. =20 @retval EFI_SUCCESS A child handle was added. @retval other A child handle was not added. =20 **/ EFI_STATUS PartitionInstallChildHandle ( IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ParentHandle, IN EFI_DISK_IO_PROTOCOL *ParentDiskIo, IN EFI_DISK_IO2_PROTOCOL *ParentDiskIo2, IN EFI_BLOCK_IO_PROTOCOL *ParentBlockIo, IN EFI_BLOCK_IO2_PROTOCOL *ParentBlockIo2, IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode, IN EFI_PARTITION_INFO_PROTOCOL *PartitionInfo, IN EFI_LBA Start, IN EFI_LBA End, - IN UINT32 BlockSize + IN UINT32 BlockSize, + IN EFI_GUID *TypeGuid ); =20 /** Test to see if there is any child on ControllerHandle. =20 @param[in] ControllerHandle Handle of device to test. =20 @retval TRUE There are children on the ControllerHand= le. @retval FALSE No child is on the ControllerHandle. =20 diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c b/MdeModulePkg/= Universal/Disk/PartitionDxe/Udf.c index 5aac564..83bd174 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c @@ -1,13 +1,14 @@ /** @file Scan for an UDF file system on a formatted media. =20 + Copyright (c) 2018 Qualcomm Datacenter Technologies, Inc. Copyright (C) 2014-2017 Paulo Alcantara =20 This program and the accompanying materials are licensed and made availa= ble under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php =20 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WI= THOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ @@ -746,18 +747,19 @@ PartitionInstallUdfChildHandles ( Handle, DiskIo, DiskIo2, BlockIo, BlockIo2, DevicePath, (EFI_DEVICE_PATH_PROTOCOL *)&gUdfDevicePath, &PartitionInfo, StartingLBA, EndingLBA, - Media->BlockSize + Media->BlockSize, + NULL ); if (EFI_ERROR (Status)) { return (ChildCreated ? EFI_SUCCESS : Status); } =20 return EFI_SUCCESS; } --=20 1.9.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel