Could you help send the patch quickly? As it breaks some platforms build and blocks others' development on that platform, for example Nt32.
Thanks, Star -----Original Message----- From: Paulo Alcantara [mailto:[email protected]] Sent: Tuesday, September 12, 2017 9:03 PM To: Zeng, Star <[email protected]>; Bi, Dandan <[email protected]>; [email protected] Cc: Dong, Eric <[email protected]>; Ni, Ruiyu <[email protected]>; Gao, Liming <[email protected]>; Laszlo Ersek ([email protected]) <[email protected]> Subject: Re: [PATCH v2 3/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure in VS tools Hi, On 9/12/2017 6:39 AM, Zeng, Star wrote: > There is change(type cast to INT64) below in this patch. After check, we > found the " if (Offset < 0) " should be always false comparison as Offset is > UINT64 type. > I have suggested Dandan to remove this change(type case to INT64) at v3 patch > series https://lists.01.org/pipermail/edk2-devel/2017-September/014523.html. > Could you help check and fix the code appropriately? > if (Offset < 0) { > - Offset = -(Offset); > + Offset = - (INT64) (Offset); > } Oh, nice catch! I'll send a patch that fixes it and do some sanity checks later. Thank you all! Really appreciate it. Paulo > > > Thanks, > Star > -----Original Message----- > From: Bi, Dandan > Sent: Monday, September 11, 2017 2:17 PM > To: [email protected] > Cc: Dong, Eric <[email protected]>; Paulo Alcantara > <[email protected]>; Ni, Ruiyu <[email protected]>; Zeng, Star > <[email protected]> > Subject: [PATCH v2 3/3] MdeModulePkg/UdfDxe: Add type cast to fix > build failure in VS tools > > Cc: Eric Dong <[email protected]> > Cc: Paulo Alcantara <[email protected]> > Cc: Ruiyu Ni <[email protected]> > Cc: Star Zeng <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Dandan Bi <[email protected]> > --- > .../Universal/Disk/UdfDxe/FileSystemOperations.c | 18 > +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c > b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c > index ea3f5fb..bf33ae4 100644 > --- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c > +++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c > @@ -477,11 +477,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. > // > @@ -814,20 +814,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 > ); > } > > // > @@ -849,11 +849,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; > } > } > > @@ -938,29 +938,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; > } else { > ASSERT (FALSE); > @@ -1081,11 +1081,11 @@ ReadFile ( > } > > if (FilePosition + ExtentLength > ReadFileInfo->FilePosition) { > Offset = ReadFileInfo->FilePosition - FilePosition; > if (Offset < 0) { > - Offset = -(Offset); > + Offset = - (INT64) (Offset); > } > } else { > Offset = 0; > } > > @@ -1109,11 +1109,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; > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

