public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Fix VS tool chain build failure
@ 2017-09-12  8:56 Dandan Bi
  2017-09-12  8:56 ` [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools Dandan Bi
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Dandan Bi @ 2017-09-12  8:56 UTC (permalink / raw)
  To: edk2-devel

V3: Remove one unnecessay type cast in patch 1.

Dandan Bi (3):
  MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools
  MdeModulePkg/UdfDxe: Initialize the array after declaration
  MdeModulePkg/PartitionDxe: Initialize the array after declaration

 MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c     | 13 +++++++---
 .../Universal/Disk/UdfDxe/FileSystemOperations.c   | 29 ++++++++++++++--------
 2 files changed, 28 insertions(+), 14 deletions(-)

-- 
1.9.5.msysgit.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools
  2017-09-12  8:56 [PATCH v3 0/3] Fix VS tool chain build failure Dandan Bi
@ 2017-09-12  8:56 ` Dandan Bi
  2017-09-12  9:40   ` Ni, Ruiyu
  2017-09-12  8:56 ` [PATCH v3 2/3] MdeModulePkg/UdfDxe: Initialize the array after declaration Dandan Bi
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Dandan Bi @ 2017-09-12  8:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Eric Dong, Paulo Alcantara, Ruiyu Ni, Star Zeng

V3: Remove one unnecessay type cast in patch 1.
Codes:
if (FilePosition + ExtentLength > ReadFileInfo->FilePosition) {
  Offset = ReadFileInfo->FilePosition - FilePosition;
  if (Offset < 0) {
    Offset = -(Offset)
  }
...
}
offset is UINT64 can not < 0, so the code logic may have some issue.
and Offset = -(Offset) may build failure in some circumstance.
previously type case Offset to INT64 to fix build block. Now remove
the type cast. Then can to check the code logic later.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Paulo Alcantara <pcacjr@zytor.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
 .../Universal/Disk/UdfDxe/FileSystemOperations.c         | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
index 7d7f722..5c5b5e3 100644
--- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
+++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
@@ -470,11 +470,11 @@ DuplicateFid (
   OUT  UDF_FILE_IDENTIFIER_DESCRIPTOR  **NewFileIdentifierDesc
   )
 {
   *NewFileIdentifierDesc =
     (UDF_FILE_IDENTIFIER_DESCRIPTOR *)AllocateCopyPool (
-      GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);
+      (UINTN) GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);
 }
 
 //
 // Duplicate either a given File Entry or a given Extended File Entry.
 //
@@ -807,20 +807,20 @@ GetAedAdsData (
   }
 
   //
   // Allocate buffer to read in AED's data.
   //
-  *Data = AllocatePool (*Length);
+  *Data = AllocatePool ((UINTN) (*Length));
   if (*Data == NULL) {
     return EFI_OUT_OF_RESOURCES;
   }
 
   return DiskIo->ReadDisk (
     DiskIo,
     BlockIo->Media->MediaId,
     Offset,
-    *Length,
+    (UINTN) (*Length),
     *Data
     );
 }
 
 //
@@ -842,11 +842,11 @@ GrowUpBufferToNextAd (
     *Buffer = AllocatePool (ExtentLength);
     if (*Buffer == NULL) {
       return EFI_OUT_OF_RESOURCES;
     }
   } else {
-    *Buffer = ReallocatePool (Length, Length + ExtentLength, *Buffer);
+    *Buffer = ReallocatePool ((UINTN) Length, (UINTN) (Length + ExtentLength), *Buffer);
     if (*Buffer == NULL) {
       return EFI_OUT_OF_RESOURCES;
     }
   }
 
@@ -931,29 +931,29 @@ ReadFile (
       ReadFileInfo->ReadLength = Length;
     } else if (ReadFileInfo->Flags == READ_FILE_ALLOCATE_AND_READ) {
       //
       // Allocate buffer for starting read data.
       //
-      ReadFileInfo->FileData = AllocatePool (Length);
+      ReadFileInfo->FileData = AllocatePool ((UINTN) Length);
       if (ReadFileInfo->FileData == NULL) {
         return EFI_OUT_OF_RESOURCES;
       }
 
       //
       // Read all inline data into ReadFileInfo->FileData
       //
-      CopyMem (ReadFileInfo->FileData, Data, Length);
+      CopyMem (ReadFileInfo->FileData, Data, (UINTN) Length);
       ReadFileInfo->ReadLength = Length;
     } else if (ReadFileInfo->Flags == READ_FILE_SEEK_AND_READ) {
       //
       // If FilePosition is non-zero, seek file to FilePosition, read
       // FileDataSize bytes and then updates FilePosition.
       //
       CopyMem (
         ReadFileInfo->FileData,
         (VOID *)((UINT8 *)Data + ReadFileInfo->FilePosition),
-        ReadFileInfo->FileDataSize
+        (UINTN) ReadFileInfo->FileDataSize
         );
 
       ReadFileInfo->FilePosition += ReadFileInfo->FileDataSize;
     }
 
@@ -1097,11 +1097,11 @@ ReadFile (
         //
         Status = DiskIo->ReadDisk (
           DiskIo,
           BlockIo->Media->MediaId,
           Offset + MultU64x32 (Lsn, LogicalBlockSize),
-          DataLength,
+          (UINTN) DataLength,
           (VOID *)((UINT8 *)ReadFileInfo->FileData +
                    DataOffset)
           );
         if (EFI_ERROR (Status)) {
           goto Error_Read_Disk_Blk;
-- 
1.9.5.msysgit.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 2/3] MdeModulePkg/UdfDxe: Initialize the array after declaration
  2017-09-12  8:56 [PATCH v3 0/3] Fix VS tool chain build failure Dandan Bi
  2017-09-12  8:56 ` [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools Dandan Bi
@ 2017-09-12  8:56 ` Dandan Bi
  2017-09-12  9:40   ` Ni, Ruiyu
  2017-09-12  8:56 ` [PATCH v3 3/3] MdeModulePkg/PartitionDxe: " Dandan Bi
  2017-09-12  9:30 ` [PATCH v3 0/3] Fix VS tool chain build failure Zeng, Star
  3 siblings, 1 reply; 8+ messages in thread
From: Dandan Bi @ 2017-09-12  8:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Eric Dong, Paulo Alcantara, Ruiyu Ni, Star Zeng

Initialize the array DescriptorLBAs[] after declaration to fix
non-constant aggregate initializer warning in VS tool chains.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Paulo Alcantara <pcacjr@zytor.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
 MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
index 5c5b5e3..904262a 100644
--- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
+++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
@@ -20,15 +20,22 @@ FindAnchorVolumeDescriptorPointer (
   IN   EFI_DISK_IO_PROTOCOL                  *DiskIo,
   OUT  UDF_ANCHOR_VOLUME_DESCRIPTOR_POINTER  *AnchorPoint
   )
 {
   EFI_STATUS  Status;
-  UINT32      BlockSize = BlockIo->Media->BlockSize;
-  EFI_LBA     EndLBA = BlockIo->Media->LastBlock;
-  EFI_LBA     DescriptorLBAs[] = { 256, EndLBA - 256, EndLBA, 512 };
+  UINT32      BlockSize;
+  EFI_LBA     EndLBA;
+  EFI_LBA     DescriptorLBAs[4];
   UINTN       Index;
 
+  BlockSize = BlockIo->Media->BlockSize;
+  EndLBA = BlockIo->Media->LastBlock;
+  DescriptorLBAs[0] = 256;
+  DescriptorLBAs[1] = EndLBA - 256;
+  DescriptorLBAs[2] = EndLBA;
+  DescriptorLBAs[3] = 512;
+
   for (Index = 0; Index < ARRAY_SIZE (DescriptorLBAs); Index++) {
     Status = DiskIo->ReadDisk (
       DiskIo,
       BlockIo->Media->MediaId,
       MultU64x32 (DescriptorLBAs[Index], BlockSize),
-- 
1.9.5.msysgit.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 3/3] MdeModulePkg/PartitionDxe: Initialize the array after declaration
  2017-09-12  8:56 [PATCH v3 0/3] Fix VS tool chain build failure Dandan Bi
  2017-09-12  8:56 ` [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools Dandan Bi
  2017-09-12  8:56 ` [PATCH v3 2/3] MdeModulePkg/UdfDxe: Initialize the array after declaration Dandan Bi
@ 2017-09-12  8:56 ` Dandan Bi
  2017-09-12  9:40   ` Ni, Ruiyu
  2017-09-12  9:30 ` [PATCH v3 0/3] Fix VS tool chain build failure Zeng, Star
  3 siblings, 1 reply; 8+ messages in thread
From: Dandan Bi @ 2017-09-12  8:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Eric Dong, Paulo Alcantara, Ruiyu Ni, Star Zeng

Initialize the array DescriptorLBAs[] after declaration to fix
non-constant aggregate initializer warning in VS tool chains.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Paulo Alcantara <pcacjr@zytor.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
 MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c b/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c
index c1d4480..3174ab2 100644
--- a/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c
+++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c
@@ -46,15 +46,22 @@ FindAnchorVolumeDescriptorPointer (
   IN   EFI_DISK_IO_PROTOCOL                  *DiskIo,
   OUT  UDF_ANCHOR_VOLUME_DESCRIPTOR_POINTER  *AnchorPoint
   )
 {
   EFI_STATUS  Status;
-  UINT32      BlockSize = BlockIo->Media->BlockSize;
-  EFI_LBA     EndLBA = BlockIo->Media->LastBlock;
-  EFI_LBA     DescriptorLBAs[] = { 256, EndLBA - 256, EndLBA, 512 };
+  UINT32      BlockSize;
+  EFI_LBA     EndLBA;
+  EFI_LBA     DescriptorLBAs[4];
   UINTN       Index;
 
+  BlockSize = BlockIo->Media->BlockSize;
+  EndLBA = BlockIo->Media->LastBlock;
+  DescriptorLBAs[0] = 256;
+  DescriptorLBAs[1] = EndLBA - 256;
+  DescriptorLBAs[2] = EndLBA;
+  DescriptorLBAs[3] = 512;
+
   for (Index = 0; Index < ARRAY_SIZE (DescriptorLBAs); Index++) {
     Status = DiskIo->ReadDisk (
       DiskIo,
       BlockIo->Media->MediaId,
       MultU64x32 (DescriptorLBAs[Index], BlockSize),
-- 
1.9.5.msysgit.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/3] Fix VS tool chain build failure
  2017-09-12  8:56 [PATCH v3 0/3] Fix VS tool chain build failure Dandan Bi
                   ` (2 preceding siblings ...)
  2017-09-12  8:56 ` [PATCH v3 3/3] MdeModulePkg/PartitionDxe: " Dandan Bi
@ 2017-09-12  9:30 ` Zeng, Star
  3 siblings, 0 replies; 8+ messages in thread
From: Zeng, Star @ 2017-09-12  9:30 UTC (permalink / raw)
  To: Bi, Dandan, edk2-devel@lists.01.org; +Cc: Zeng, Star, Paulo Alcantara

Reviewed-by: Star Zeng <star.zeng@intel.com> and pushed the patches at https://github.com/tianocore/edk2/compare/1f4807074005...c05cae55ebd8.
I also picked up the Reviewed-by of Paulo at https://lists.01.org/pipermail/edk2-devel/2017-September/014490.html when pushing the patches.
I also fixed some typos in [PATCH v3 3/3], for example, "offset" -> "Offset", "block" -> "break" and "case" -> "cast".


Thanks,
Star
-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Dandan Bi
Sent: Tuesday, September 12, 2017 4:56 PM
To: edk2-devel@lists.01.org
Subject: [edk2] [PATCH v3 0/3] Fix VS tool chain build failure

V3: Remove one unnecessay type cast in patch 1.

Dandan Bi (3):
  MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools
  MdeModulePkg/UdfDxe: Initialize the array after declaration
  MdeModulePkg/PartitionDxe: Initialize the array after declaration

 MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c     | 13 +++++++---
 .../Universal/Disk/UdfDxe/FileSystemOperations.c   | 29 ++++++++++++++--------
 2 files changed, 28 insertions(+), 14 deletions(-)

-- 
1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 2/3] MdeModulePkg/UdfDxe: Initialize the array after declaration
  2017-09-12  8:56 ` [PATCH v3 2/3] MdeModulePkg/UdfDxe: Initialize the array after declaration Dandan Bi
@ 2017-09-12  9:40   ` Ni, Ruiyu
  0 siblings, 0 replies; 8+ messages in thread
From: Ni, Ruiyu @ 2017-09-12  9:40 UTC (permalink / raw)
  To: Bi, Dandan, edk2-devel@lists.01.org
  Cc: Dong, Eric, Paulo Alcantara, Zeng, Star

Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

Thanks/Ray

> -----Original Message-----
> From: Bi, Dandan
> Sent: Tuesday, September 12, 2017 4:56 PM
> To: edk2-devel@lists.01.org
> Cc: Dong, Eric <eric.dong@intel.com>; Paulo Alcantara <pcacjr@zytor.com>;
> Ni, Ruiyu <ruiyu.ni@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: [PATCH v3 2/3] MdeModulePkg/UdfDxe: Initialize the array after
> declaration
> 
> Initialize the array DescriptorLBAs[] after declaration to fix non-constant
> aggregate initializer warning in VS tool chains.
> 
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Paulo Alcantara <pcacjr@zytor.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
>  MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c | 13
> ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> index 5c5b5e3..904262a 100644
> --- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> +++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> @@ -20,15 +20,22 @@ FindAnchorVolumeDescriptorPointer (
>    IN   EFI_DISK_IO_PROTOCOL                  *DiskIo,
>    OUT  UDF_ANCHOR_VOLUME_DESCRIPTOR_POINTER  *AnchorPoint
>    )
>  {
>    EFI_STATUS  Status;
> -  UINT32      BlockSize = BlockIo->Media->BlockSize;
> -  EFI_LBA     EndLBA = BlockIo->Media->LastBlock;
> -  EFI_LBA     DescriptorLBAs[] = { 256, EndLBA - 256, EndLBA, 512 };
> +  UINT32      BlockSize;
> +  EFI_LBA     EndLBA;
> +  EFI_LBA     DescriptorLBAs[4];
>    UINTN       Index;
> 
> +  BlockSize = BlockIo->Media->BlockSize;  EndLBA =
> + BlockIo->Media->LastBlock;  DescriptorLBAs[0] = 256;
> + DescriptorLBAs[1] = EndLBA - 256;  DescriptorLBAs[2] = EndLBA;
> + DescriptorLBAs[3] = 512;
> +
>    for (Index = 0; Index < ARRAY_SIZE (DescriptorLBAs); Index++) {
>      Status = DiskIo->ReadDisk (
>        DiskIo,
>        BlockIo->Media->MediaId,
>        MultU64x32 (DescriptorLBAs[Index], BlockSize),
> --
> 1.9.5.msysgit.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 3/3] MdeModulePkg/PartitionDxe: Initialize the array after declaration
  2017-09-12  8:56 ` [PATCH v3 3/3] MdeModulePkg/PartitionDxe: " Dandan Bi
@ 2017-09-12  9:40   ` Ni, Ruiyu
  0 siblings, 0 replies; 8+ messages in thread
From: Ni, Ruiyu @ 2017-09-12  9:40 UTC (permalink / raw)
  To: Bi, Dandan, edk2-devel@lists.01.org; +Cc: Dong, Eric, Zeng, Star

Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

Thanks/Ray

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Dandan Bi
> Sent: Tuesday, September 12, 2017 4:56 PM
> To: edk2-devel@lists.01.org
> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; Dong, Eric <eric.dong@intel.com>; Zeng,
> Star <star.zeng@intel.com>
> Subject: [edk2] [PATCH v3 3/3] MdeModulePkg/PartitionDxe: Initialize the
> array after declaration
> 
> Initialize the array DescriptorLBAs[] after declaration to fix non-constant
> aggregate initializer warning in VS tool chains.
> 
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Paulo Alcantara <pcacjr@zytor.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
>  MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c
> b/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c
> index c1d4480..3174ab2 100644
> --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c
> +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c
> @@ -46,15 +46,22 @@ FindAnchorVolumeDescriptorPointer (
>    IN   EFI_DISK_IO_PROTOCOL                  *DiskIo,
>    OUT  UDF_ANCHOR_VOLUME_DESCRIPTOR_POINTER  *AnchorPoint
>    )
>  {
>    EFI_STATUS  Status;
> -  UINT32      BlockSize = BlockIo->Media->BlockSize;
> -  EFI_LBA     EndLBA = BlockIo->Media->LastBlock;
> -  EFI_LBA     DescriptorLBAs[] = { 256, EndLBA - 256, EndLBA, 512 };
> +  UINT32      BlockSize;
> +  EFI_LBA     EndLBA;
> +  EFI_LBA     DescriptorLBAs[4];
>    UINTN       Index;
> 
> +  BlockSize = BlockIo->Media->BlockSize;  EndLBA =
> + BlockIo->Media->LastBlock;  DescriptorLBAs[0] = 256;
> + DescriptorLBAs[1] = EndLBA - 256;  DescriptorLBAs[2] = EndLBA;
> + DescriptorLBAs[3] = 512;
> +
>    for (Index = 0; Index < ARRAY_SIZE (DescriptorLBAs); Index++) {
>      Status = DiskIo->ReadDisk (
>        DiskIo,
>        BlockIo->Media->MediaId,
>        MultU64x32 (DescriptorLBAs[Index], BlockSize),
> --
> 1.9.5.msysgit.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools
  2017-09-12  8:56 ` [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools Dandan Bi
@ 2017-09-12  9:40   ` Ni, Ruiyu
  0 siblings, 0 replies; 8+ messages in thread
From: Ni, Ruiyu @ 2017-09-12  9:40 UTC (permalink / raw)
  To: Bi, Dandan, edk2-devel@lists.01.org
  Cc: Dong, Eric, Paulo Alcantara, Zeng, Star

Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

Thanks/Ray

> -----Original Message-----
> From: Bi, Dandan
> Sent: Tuesday, September 12, 2017 4:56 PM
> To: edk2-devel@lists.01.org
> Cc: Dong, Eric <eric.dong@intel.com>; Paulo Alcantara <pcacjr@zytor.com>;
> Ni, Ruiyu <ruiyu.ni@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build
> failure in VS tools
> 
> V3: Remove one unnecessay type cast in patch 1.
> Codes:
> if (FilePosition + ExtentLength > ReadFileInfo->FilePosition) {
>   Offset = ReadFileInfo->FilePosition - FilePosition;
>   if (Offset < 0) {
>     Offset = -(Offset)
>   }
> ...
> }
> offset is UINT64 can not < 0, so the code logic may have some issue.
> and Offset = -(Offset) may build failure in some circumstance.
> previously type case Offset to INT64 to fix build block. Now remove the type
> cast. Then can to check the code logic later.
> 
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Paulo Alcantara <pcacjr@zytor.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
>  .../Universal/Disk/UdfDxe/FileSystemOperations.c         | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> index 7d7f722..5c5b5e3 100644
> --- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> +++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> @@ -470,11 +470,11 @@ DuplicateFid (
>    OUT  UDF_FILE_IDENTIFIER_DESCRIPTOR  **NewFileIdentifierDesc
>    )
>  {
>    *NewFileIdentifierDesc =
>      (UDF_FILE_IDENTIFIER_DESCRIPTOR *)AllocateCopyPool (
> -      GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);
> +      (UINTN) GetFidDescriptorLength (FileIdentifierDesc),
> + FileIdentifierDesc);
>  }
> 
>  //
>  // Duplicate either a given File Entry or a given Extended File Entry.
>  //
> @@ -807,20 +807,20 @@ GetAedAdsData (
>    }
> 
>    //
>    // Allocate buffer to read in AED's data.
>    //
> -  *Data = AllocatePool (*Length);
> +  *Data = AllocatePool ((UINTN) (*Length));
>    if (*Data == NULL) {
>      return EFI_OUT_OF_RESOURCES;
>    }
> 
>    return DiskIo->ReadDisk (
>      DiskIo,
>      BlockIo->Media->MediaId,
>      Offset,
> -    *Length,
> +    (UINTN) (*Length),
>      *Data
>      );
>  }
> 
>  //
> @@ -842,11 +842,11 @@ GrowUpBufferToNextAd (
>      *Buffer = AllocatePool (ExtentLength);
>      if (*Buffer == NULL) {
>        return EFI_OUT_OF_RESOURCES;
>      }
>    } else {
> -    *Buffer = ReallocatePool (Length, Length + ExtentLength, *Buffer);
> +    *Buffer = ReallocatePool ((UINTN) Length, (UINTN) (Length +
> + ExtentLength), *Buffer);
>      if (*Buffer == NULL) {
>        return EFI_OUT_OF_RESOURCES;
>      }
>    }
> 
> @@ -931,29 +931,29 @@ ReadFile (
>        ReadFileInfo->ReadLength = Length;
>      } else if (ReadFileInfo->Flags == READ_FILE_ALLOCATE_AND_READ) {
>        //
>        // Allocate buffer for starting read data.
>        //
> -      ReadFileInfo->FileData = AllocatePool (Length);
> +      ReadFileInfo->FileData = AllocatePool ((UINTN) Length);
>        if (ReadFileInfo->FileData == NULL) {
>          return EFI_OUT_OF_RESOURCES;
>        }
> 
>        //
>        // Read all inline data into ReadFileInfo->FileData
>        //
> -      CopyMem (ReadFileInfo->FileData, Data, Length);
> +      CopyMem (ReadFileInfo->FileData, Data, (UINTN) Length);
>        ReadFileInfo->ReadLength = Length;
>      } else if (ReadFileInfo->Flags == READ_FILE_SEEK_AND_READ) {
>        //
>        // If FilePosition is non-zero, seek file to FilePosition, read
>        // FileDataSize bytes and then updates FilePosition.
>        //
>        CopyMem (
>          ReadFileInfo->FileData,
>          (VOID *)((UINT8 *)Data + ReadFileInfo->FilePosition),
> -        ReadFileInfo->FileDataSize
> +        (UINTN) ReadFileInfo->FileDataSize
>          );
> 
>        ReadFileInfo->FilePosition += ReadFileInfo->FileDataSize;
>      }
> 
> @@ -1097,11 +1097,11 @@ ReadFile (
>          //
>          Status = DiskIo->ReadDisk (
>            DiskIo,
>            BlockIo->Media->MediaId,
>            Offset + MultU64x32 (Lsn, LogicalBlockSize),
> -          DataLength,
> +          (UINTN) DataLength,
>            (VOID *)((UINT8 *)ReadFileInfo->FileData +
>                     DataOffset)
>            );
>          if (EFI_ERROR (Status)) {
>            goto Error_Read_Disk_Blk;
> --
> 1.9.5.msysgit.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-09-12  9:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-12  8:56 [PATCH v3 0/3] Fix VS tool chain build failure Dandan Bi
2017-09-12  8:56 ` [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools Dandan Bi
2017-09-12  9:40   ` Ni, Ruiyu
2017-09-12  8:56 ` [PATCH v3 2/3] MdeModulePkg/UdfDxe: Initialize the array after declaration Dandan Bi
2017-09-12  9:40   ` Ni, Ruiyu
2017-09-12  8:56 ` [PATCH v3 3/3] MdeModulePkg/PartitionDxe: " Dandan Bi
2017-09-12  9:40   ` Ni, Ruiyu
2017-09-12  9:30 ` [PATCH v3 0/3] Fix VS tool chain build failure Zeng, Star

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox