Re: [edk2] [PATCH 2/2] UefiCpuPkg/Microcode: Add verification logic before parsing payload
> -Original Message- > From: edk2-devel On Behalf Of Chen A > Chen > Sent: Thursday, February 28, 2019 2:03 PM > To: edk2-devel@lists.01.org > Cc: Dong, Eric > Subject: [edk2] [PATCH 2/2] UefiCpuPkg/Microcode: Add verification logic > before parsing payload > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1020 > > The function MicrocodeDetect may receive untrusted input. Add verification > logic to check Microcode Payload Header. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Chen A Chen > Cc: Ray Ni > Cc: Eric Dong > --- > UefiCpuPkg/Library/MpInitLib/Microcode.c | 190 > +-- > 1 file changed, 127 insertions(+), 63 deletions(-) > > diff --git a/UefiCpuPkg/Library/MpInitLib/Microcode.c > b/UefiCpuPkg/Library/MpInitLib/Microcode.c > index 5f9ae22794..1d5e964791 100644 > --- a/UefiCpuPkg/Library/MpInitLib/Microcode.c > +++ b/UefiCpuPkg/Library/MpInitLib/Microcode.c > @@ -32,6 +32,69 @@ GetCurrentMicrocodeSignature ( >return BiosSignIdMsr.Bits.MicrocodeUpdateSignature; > } > > +/** > + Verify Microcode. > + > + @param[in] MicrocodeHeader Point to the Microcode payload buffer. > + > + @retval TRUE Valid payload > + @retval FALSE Invalid payload > +**/ > +BOOLEAN > +VerifyMicrocodeHeader ( 1. "Verify" cannot tell what the return value stands for. Use "IsMicrocodeHeaderValid"? > + IN CPU_MICROCODE_HEADER *MicrocodeHeader > + ) > +{ > + UINTN TotalSize; > + UINTN DataSize; > + > + if (MicrocodeHeader == NULL) { > +return FALSE; > + } 2. Can we use assert here? > + > + /// > + /// Verify Version > + /// > + if (MicrocodeHeader->HeaderVersion != 0x1) { > +return FALSE; > + } > + if (MicrocodeHeader->LoaderRevision != 0x1) { > +return FALSE; > + } > + > + /// > + /// Verify TotalSize > + /// > + if (MicrocodeHeader->DataSize == 0) { > +TotalSize = 2048; > + } else { > +TotalSize = MicrocodeHeader->TotalSize; > + } > + if (TotalSize <= sizeof (CPU_MICROCODE_HEADER)) { > +return FALSE; > + } 3. Can you please add more comments here to describe the alignment requirement? > + if ((TotalSize & (SIZE_1KB - 1)) != 0) { > +return FALSE; > + } > + > + /// > + /// Verify DataSize > + /// > + if (MicrocodeHeader->DataSize == 0) { > +DataSize = 2048 - sizeof (CPU_MICROCODE_HEADER); > + } else { > +DataSize = MicrocodeHeader->DataSize; > + } > + if (DataSize > TotalSize - sizeof (CPU_MICROCODE_HEADER)) { 4. if MIcrocodeHeader->DataSize is 0, seems the if-check is redundant. > +return FALSE; > + } 5. Can you please add more comments here to describe the alignment requirement? > + if ((DataSize & 0x3) != 0) { > +return FALSE; > + } > + > + return TRUE; > +} > + > /** >Detect whether specified processor can find matching microcode patch and > load it. > > @@ -166,6 +229,18 @@ MicrocodeDetect ( > // > CorrectMicrocode = FALSE; > > +if (!VerifyMicrocodeHeader (MicrocodeEntryPoint)) { > + // > + // It is the padding data between the microcode patches for microcode > patches alignment. > + // Because the microcode patch is the multiple of 1-KByte, the padding > data should not > + // exist if the microcode patch alignment value is not larger than > 1-KByte. > So, the microcode > + // alignment value should be larger than 1-KByte. We could skip > SIZE_1KB padding data to > + // find the next possible microcode patch header. > + // > + MicrocodeEntryPoint = (CPU_MICROCODE_HEADER *) (((UINTN) > MicrocodeEntryPoint) + SIZE_1KB); > + continue; > +} > + > // > // Save an in-complete CheckSum32 from CheckSum Part1 for common > parts. > // > @@ -184,90 +259,79 @@ MicrocodeDetect ( > InCompleteCheckSum32 -= MicrocodeEntryPoint->ProcessorFlags; > InCompleteCheckSum32 -= MicrocodeEntryPoint->Checksum; > > -if (MicrocodeEntryPoint->HeaderVersion == 0x1) { > +// > +// It is the microcode header. It is not the padding data between > microcode patches > +// because the padding data should not include 0x0001 and it should > be the repeated > +// byte format (like 0xXYXYXYXY). > +// > +if (MicrocodeEntryPoint->ProcessorSignature.Uint32 == Eax.Uint32 && > +MicrocodeEntryPoint->UpdateRevision > LatestRevision && > +(MicrocodeEntryPoint->ProcessorFlags & (1 << PlatformId)) > +) { >// > - // It is the microcode header. It is not the padding data between > microcode patches > - // because the padding data should not include 0x0001 and it should > be the repeated > - // byte format (like 0xXYXYXYXY). > + // Calculate CheckSum Part1. >// > - if (MicrocodeEntryPoint->ProcessorSignature.Uint32 == Eax.Uint32 && > - MicrocodeEntryPoint->UpdateRevision > LatestRevision && > -
Re: [edk2] [PATCH 1/2] UefiCpuPkg/Microcode: Fix InComplete CheckSum32 issue
Reviewed-by: Ray Ni > -Original Message- > From: edk2-devel On Behalf Of Chen A > Chen > Sent: Thursday, February 28, 2019 2:03 PM > To: edk2-devel@lists.01.org > Cc: Dong, Eric > Subject: [edk2] [PATCH 1/2] UefiCpuPkg/Microcode: Fix InComplete > CheckSum32 issue > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1020 > > The Microcode region indicated by MicrocodePatchAddress PCD may contain > more than one Microcode entry. We should save InCompleteCheckSum32 > value for each payload. Move the logic for calculate InCompleteCheckSum32 > from the outsize of the do-while loop to the inside. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Chen A Chen > Cc: Ray Ni > Cc: Eric Dong > --- > UefiCpuPkg/Library/MpInitLib/Microcode.c | 37 - > --- > 1 file changed, 19 insertions(+), 18 deletions(-) > > diff --git a/UefiCpuPkg/Library/MpInitLib/Microcode.c > b/UefiCpuPkg/Library/MpInitLib/Microcode.c > index e1f661d6b1..5f9ae22794 100644 > --- a/UefiCpuPkg/Library/MpInitLib/Microcode.c > +++ b/UefiCpuPkg/Library/MpInitLib/Microcode.c > @@ -159,30 +159,31 @@ MicrocodeDetect ( >MicrocodeEnd = (UINTN) (CpuMpData->MicrocodePatchAddress + > CpuMpData->MicrocodePatchRegionSize); >MicrocodeEntryPoint = (CPU_MICROCODE_HEADER *) (UINTN) > CpuMpData->MicrocodePatchAddress; > > - // > - // Save an in-complete CheckSum32 from CheckSum Part1 for common > parts. > - // > - if (MicrocodeEntryPoint->DataSize == 0) { > -InCompleteCheckSum32 = CalculateSum32 ( > - (UINT32 *) MicrocodeEntryPoint, > - sizeof (CPU_MICROCODE_HEADER) + 2000 > - ); > - } else { > -InCompleteCheckSum32 = CalculateSum32 ( > - (UINT32 *) MicrocodeEntryPoint, > - sizeof (CPU_MICROCODE_HEADER) + > MicrocodeEntryPoint- > >DataSize > - ); > - } > - InCompleteCheckSum32 -= MicrocodeEntryPoint- > >ProcessorSignature.Uint32; > - InCompleteCheckSum32 -= MicrocodeEntryPoint->ProcessorFlags; > - InCompleteCheckSum32 -= MicrocodeEntryPoint->Checksum; > - >do { > // > // Check if the microcode is for the Cpu and the version is newer > // and the update can be processed on the platform > // > CorrectMicrocode = FALSE; > + > +// > +// Save an in-complete CheckSum32 from CheckSum Part1 for common > parts. > +// > +if (MicrocodeEntryPoint->DataSize == 0) { > + InCompleteCheckSum32 = CalculateSum32 ( > + (UINT32 *) MicrocodeEntryPoint, > + sizeof (CPU_MICROCODE_HEADER) + 2000 > + ); > +} else { > + InCompleteCheckSum32 = CalculateSum32 ( > + (UINT32 *) MicrocodeEntryPoint, > + sizeof (CPU_MICROCODE_HEADER) + > MicrocodeEntryPoint- > >DataSize > + ); > +} > +InCompleteCheckSum32 -= MicrocodeEntryPoint- > >ProcessorSignature.Uint32; > +InCompleteCheckSum32 -= MicrocodeEntryPoint->ProcessorFlags; > +InCompleteCheckSum32 -= MicrocodeEntryPoint->Checksum; > + > if (MicrocodeEntryPoint->HeaderVersion == 0x1) { >// >// It is the microcode header. It is not the padding data between > microcode patches > -- > 2.16.2.windows.1 > > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 2/2] UefiCpuPkg/Microcode: Add verification logic before parsing payload
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1020 The function MicrocodeDetect may receive untrusted input. Add verification logic to check Microcode Payload Header. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen Cc: Ray Ni Cc: Eric Dong --- UefiCpuPkg/Library/MpInitLib/Microcode.c | 190 +-- 1 file changed, 127 insertions(+), 63 deletions(-) diff --git a/UefiCpuPkg/Library/MpInitLib/Microcode.c b/UefiCpuPkg/Library/MpInitLib/Microcode.c index 5f9ae22794..1d5e964791 100644 --- a/UefiCpuPkg/Library/MpInitLib/Microcode.c +++ b/UefiCpuPkg/Library/MpInitLib/Microcode.c @@ -32,6 +32,69 @@ GetCurrentMicrocodeSignature ( return BiosSignIdMsr.Bits.MicrocodeUpdateSignature; } +/** + Verify Microcode. + + @param[in] MicrocodeHeader Point to the Microcode payload buffer. + + @retval TRUE Valid payload + @retval FALSE Invalid payload +**/ +BOOLEAN +VerifyMicrocodeHeader ( + IN CPU_MICROCODE_HEADER *MicrocodeHeader + ) +{ + UINTN TotalSize; + UINTN DataSize; + + if (MicrocodeHeader == NULL) { +return FALSE; + } + + /// + /// Verify Version + /// + if (MicrocodeHeader->HeaderVersion != 0x1) { +return FALSE; + } + if (MicrocodeHeader->LoaderRevision != 0x1) { +return FALSE; + } + + /// + /// Verify TotalSize + /// + if (MicrocodeHeader->DataSize == 0) { +TotalSize = 2048; + } else { +TotalSize = MicrocodeHeader->TotalSize; + } + if (TotalSize <= sizeof (CPU_MICROCODE_HEADER)) { +return FALSE; + } + if ((TotalSize & (SIZE_1KB - 1)) != 0) { +return FALSE; + } + + /// + /// Verify DataSize + /// + if (MicrocodeHeader->DataSize == 0) { +DataSize = 2048 - sizeof (CPU_MICROCODE_HEADER); + } else { +DataSize = MicrocodeHeader->DataSize; + } + if (DataSize > TotalSize - sizeof (CPU_MICROCODE_HEADER)) { +return FALSE; + } + if ((DataSize & 0x3) != 0) { +return FALSE; + } + + return TRUE; +} + /** Detect whether specified processor can find matching microcode patch and load it. @@ -166,6 +229,18 @@ MicrocodeDetect ( // CorrectMicrocode = FALSE; +if (!VerifyMicrocodeHeader (MicrocodeEntryPoint)) { + // + // It is the padding data between the microcode patches for microcode patches alignment. + // Because the microcode patch is the multiple of 1-KByte, the padding data should not + // exist if the microcode patch alignment value is not larger than 1-KByte. So, the microcode + // alignment value should be larger than 1-KByte. We could skip SIZE_1KB padding data to + // find the next possible microcode patch header. + // + MicrocodeEntryPoint = (CPU_MICROCODE_HEADER *) (((UINTN) MicrocodeEntryPoint) + SIZE_1KB); + continue; +} + // // Save an in-complete CheckSum32 from CheckSum Part1 for common parts. // @@ -184,90 +259,79 @@ MicrocodeDetect ( InCompleteCheckSum32 -= MicrocodeEntryPoint->ProcessorFlags; InCompleteCheckSum32 -= MicrocodeEntryPoint->Checksum; -if (MicrocodeEntryPoint->HeaderVersion == 0x1) { +// +// It is the microcode header. It is not the padding data between microcode patches +// because the padding data should not include 0x0001 and it should be the repeated +// byte format (like 0xXYXYXYXY). +// +if (MicrocodeEntryPoint->ProcessorSignature.Uint32 == Eax.Uint32 && +MicrocodeEntryPoint->UpdateRevision > LatestRevision && +(MicrocodeEntryPoint->ProcessorFlags & (1 << PlatformId)) +) { // - // It is the microcode header. It is not the padding data between microcode patches - // because the padding data should not include 0x0001 and it should be the repeated - // byte format (like 0xXYXYXYXY). + // Calculate CheckSum Part1. // - if (MicrocodeEntryPoint->ProcessorSignature.Uint32 == Eax.Uint32 && - MicrocodeEntryPoint->UpdateRevision > LatestRevision && - (MicrocodeEntryPoint->ProcessorFlags & (1 << PlatformId)) - ) { + CheckSum32 = InCompleteCheckSum32; + CheckSum32 += MicrocodeEntryPoint->ProcessorSignature.Uint32; + CheckSum32 += MicrocodeEntryPoint->ProcessorFlags; + CheckSum32 += MicrocodeEntryPoint->Checksum; + if (CheckSum32 == 0) { +CorrectMicrocode = TRUE; +ProcessorFlags = MicrocodeEntryPoint->ProcessorFlags; + } +} else if ((MicrocodeEntryPoint->DataSize != 0) && + (MicrocodeEntryPoint->UpdateRevision > LatestRevision)) { + ExtendedTableLength = MicrocodeEntryPoint->TotalSize - (MicrocodeEntryPoint->DataSize + + sizeof (CPU_MICROCODE_HEADER)); + if (ExtendedTableLength != 0) { // -// Calculate CheckSum Part1. +// Extended Table exist, check if the CPU in support list // -CheckSum32
[edk2] [PATCH 1/2] UefiCpuPkg/Microcode: Fix InComplete CheckSum32 issue
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1020 The Microcode region indicated by MicrocodePatchAddress PCD may contain more than one Microcode entry. We should save InCompleteCheckSum32 value for each payload. Move the logic for calculate InCompleteCheckSum32 from the outsize of the do-while loop to the inside. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen Cc: Ray Ni Cc: Eric Dong --- UefiCpuPkg/Library/MpInitLib/Microcode.c | 37 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/UefiCpuPkg/Library/MpInitLib/Microcode.c b/UefiCpuPkg/Library/MpInitLib/Microcode.c index e1f661d6b1..5f9ae22794 100644 --- a/UefiCpuPkg/Library/MpInitLib/Microcode.c +++ b/UefiCpuPkg/Library/MpInitLib/Microcode.c @@ -159,30 +159,31 @@ MicrocodeDetect ( MicrocodeEnd = (UINTN) (CpuMpData->MicrocodePatchAddress + CpuMpData->MicrocodePatchRegionSize); MicrocodeEntryPoint = (CPU_MICROCODE_HEADER *) (UINTN) CpuMpData->MicrocodePatchAddress; - // - // Save an in-complete CheckSum32 from CheckSum Part1 for common parts. - // - if (MicrocodeEntryPoint->DataSize == 0) { -InCompleteCheckSum32 = CalculateSum32 ( - (UINT32 *) MicrocodeEntryPoint, - sizeof (CPU_MICROCODE_HEADER) + 2000 - ); - } else { -InCompleteCheckSum32 = CalculateSum32 ( - (UINT32 *) MicrocodeEntryPoint, - sizeof (CPU_MICROCODE_HEADER) + MicrocodeEntryPoint->DataSize - ); - } - InCompleteCheckSum32 -= MicrocodeEntryPoint->ProcessorSignature.Uint32; - InCompleteCheckSum32 -= MicrocodeEntryPoint->ProcessorFlags; - InCompleteCheckSum32 -= MicrocodeEntryPoint->Checksum; - do { // // Check if the microcode is for the Cpu and the version is newer // and the update can be processed on the platform // CorrectMicrocode = FALSE; + +// +// Save an in-complete CheckSum32 from CheckSum Part1 for common parts. +// +if (MicrocodeEntryPoint->DataSize == 0) { + InCompleteCheckSum32 = CalculateSum32 ( + (UINT32 *) MicrocodeEntryPoint, + sizeof (CPU_MICROCODE_HEADER) + 2000 + ); +} else { + InCompleteCheckSum32 = CalculateSum32 ( + (UINT32 *) MicrocodeEntryPoint, + sizeof (CPU_MICROCODE_HEADER) + MicrocodeEntryPoint->DataSize + ); +} +InCompleteCheckSum32 -= MicrocodeEntryPoint->ProcessorSignature.Uint32; +InCompleteCheckSum32 -= MicrocodeEntryPoint->ProcessorFlags; +InCompleteCheckSum32 -= MicrocodeEntryPoint->Checksum; + if (MicrocodeEntryPoint->HeaderVersion == 0x1) { // // It is the microcode header. It is not the padding data between microcode patches -- 2.16.2.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 0/2] Fix Microcode failure issue
The first patch is used to fix InComplete CheckSum32 issue. Add a verification logic to check Microcode header before parsing payload. Chen A Chen (2): UefiCpuPkg/Microcode: Fix InComplete CheckSum32 issue UefiCpuPkg/Microcode: Add verification logic before parsing payload UefiCpuPkg/Library/MpInitLib/Microcode.c | 227 --- 1 file changed, 146 insertions(+), 81 deletions(-) -- 2.16.2.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Self-replicating image
Hi Tomas, I have posted a branch in edk2-staging with the proposed design changes to support multiple controller and a functional example in OVMF using multiple E1000 adapters. https://github.com/tianocore/edk2-staging/tree/Bug_1525_FmpDevicePkg_MultipleControllers QEMU has a few limitations, so some aspects are simulated, but you should be able to use the example as a template to try your use case. The E1000 UEFI PCI device driver that uses FmpDxe as a Library is located at the following location. OvmfPkg/E1000Fmp It uses the E1000 specific FmpDeviceLib instance at: OvmfPkg/Feature/Capsule/Library/FmpDeviceLibE1000 I have added device specific DSC files for each FMP driver that are included from the OVMF DSC file. The one for E1000 is at: OvmfPkg/Feature/Capsule/FmpE1000.dsc QEMU does not support update of the PCI Option ROM mapped to a PCI device. So I simulate the update of a FW storage device using a 32-byte UEFI Variable that is unique for each adapter. Best regards, Mike > -Original Message- > From: Tomas Pilar (tpilar) > [mailto:tpi...@solarflare.com] > Sent: Monday, February 11, 2019 2:37 AM > To: Kinney, Michael D ; > Andrew Fish ; edk2-devel@lists.01.org > Subject: Re: [edk2] Self-replicating image > > Hi Mike, > > Sorry to say I have not yet filed a BZ. Would you like > me to, or are you happy doing it? > > Cheers, > Tom > > On 08/02/2019 17:59, Kinney, Michael D wrote: > > Hi Thomas, > > > > I have been looking into this topic of multiple > controllers this > > week. I have some prototype code that I think > resolves the issues > > but needs a bit more work on some corner cases. > > > > I am using the PCI Option ROM use case to evaluate > the changes. > > PCI Option ROM can use Bus Specific Driver Override > Protocol so > > the driver from the option ROM manages the PCI > controller the option > > ROM is attached. PCI Option ROMs can also use the > Driver Family > > Override Protocol so one of the PCI Option ROMs can > manage a group > > of PCI controllers. > > > > It is also possible for an FMP driver for integrated > devices to > > manage multiple integrated devices if there is more > than one of > > the same device with FW storage. The multiple > controller use case > > is not limited to busses like PCI. > > > > The current version of the FmpDeviceLib is optimized > for an FMP > > instance that manages a single FW storage device. If > an FmpDeviceLib > > is intended to manage multiple FW storage devices, > then a few > > extra services in the FmpDeviceLib are required. > > > > The concept is to extend the FmpDeviceLib with a > couple extra > > APIs that add support for Stop()/Unload() operations > and to > > to set the context for the current FmpDeviceLib > actions. > > > > Have you entered a BZ for this issue yet? I can > start adding > > details in the BZ and post some proposed changes > soon. > > > > Best regards, > > > > Mike > > > >> -Original Message- > >> From: edk2-devel [mailto:edk2-devel- > >> boun...@lists.01.org] On Behalf Of Andrew Fish via > >> edk2-devel > >> Sent: Friday, February 8, 2019 9:16 AM > >> To: Tomas Pilar (tpilar) > >> Cc: edk2-devel@lists.01.org > >> Subject: Re: [edk2] Self-replicating image > >> > >> > >> > >>> On Feb 8, 2019, at 6:42 AM, Tomas Pilar (tpilar) > >> wrote: > >>> Hi, > >>> > >>> I am currently pondering the most elegant way to > >> implement capsule update for our devices that would > >> work in the presence of multiple devices in the > host. > >>> Capsule allows embedding a driver that is executed > >> prior to the update, which is very handy. Crypto > >> library is quite large and would not fit into an > >> OptionROM, so being able to supply FMP driver in the > >> capsule is great. > >>> However, if only one instance of the driver loads, > >> the FMP upstream is currently written to support > only > >> one device per instance. So I wonder if there is a > >> easy, neat way for my image to replicate on > >> DriverBinding so that I end up with one instance per > >> device. > >> > >> Tom, > >> > >> The usually model in EFI is to have one driver > handle > >> multiple things. > >> > >>> It looks like I should be able to do it with gBS- > >>> LoadImage() and passing information about currently > >> loaded image though I might have to CopyMem() the > image > >> itself to new location. > >> gBS->LoadImage() will load and relocate the image to > a > >> malloced address of the correct memory type for the > >> image. The inputs are just the source of the image, > so > >> no need to CopyMem() anything. gBS->StartImage() > calls > >> the entry point. > >> > >> Thanks, > >> > >> Andrew Fish > >> > >>> Thoughts? > >>> > >>> Cheers, > >>> Tom > >>> ___ > >>> edk2-devel mailing list > >>> edk2-devel@lists.01.org > >>> https://lists.01.org/mailman/listinfo/edk2-devel > >> ___ > >> edk2-devel mailing list > >>
Re: [edk2] [PATCH] MdeModulePkg/SdMmcPciHcDxe: Fix DMA on SDHC v3 64-bit systems
Loop Ashish in. Some comments below. > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Cohen, Eugene > Sent: Wednesday, February 27, 2019 6:59 PM > To: edk2-devel@lists.01.org; Wu, Hao A > Subject: [edk2] [PATCH] MdeModulePkg/SdMmcPciHcDxe: Fix DMA on SDHC > v3 64-bit systems > > The SdMmcPciHcDriverBindingStart function was checking two > different capability bits in determining whether 64-bit DMA > modes were supported, one mode is defined in the SDHC version > 3 specification (using 96-bit descriptors) and another is > defined in the SDHC version 4 specification (using 128-bit > descriptors). Since the currently implementation of 64-bit > ADMA2 only supports the SDHC version 4 implementation it is > incorrect to check the V3 64-bit capability bit since this > will activate V4 ADMA2 on V3 controllers. I remember the commit b5547b9ce97e80c3127682a2a5d4b9bd14af353e from Ashish only handles the controllers with version greater or equal to 4.00. And the ADMA2 (96-bit Descriptor) mode for V3 controllers is selected by setting the 'DMA Select' filed in the Host Control 1 Register to 11b. But the currently behavior of the driver is setting the field to 10b, which I think will not switch to the ADMA2 (96-bit Descriptor) mode for V3. Maybe there is something I miss here. Could you help to provide some more detail on the issue you met? Thanks. Best Regards, Hao Wu > > Cc: Hao Wu > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Eugene Cohen > --- > MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c > b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c > index b474f8d..5bc91c5 100644 > --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c > +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c > @@ -666,8 +666,7 @@ SdMmcPciHcDriverBindingStart ( > // If any of the slots does not support 64b system bus > // do not enable 64b DMA in the PCI layer. > // > -if (Private->Capability[Slot].SysBus64V3 == 0 && > -Private->Capability[Slot].SysBus64V4 == 0) { > +if (Private->Capability[Slot].SysBus64V4 == 0) { >Support64BitDma = FALSE; > } > > -- > 2.7.4 > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [staging/Bug_1525_FmpDevicePkg_MultipleControllers] Create new branch
# FmpDevicePkg Multiple Controllers This branch is used to evaluate methods to update the FmpDevicePkg to support drivers that manage multiple controllers and also provide a firmware update capability to each managed controller. The primary use case is the update of a PCI Option ROM when multiple adapters are present. This branch addresses the following TianoCore Bugzilla issues: https://bugzilla.tianocore.org/show_bug.cgi?id=1525 Branch owner(s): Michael D Kinney ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-announce] Soft Feature Freeze starts today for edk2-stable201903
Laszlo: >-Original Message- >From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >Laszlo Ersek >Sent: Thursday, February 28, 2019 3:54 AM >To: Gao, Liming >Cc: edk2-devel@lists.01.org >Subject: Re: [edk2] [edk2-announce] Soft Feature Freeze starts today for >edk2-stable201903 > >On 02/27/19 14:16, Gao, Liming wrote: >> Laszlo: >> >> Thanks >> Liming >>> -Original Message- >>> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >Laszlo Ersek >>> Sent: Tuesday, February 26, 2019 7:55 PM >>> To: Gao, Liming >>> Cc: edk2-devel@lists.01.org >>> Subject: Re: [edk2] [edk2-announce] Soft Feature Freeze starts today for >edk2-stable201903 >>> >>> On 02/26/19 04:30, Gao, Liming wrote: Hi, all Two features (Add SMM CET support and Add WiFi Connection Manager) >get Acked-By or Reviewed-by near the soft feature freeze >>> date. CET is X86 specific feature. WiFi connection manager is the >standalone feature. Their impact should be small. So, I suggest to include >>> them in this stable tag edk2-stable201903. If you have different opinion, >please raise. If no objection, I will push them late this week. Add SMM CET support https://lists.01.org/pipermail/edk2-devel/2019- >February/037128.html NetworkPkg: Add WiFi Connection Manager to NetworkPkg >https://lists.01.org/pipermail/edk2-devel/2019-February/037137.html >>> >>> I think the required feedback tags arrived on time, but just barely. (At >>> least in my time zone, CET = UTC+01:00.) >>> >>> - For Jiewen's "[edk2] [PATCH V3 0/4] Add SMM CET support": >>> - Ray's R-b appeared at 02/22/19 15:29 >>> - My Regression-tested-by appeared at 02/22/19 22:41 >>> >>> - For Wang Fan's "[edk2] [Patch V2] NetworkPkg: Add WiFi Connection >>> Manager to NetworkPkg": >>> - Jiaxin's R-b appeared at 02/22/19 08:56. >>> >>> I'm OK if both features are pushed. >>> >> Thanks. I push these two features. CET feature: 84110bbe4bb3a346514b9bb12eadb7586bca7dfd..3eb69b081c683f9d825930d0c511e43c0485e5d2 Wifi Conncetion: 90b24889f9ced53c18b73266d507e45fbd94fab0 >> >>> >>> However, I do have a suggestion for the announcement email, for the >>> future. Given that we've already encountered three cases in this cycle >>> where the feedback tags are on the boundary, I suggest to include an >>> exact timestamp (in the UTC zone) in each announcement. I never >expected >>> that this accuracy would be necessary, but apparently it is. >>> >> I suggest to list UTC zone in Proposed Schedule of EDK II Release Planning >wiki page as below. I prefer to use PST (UST -8), because edk2-devel Archives >(https://lists.01.org/pipermail/edk2-devel/) uses PST time. Then, we can base >on the archive mail to check each patch. >> >> Date (UTC -8)Description >> 2019-03-08 Beginning of development >> 2019-02-22 Soft Feature Freeze >> 2019-03-01 Hard Feature Freeze >> 2019-03-08 Release > >I think PST (UTC-8) works fine as well, as long as we state it clearly. >Given the time zone, the timestamp is unique, and can be translated to >other time zones. > >I do recommend that we specify "midnight" or 00:00:00 as well, however, >if that is our intent. (I'm fine with other hours too, such as "noon" >etc, but it should be specific down to the second. We should be able to >look at any email on the list and determine if it was before or after. >"Equal" should still be accepted.) > I update wiki page https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Planning with UTC zone. I think the nature time of day is the begin time of one day. 00:00:00 should be common sense. We may not highlight it. >Thanks >Laszlo >___ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch] Document: Update the INF spec about [Depex] section
::= {"BEFORE"} {"AFTER"} should be ::= [{"BEFORE"} {"AFTER"}] The "BEFORE" or "AFTER" is optional key words in current implementation. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng Cc: Liming Gao --- 3_edk_ii_inf_file_format/314_[depex]_sections.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/3_edk_ii_inf_file_format/314_[depex]_sections.md b/3_edk_ii_inf_file_format/314_[depex]_sections.md index 942bcf9..3c0820a 100644 --- a/3_edk_ii_inf_file_format/314_[depex]_sections.md +++ b/3_edk_ii_inf_file_format/314_[depex]_sections.md @@ -179,11 +179,11 @@ and VOID* datum type, and the size of the PCD must be 16 bytes. ::= {} {} {} ::= * ["END" ] ::= {} {} ::= - ::= {"BEFORE"} {"AFTER"} [] + ::= [{"BEFORE"} {"AFTER"}] [] ::= {} {} ::= "PUSH" [] ::= "SOR" [] ::= {} {} ::= {"TRUE"} {"FALSE"} {} {} [] -- 2.20.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch] Document: Update Dsc spec to all empty value for HIIPcd
https://bugzilla.tianocore.org/show_bug.cgi?id=1466 Update Dsc spec to all empty value for HIIPcd. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng Cc: Liming Gao --- 2_dsc_overview/29_pcd_sections.md| 4 ++-- 3_edk_ii_dsc_file_format/310_pcd_sections.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/2_dsc_overview/29_pcd_sections.md b/2_dsc_overview/29_pcd_sections.md index 791125f..d84d2f4 100644 --- a/2_dsc_overview/29_pcd_sections.md +++ b/2_dsc_overview/29_pcd_sections.md @@ -230,11 +230,11 @@ example: `[PcdsDynamicHii.common.Sku1]` While the format for content of this section is as follows, note that the backslash character is used here to indicate the continuation of the line: -`PcdTokenSpaceGuidCName.PcdCName|VariableName|VariableGuid|VariableOffset[|HiiDefaultValue[|HiiAttrubte]]` +`PcdTokenSpaceGuidCName.PcdCName|VariableName|VariableGuid|VariableOffset[|[HiiDefaultValue][|HiiAttrubte]]` For VOID* PCDs, the HiiDefaultValue will be a pointer; specifying the optional HiiDefaultValue has no meaning. The optional HII Attribute entry is a comma separated list of attributes as @@ -340,11 +340,11 @@ Specifying a `SKUID` for an HII PCD selection is optional, for example: `[PcdsDynamicExHii.common.Sku1]` While the format for content of this section is as follows, note that the backslash character is used here to indicate the continuation of the line: -`PcdTokenSpaceGuidCName.PcdCName|VariableName|VariableGuid|VariableOffset[|HiiDefaultValue]` +`PcdTokenSpaceGuidCName.PcdCName|VariableName|VariableGuid|VariableOffset[|[HiiDefaultValue]]` The optional HII Attribute entry is a comma separated list of attributes as described in Table 9 HII Attributes. **Note:** The VariableName field in the HII format PCD entry must not be an empty string. diff --git a/3_edk_ii_dsc_file_format/310_pcd_sections.md b/3_edk_ii_dsc_file_format/310_pcd_sections.md index f9f1359..f982d60 100644 --- a/3_edk_ii_dsc_file_format/310_pcd_sections.md +++ b/3_edk_ii_dsc_file_format/310_pcd_sections.md @@ -503,11 +503,11 @@ sections of the DSC file. ::= {} {} [ ] ::= ::= {} {} ::= [] ::= - ::= [ ] + ::= [] [ ] ::= ::= if (pcddatumtype == "BOOLEAN"): {} {} elif (pcddatumtype == "UINT8"): {} {} @@ -721,11 +721,11 @@ sections of the DSC file. ::= {} {} [ ] ::= ::= {} {} ::= [] ::= - ::= [ ] + ::= [] [ ] ::= ::= if (pcddatumtype == "BOOLEAN"): {} {} elif (pcddatumtype == "UINT8"): {} {} -- 2.20.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] Revert "BaseTools:BaseTools supports to the driver combination."
Reviewed-by: Bob Feng -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Liming Gao Sent: Monday, February 25, 2019 8:15 AM To: edk2-devel@lists.01.org Subject: [edk2] [Patch] Revert "BaseTools:BaseTools supports to the driver combination." This reverts commit 838bc257bae3f9fc6723f41f3980f6cfbedb77e5. After further evaluation, there are the unclear behavior in for the driver combination feature. To not impact Q1 stable tag, remove it first. 1. If the drivers to be combined have the different PCD or library instance setting, build should not combine them and report build break. But this commit doesn't consider this case. 2. When start the sub driver fail, continue to start other sub driver. This behavior is required to be clarifed in build spec. 3. Unload the sub driver when the combined driver start fail. This case need to call the sub driver unload function for the driver start fail only. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao --- BaseTools/Source/Python/AutoGen/GenC.py| 32 -- .../Source/Python/Workspace/WorkspaceCommon.py | 8 -- 2 files changed, 5 insertions(+), 35 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/GenC.py b/BaseTools/Source/Python/AutoGen/GenC.py index 0f1b3bb9a3..a922464f56 100644 --- a/BaseTools/Source/Python/AutoGen/GenC.py +++ b/BaseTools/Source/Python/AutoGen/GenC.py @@ -1457,25 +1457,10 @@ def CreateLibraryDestructorCode(Info, AutoGenC, AutoGenH): def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): if Info.IsLibrary or Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_SEC]: return -ModuleEntryPointList = [] -for Lib in Info.DependentLibraryList: -if len(Lib.ModuleEntryPointList) > 0: -if Lib.ModuleType == Info.ModuleType: -ModuleEntryPointList = ModuleEntryPointList + Lib.ModuleEntryPointList -else: -EdkLogger.error( -"build", -PREBUILD_ERROR, -"Driver's ModuleType must be consistent [%s]"%(str(Lib)), -File=str(Info.PlatformInfo), -ExtraData="consumed by [%s]" % str(Info.MetaFile) -) -ModuleEntryPointList = ModuleEntryPointList + Info.Module.ModuleEntryPointList - # # Module Entry Points # -NumEntryPoints = len(ModuleEntryPointList) +NumEntryPoints = len(Info.Module.ModuleEntryPointList) if 'PI_SPECIFICATION_VERSION' in Info.Module.Specification: PiSpecVersion = Info.Module.Specification['PI_SPECIFICATION_VERSION'] else: @@ -1485,7 +1470,7 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): else: UefiSpecVersion = '0x' Dict = { -'Function' : ModuleEntryPointList, +'Function' : Info.Module.ModuleEntryPointList, 'PiSpecVersion' : PiSpecVersion + 'U', 'UefiSpecVersion': UefiSpecVersion + 'U' } @@ -1498,7 +1483,7 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): AUTOGEN_ERROR, '%s must have exactly one entry point' % Info.ModuleType, File=str(Info), - ExtraData= ", ".join(ModuleEntryPointList) + ExtraData= ", + ".join(Info.Module.ModuleEntryPointList) ) if Info.ModuleType == SUP_MODULE_PEI_CORE: AutoGenC.Append(gPeiCoreEntryPointString.Replace(Dict)) @@ -1552,18 +1537,11 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): def CreateModuleUnloadImageCode(Info, AutoGenC, AutoGenH): if Info.IsLibrary or Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE, SUP_MODULE_SEC]: return - -ModuleUnloadImageList = [] -for Lib in Info.DependentLibraryList: -if len(Lib.ModuleUnloadImageList) > 0: -ModuleUnloadImageList = ModuleUnloadImageList + Lib.ModuleUnloadImageList -ModuleUnloadImageList = ModuleUnloadImageList + Info.Module.ModuleUnloadImageList - # # Unload Image Handlers # -NumUnloadImage = len(ModuleUnloadImageList) -Dict = {'Count':str(NumUnloadImage) + 'U', 'Function':ModuleUnloadImageList} +NumUnloadImage = len(Info.Module.ModuleUnloadImageList) +Dict = {'Count':str(NumUnloadImage) + 'U', + 'Function':Info.Module.ModuleUnloadImageList} if NumUnloadImage < 2: AutoGenC.Append(gUefiUnloadImageString[NumUnloadImage].Replace(Dict)) else: diff --git a/BaseTools/Source/Python/Workspace/WorkspaceCommon.py b/BaseTools/Source/Python/Workspace/WorkspaceCommon.py index 22abda8743..b79280bc2e 100644 --- a/BaseTools/Source/Python/Workspace/WorkspaceCommon.py +++ b/BaseTools/Source/Python/Workspace/WorkspaceCommon.py @@ -20,8 +20,6 @@ from Workspace.BuildClassObject import StructurePcd from Common.BuildToolError import
[edk2] [Patch V2] BaseTools: Add python3-distutils Ubuntu package checking
https://bugzilla.tianocore.org/show_bug.cgi?id=1509 V2: Remove OS/Package specific words. Print the error info which is from python error message. Add python3-distutils Ubuntu package checking. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng Cc: Liming Gao --- BaseTools/Tests/RunTests.py | 12 1 file changed, 12 insertions(+) diff --git a/BaseTools/Tests/RunTests.py b/BaseTools/Tests/RunTests.py index 0dd65632d0..f6d3f43653 100644 --- a/BaseTools/Tests/RunTests.py +++ b/BaseTools/Tests/RunTests.py @@ -17,10 +17,22 @@ # import os import sys import unittest +distutils_exist = True +try: +import distutils.util +except: +distutils_exist = False + +if not distutils_exist: +print(""" +Python report "No module named 'distutils.uitl'" +""") +sys.exit(-1) + import TestTools def GetCTestSuite(): import CToolsTests return CToolsTests.TheTestSuite() -- 2.20.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross boundary access in Ramdisk
I update https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format with CVE example. Please check it. >-Original Message- >From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >Laszlo Ersek >Sent: Thursday, February 28, 2019 3:31 AM >To: Gao, Liming ; Wu, Hao A ; >edk2-devel@lists.01.org >Cc: Zeng, Star >Subject: Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross >boundary access in Ramdisk > >On 02/27/19 13:49, Gao, Liming wrote: >> Laszlo: >> I add my comments. >> >> Thanks >> Liming >>> -Original Message- >>> From: Laszlo Ersek [mailto:ler...@redhat.com] >>> Sent: Wednesday, February 27, 2019 4:58 PM >>> To: Wu, Hao A ; Gao, Liming >; edk2-devel@lists.01.org >>> Cc: Zeng, Star >>> Subject: Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross >boundary access in Ramdisk >>> >>> On 02/27/19 07:56, Wu, Hao A wrote: > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf >Of > Laszlo Ersek > Sent: Tuesday, February 26, 2019 7:45 PM > To: Wu, Hao A; edk2-devel@lists.01.org > Cc: Zeng, Star > Subject: Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer >cross > boundary access in Ramdisk > > On 02/26/19 08:45, Hao Wu wrote: >> V2 changes: >> >> Correct CC list information. >> >> >> V1 history: >> >> The series will resolve a buffer cross boundary access issue during the >> use of RAM disks. It is the mitigation for issue CVE-2018-12180. >> >> Cc: Jian J Wang >> Cc: Ray Ni >> Cc: Star Zeng >> >> Hao Wu (2): >> MdeModulePkg/PartitionDxe: Ensure blocksize can hold MBR (CVE >FIX) >> MdeModulePkg/RamDiskDxe: Ramdisk size be multiple of BlkSize >(CVE > FIX) >> >> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h | 6 >+++--- >> MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c | 9 >- >> MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c | 9 >- >> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskBlockIo.c | 20 > ++-- >> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c | 5 >+++-- >> 5 files changed, 36 insertions(+), 13 deletions(-) >> > > Please put the exact CVE numbers in the subject lines. Hello Laszlo and Liming, I totally agree the commit subject line should include the CVE number. But I have one feedback that, if the commit is for a CVE fix, is it possible to exempt the commit subject from 71 characters limit? >>> >>> In my opinion, that is absolutely the case. >>> I found it can be hard to summary the commit with the Package/Module >plus the CVE number information. >>> >>> I agree, it is hard. But, IMO, in this case, the precise CVE reference >>> takes priority. >>> >> For this case, I suggest to allow subject line length to be bigger, such as >> 120 >character. >> I will update wiki >https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message- >Format for CVE commit message format. >> For example: Pkg-Module: Brief-single-line-summary (CVE-Year-Number) > >Thanks for that! >Laszlo >___ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] Maintainers.txt: clarify Reviewer requirements and responsibilities
Reviewed-by: Andrew Fish > On Feb 27, 2019, at 5:12 PM, Gao, Liming wrote: > > Reviewed-by: Liming Gao > >> -Original Message- >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >> Laszlo Ersek >> Sent: Thursday, February 28, 2019 5:22 AM >> To: edk2-devel-01 >> Cc: Gao, Liming ; Kinney, Michael D >> >> Subject: [edk2] [PATCH] Maintainers.txt: clarify Reviewer requirements and >> responsibilities >> >> The current language for "Package Reviewer" only vaguely hints that >> Package Reviewers should be able to provide guidance and directions. >> Make this more obvious. >> >> Cc: Andrew Fish >> Cc: Ard Biesheuvel >> Cc: Leif Lindholm >> Cc: Liming Gao >> Cc: Michael D Kinney >> Cc: Philippe Mathieu-Daude >> Contributed-under: TianoCore Contribution Agreement 1.1 >> Signed-off-by: Laszlo Ersek >> --- >> >> Notes: >> - this is clearly a political patch; feel free to disagree >> - I'm proposing this for the next development cycle >> >> Maintainers.txt | 5 - >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/Maintainers.txt b/Maintainers.txt >> index 7772926b2fb1..ed090aeb4bdb 100644 >> --- a/Maintainers.txt >> +++ b/Maintainers.txt >> @@ -20,7 +20,10 @@ Descriptions of section entries: >> M: Package Maintainer: Cc address for patches and questions. Responsible >> for reviewing and pushing package changes to source control. >> R: Package Reviewer: Cc address for patches and questions. Reviewers help >> - maintainers review code, but don't have push access. >> + maintainers review code, but don't have push access. A designated >> Package >> + Reviewer is reasonably familiar with the Package (or some modules >> + thereof), and/or provides testing or regression testing for the Package >> + (or some modules thereof), in certain platforms and environments. >> W: Web-page with status/info >> T: SCM tree type and location. Type is one of: git, svn. >> S: Status, one of the following: >> -- >> 2.19.1.3.g30247aa5d201 >> >> ___ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] Maintainers.txt: clarify Reviewer requirements and responsibilities
Reviewed-by: Liming Gao >-Original Message- >From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >Laszlo Ersek >Sent: Thursday, February 28, 2019 5:22 AM >To: edk2-devel-01 >Cc: Gao, Liming ; Kinney, Michael D > >Subject: [edk2] [PATCH] Maintainers.txt: clarify Reviewer requirements and >responsibilities > >The current language for "Package Reviewer" only vaguely hints that >Package Reviewers should be able to provide guidance and directions. >Make this more obvious. > >Cc: Andrew Fish >Cc: Ard Biesheuvel >Cc: Leif Lindholm >Cc: Liming Gao >Cc: Michael D Kinney >Cc: Philippe Mathieu-Daude >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Laszlo Ersek >--- > >Notes: >- this is clearly a political patch; feel free to disagree >- I'm proposing this for the next development cycle > > Maintainers.txt | 5 - > 1 file changed, 4 insertions(+), 1 deletion(-) > >diff --git a/Maintainers.txt b/Maintainers.txt >index 7772926b2fb1..ed090aeb4bdb 100644 >--- a/Maintainers.txt >+++ b/Maintainers.txt >@@ -20,7 +20,10 @@ Descriptions of section entries: > M: Package Maintainer: Cc address for patches and questions. Responsible > for reviewing and pushing package changes to source control. > R: Package Reviewer: Cc address for patches and questions. Reviewers help >- maintainers review code, but don't have push access. >+ maintainers review code, but don't have push access. A designated >Package >+ Reviewer is reasonably familiar with the Package (or some modules >+ thereof), and/or provides testing or regression testing for the Package >+ (or some modules thereof), in certain platforms and environments. > W: Web-page with status/info > T: SCM tree type and location. Type is one of: git, svn. > S: Status, one of the following: >-- >2.19.1.3.g30247aa5d201 > >___ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH] Maintainers.txt: clarify Reviewer requirements and responsibilities
The current language for "Package Reviewer" only vaguely hints that Package Reviewers should be able to provide guidance and directions. Make this more obvious. Cc: Andrew Fish Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Cc: Philippe Mathieu-Daude Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek --- Notes: - this is clearly a political patch; feel free to disagree - I'm proposing this for the next development cycle Maintainers.txt | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Maintainers.txt b/Maintainers.txt index 7772926b2fb1..ed090aeb4bdb 100644 --- a/Maintainers.txt +++ b/Maintainers.txt @@ -20,7 +20,10 @@ Descriptions of section entries: M: Package Maintainer: Cc address for patches and questions. Responsible for reviewing and pushing package changes to source control. R: Package Reviewer: Cc address for patches and questions. Reviewers help - maintainers review code, but don't have push access. + maintainers review code, but don't have push access. A designated Package + Reviewer is reasonably familiar with the Package (or some modules + thereof), and/or provides testing or regression testing for the Package + (or some modules thereof), in certain platforms and environments. W: Web-page with status/info T: SCM tree type and location. Type is one of: git, svn. S: Status, one of the following: -- 2.19.1.3.g30247aa5d201 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Hang when calling ExitBootServices on IA32 firmware v1.0 on MinnowBoard Turbot
Hi Rebecca, MinnowBoard Turbot Dual Ethernet runs with UDK2018 https://github.com/MinnowWare/UDK2018-MinnowBoard That BIOS starts a 64Bit Windows10, including S3 and resume… Phil From: edk2-devel on behalf of Rebecca Cran via edk2-devel Sent: Wednesday, February 27, 2019 12:00:45 AM To: edk2-devel@lists.01.org Subject: Re: [edk2] Hang when calling ExitBootServices on IA32 firmware v1.0 on MinnowBoard Turbot On 2/25/19 5:08 PM, Rebecca Cran via edk2-devel wrote: > I've been trying to test a boot loader on my MinnowBoard Turbot board. > It's running the latest 1.0 firmware from firmware.intel.com, and I'm > seeing a hang at the point when gBS->ExitBootServices is called. I did more debugging using OVMF and found that the i386 boot loader code was trying to call printf (which allocates memory) after ExitBootServices. And that booting an i386 kernel isn't actually supported. So there's not a problem with the MinnowBoard firmware. -- Rebecca Cran ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v1 0/6] Revert DynamicTablesPkg: Framework updates and fixes
On 02/27/19 14:44, Sami Mujawar wrote: > Hi Laszlo, > > The DynamicTablesPkg won't be in use until the corresponding edk2-platform > patches for Dynamic Tables are merged (at which point it would be a major > feature addition). > I think for now, I will hold on until the stable release is tagged. Thank you for the info; that works fine too, in my opinion. Laszlo > -Original Message- > From: Laszlo Ersek > Sent: 26 February 2019 11:06 AM > To: Sami Mujawar ; edk2-devel@lists.01.org > Cc: Stephanie Hughes-Fitt ; Alexei Fedorov > ; nd > Subject: Re: [edk2] [PATCH v1 0/6] Revert DynamicTablesPkg: Framework updates > and fixes > > On 02/26/19 12:01, Laszlo Ersek wrote: >> On 02/26/19 09:44, Sami Mujawar wrote: >>> Reverting this patch series as Soft Feature Freeze for >>> edk2-stable201903 started on 22 Feb 2019. >>> >>> Cc: Laszlo Ersek >>> Cc: Alexei Fedorov >>> Contributed-under: TianoCore Contribution Agreement 1.1 >>> Signed-off-by: Sami Mujawar >>> >>> The changes can be seen at >>> https://github.com/samimujawar/edk2/tree/Revert_473_dynamic_tables_fr >>> amework_v1 >>> >>> Sami Mujawar (6): >>> Revert "DynamicTablesPkg: Minor updates and fix typos" >>> Revert "DynamicTablesPkg: Remove GIC Distributor Id field" >>> Revert "DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI" >>> Revert "DynamicTablesPkg: Add OEM Info" >>> Revert "DynamicTablesPkg: Rename enum used for ID Mapping" >>> Revert "DynamicTablesPkg: Fix protocol section" >>> >>> >>> DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf >>> | 7 +- >>> DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf >>> | 7 +- >>> DynamicTablesPkg/Include/ArmNameSpaceObjects.h >>> | 73 +--- >>> DynamicTablesPkg/Include/Library/TableHelperLib.h >>> | 4 +- >>> DynamicTablesPkg/Include/StandardNameSpaceObjects.h >>> | 18 - >>> DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c >>> | 7 +- >>> DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c >>> | 2 +- >>> DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c >>> | 2 +- >>> DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c >>> | 8 +-- >>> DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c >>> | 6 +- >>> DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c >>> | 2 +- >>> DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c >>> | 2 +- >>> DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c >>> | 26 ++- >>> 13 files changed, 48 insertions(+), 116 deletions(-) >>> >> >> Thank you. Sorry about the inconvenience. >> >> Acked-by: Laszlo Ersek >> >> Laszlo >> > > Note: if you have small individual patches that cleanly qualify as bugfixes, > especially for features introduced during this development cycle (since the > last table tag), those should be acceptable even during the hard feature > freeze. > > https://github.com/tianocore/tianocore.github.io/wiki/HardFeatureFreeze > > So if you have fixes like that (possibly a subset of the present patch set), > I certainly encourage you to repost those. I'm not familiar with > DynamicTablesPkg, and so I can't evaluate this question myself, on a > patch-by-patch basis. It's also possible that you'll have to split out parts > of larger patches (refactor them) so that only the strict-sense fixes can be > posted and applied. > > Thanks! > Laszlo > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-announce] Soft Feature Freeze starts today for edk2-stable201903
On 02/27/19 14:16, Gao, Liming wrote: > Laszlo: > > Thanks > Liming >> -Original Message- >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >> Laszlo Ersek >> Sent: Tuesday, February 26, 2019 7:55 PM >> To: Gao, Liming >> Cc: edk2-devel@lists.01.org >> Subject: Re: [edk2] [edk2-announce] Soft Feature Freeze starts today for >> edk2-stable201903 >> >> On 02/26/19 04:30, Gao, Liming wrote: >>> Hi, all >>> Two features (Add SMM CET support and Add WiFi Connection Manager) get >>> Acked-By or Reviewed-by near the soft feature freeze >> date. CET is X86 specific feature. WiFi connection manager is the standalone >> feature. Their impact should be small. So, I suggest to include >> them in this stable tag edk2-stable201903. If you have different opinion, >> please raise. If no objection, I will push them late this week. >>> >>> Add SMM CET support >>> https://lists.01.org/pipermail/edk2-devel/2019-February/037128.html >>> NetworkPkg: Add WiFi Connection Manager to NetworkPkg >>> https://lists.01.org/pipermail/edk2-devel/2019-February/037137.html >> >> I think the required feedback tags arrived on time, but just barely. (At >> least in my time zone, CET = UTC+01:00.) >> >> - For Jiewen's "[edk2] [PATCH V3 0/4] Add SMM CET support": >> - Ray's R-b appeared at 02/22/19 15:29 >> - My Regression-tested-by appeared at 02/22/19 22:41 >> >> - For Wang Fan's "[edk2] [Patch V2] NetworkPkg: Add WiFi Connection >> Manager to NetworkPkg": >> - Jiaxin's R-b appeared at 02/22/19 08:56. >> >> I'm OK if both features are pushed. >> > Thanks. > >> >> However, I do have a suggestion for the announcement email, for the >> future. Given that we've already encountered three cases in this cycle >> where the feedback tags are on the boundary, I suggest to include an >> exact timestamp (in the UTC zone) in each announcement. I never expected >> that this accuracy would be necessary, but apparently it is. >> > I suggest to list UTC zone in Proposed Schedule of EDK II Release Planning > wiki page as below. I prefer to use PST (UST -8), because edk2-devel Archives > (https://lists.01.org/pipermail/edk2-devel/) uses PST time. Then, we can base > on the archive mail to check each patch. > > Date (UTC -8) Description > 2019-03-08 Beginning of development > 2019-02-22 Soft Feature Freeze > 2019-03-01 Hard Feature Freeze > 2019-03-08 Release I think PST (UTC-8) works fine as well, as long as we state it clearly. Given the time zone, the timestamp is unique, and can be translated to other time zones. I do recommend that we specify "midnight" or 00:00:00 as well, however, if that is our intent. (I'm fine with other hours too, such as "noon" etc, but it should be specific down to the second. We should be able to look at any email on the list and determine if it was before or after. "Equal" should still be accepted.) Thanks Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross boundary access in Ramdisk
On 02/27/19 13:49, Gao, Liming wrote: > Laszlo: > I add my comments. > > Thanks > Liming >> -Original Message- >> From: Laszlo Ersek [mailto:ler...@redhat.com] >> Sent: Wednesday, February 27, 2019 4:58 PM >> To: Wu, Hao A ; Gao, Liming ; >> edk2-devel@lists.01.org >> Cc: Zeng, Star >> Subject: Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross >> boundary access in Ramdisk >> >> On 02/27/19 07:56, Wu, Hao A wrote: -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Laszlo Ersek Sent: Tuesday, February 26, 2019 7:45 PM To: Wu, Hao A; edk2-devel@lists.01.org Cc: Zeng, Star Subject: Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross boundary access in Ramdisk On 02/26/19 08:45, Hao Wu wrote: > V2 changes: > > Correct CC list information. > > > V1 history: > > The series will resolve a buffer cross boundary access issue during the > use of RAM disks. It is the mitigation for issue CVE-2018-12180. > > Cc: Jian J Wang > Cc: Ray Ni > Cc: Star Zeng > > Hao Wu (2): > MdeModulePkg/PartitionDxe: Ensure blocksize can hold MBR (CVE FIX) > MdeModulePkg/RamDiskDxe: Ramdisk size be multiple of BlkSize (CVE FIX) > > MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h | 6 +++--- > MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c | 9 - > MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c | 9 - > MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskBlockIo.c | 20 ++-- > MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c | 5 +++-- > 5 files changed, 36 insertions(+), 13 deletions(-) > Please put the exact CVE numbers in the subject lines. >>> >>> Hello Laszlo and Liming, >>> >>> I totally agree the commit subject line should include the CVE number. >>> But I have one feedback that, if the commit is for a CVE fix, is it >>> possible to exempt the commit subject from 71 characters limit? >> >> In my opinion, that is absolutely the case. >> >>> I found it can be hard to summary the commit with the Package/Module plus >>> the CVE number information. >> >> I agree, it is hard. But, IMO, in this case, the precise CVE reference >> takes priority. >> > For this case, I suggest to allow subject line length to be bigger, such as > 120 character. > I will update wiki > https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format > for CVE commit message format. > For example: Pkg-Module: Brief-single-line-summary (CVE-Year-Number) Thanks for that! Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v1 0/6] Revert DynamicTablesPkg: Framework updates and fixes
Hi Laszlo, The DynamicTablesPkg won't be in use until the corresponding edk2-platform patches for Dynamic Tables are merged (at which point it would be a major feature addition). I think for now, I will hold on until the stable release is tagged. Regards, Sami Mujawar -Original Message- From: Laszlo Ersek Sent: 26 February 2019 11:06 AM To: Sami Mujawar ; edk2-devel@lists.01.org Cc: Stephanie Hughes-Fitt ; Alexei Fedorov ; nd Subject: Re: [edk2] [PATCH v1 0/6] Revert DynamicTablesPkg: Framework updates and fixes On 02/26/19 12:01, Laszlo Ersek wrote: > On 02/26/19 09:44, Sami Mujawar wrote: >> Reverting this patch series as Soft Feature Freeze for >> edk2-stable201903 started on 22 Feb 2019. >> >> Cc: Laszlo Ersek >> Cc: Alexei Fedorov >> Contributed-under: TianoCore Contribution Agreement 1.1 >> Signed-off-by: Sami Mujawar >> >> The changes can be seen at >> https://github.com/samimujawar/edk2/tree/Revert_473_dynamic_tables_fr >> amework_v1 >> >> Sami Mujawar (6): >> Revert "DynamicTablesPkg: Minor updates and fix typos" >> Revert "DynamicTablesPkg: Remove GIC Distributor Id field" >> Revert "DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI" >> Revert "DynamicTablesPkg: Add OEM Info" >> Revert "DynamicTablesPkg: Rename enum used for ID Mapping" >> Revert "DynamicTablesPkg: Fix protocol section" >> >> >> DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf | >> 7 +- >> DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf | >> 7 +- >> DynamicTablesPkg/Include/ArmNameSpaceObjects.h >> | 73 +--- >> DynamicTablesPkg/Include/Library/TableHelperLib.h >> | 4 +- >> DynamicTablesPkg/Include/StandardNameSpaceObjects.h >> | 18 - >> DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c >> | 7 +- >> DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c >> | 2 +- >> DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c >> | 2 +- >> DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c >> | 8 +-- >> DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c >> | 6 +- >> DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c >> | 2 +- >> DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c >> | 2 +- >> DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c >> | 26 ++- >> 13 files changed, 48 insertions(+), 116 deletions(-) >> > > Thank you. Sorry about the inconvenience. > > Acked-by: Laszlo Ersek > > Laszlo > Note: if you have small individual patches that cleanly qualify as bugfixes, especially for features introduced during this development cycle (since the last table tag), those should be acceptable even during the hard feature freeze. https://github.com/tianocore/tianocore.github.io/wiki/HardFeatureFreeze So if you have fixes like that (possibly a subset of the present patch set), I certainly encourage you to repost those. I'm not familiar with DynamicTablesPkg, and so I can't evaluate this question myself, on a patch-by-patch basis. It's also possible that you'll have to split out parts of larger patches (refactor them) so that only the strict-sense fixes can be posted and applied. Thanks! Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-announce] Soft Feature Freeze starts today for edk2-stable201903
Laszlo: Thanks Liming > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Laszlo > Ersek > Sent: Tuesday, February 26, 2019 7:55 PM > To: Gao, Liming > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] [edk2-announce] Soft Feature Freeze starts today for > edk2-stable201903 > > On 02/26/19 04:30, Gao, Liming wrote: > > Hi, all > > Two features (Add SMM CET support and Add WiFi Connection Manager) get > > Acked-By or Reviewed-by near the soft feature freeze > date. CET is X86 specific feature. WiFi connection manager is the standalone > feature. Their impact should be small. So, I suggest to include > them in this stable tag edk2-stable201903. If you have different opinion, > please raise. If no objection, I will push them late this week. > > > > Add SMM CET support > > https://lists.01.org/pipermail/edk2-devel/2019-February/037128.html > > NetworkPkg: Add WiFi Connection Manager to NetworkPkg > > https://lists.01.org/pipermail/edk2-devel/2019-February/037137.html > > I think the required feedback tags arrived on time, but just barely. (At > least in my time zone, CET = UTC+01:00.) > > - For Jiewen's "[edk2] [PATCH V3 0/4] Add SMM CET support": > - Ray's R-b appeared at 02/22/19 15:29 > - My Regression-tested-by appeared at 02/22/19 22:41 > > - For Wang Fan's "[edk2] [Patch V2] NetworkPkg: Add WiFi Connection > Manager to NetworkPkg": > - Jiaxin's R-b appeared at 02/22/19 08:56. > > I'm OK if both features are pushed. > Thanks. > > However, I do have a suggestion for the announcement email, for the > future. Given that we've already encountered three cases in this cycle > where the feedback tags are on the boundary, I suggest to include an > exact timestamp (in the UTC zone) in each announcement. I never expected > that this accuracy would be necessary, but apparently it is. > I suggest to list UTC zone in Proposed Schedule of EDK II Release Planning wiki page as below. I prefer to use PST (UST -8), because edk2-devel Archives (https://lists.01.org/pipermail/edk2-devel/) uses PST time. Then, we can base on the archive mail to check each patch. Date (UTC -8) Description 2019-03-08 Beginning of development 2019-02-22 Soft Feature Freeze 2019-03-01 Hard Feature Freeze 2019-03-08 Release > Thanks! > Laszlo > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross boundary access in Ramdisk
Laszlo: I add my comments. Thanks Liming > -Original Message- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Wednesday, February 27, 2019 4:58 PM > To: Wu, Hao A ; Gao, Liming ; > edk2-devel@lists.01.org > Cc: Zeng, Star > Subject: Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross > boundary access in Ramdisk > > On 02/27/19 07:56, Wu, Hao A wrote: > >> -Original Message- > >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > >> Laszlo Ersek > >> Sent: Tuesday, February 26, 2019 7:45 PM > >> To: Wu, Hao A; edk2-devel@lists.01.org > >> Cc: Zeng, Star > >> Subject: Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross > >> boundary access in Ramdisk > >> > >> On 02/26/19 08:45, Hao Wu wrote: > >>> V2 changes: > >>> > >>> Correct CC list information. > >>> > >>> > >>> V1 history: > >>> > >>> The series will resolve a buffer cross boundary access issue during the > >>> use of RAM disks. It is the mitigation for issue CVE-2018-12180. > >>> > >>> Cc: Jian J Wang > >>> Cc: Ray Ni > >>> Cc: Star Zeng > >>> > >>> Hao Wu (2): > >>> MdeModulePkg/PartitionDxe: Ensure blocksize can hold MBR (CVE FIX) > >>> MdeModulePkg/RamDiskDxe: Ramdisk size be multiple of BlkSize (CVE > >> FIX) > >>> > >>> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h | 6 +++--- > >>> MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c | 9 - > >>> MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c | 9 - > >>> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskBlockIo.c | 20 > >> ++-- > >>> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c | 5 +++-- > >>> 5 files changed, 36 insertions(+), 13 deletions(-) > >>> > >> > >> Please put the exact CVE numbers in the subject lines. > > > > Hello Laszlo and Liming, > > > > I totally agree the commit subject line should include the CVE number. > > But I have one feedback that, if the commit is for a CVE fix, is it > > possible to exempt the commit subject from 71 characters limit? > > In my opinion, that is absolutely the case. > > > I found it can be hard to summary the commit with the Package/Module plus > > the CVE number information. > > I agree, it is hard. But, IMO, in this case, the precise CVE reference > takes priority. > For this case, I suggest to allow subject line length to be bigger, such as 120 character. I will update wiki https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format for CVE commit message format. For example: Pkg-Module: Brief-single-line-summary (CVE-Year-Number) > Thanks > Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Add python3-distutils Ubuntu package checking
On 02/27/19 09:52, Feng, Bob C wrote: > Thanks for comments. I think the print message is not good. It's based on > Ubutun OS. It's not right. > > I think the import error need to be caught and then print some messages, > otherwise the build tool will break and print the call stack which is not > friendly to user. I agree. OS or package name specific references should not be printed, but a user-friendly, concise message about the missing Python feature should be. As soon as I see a Python (or Java, for that matter) stack dump dropped on me, my first instinct is to close the terminal window. Obviously I won't do that most of the time, but it takes effort to start deciphering the stack dump. Give me a usable one-liner error message, and *optionally* a stack dump to dig down. Given that the situation can be remedied by a google search ("what package on my system provides this Python feature") plus a package installation, the stack dump is entirely irrelevant in this case. Thanks Laszlo > -Original Message- > From: Leif Lindholm [mailto:leif.lindh...@linaro.org] > Sent: Wednesday, February 27, 2019 4:26 PM > To: Feng, Bob C > Cc: Ard Biesheuvel ; edk2-devel@lists.01.org; Gao, > Liming > Subject: Re: [edk2] [Patch] BaseTools: Add python3-distutils Ubuntu package > checking > > On Wed, Feb 27, 2019 at 09:07:49AM +0100, Ard Biesheuvel wrote: >> On Tue, 26 Feb 2019 at 02:05, Feng, Bob C wrote: >>> >>> https://bugzilla.tianocore.org/show_bug.cgi?id=1509 >>> >>> Add python3-distutils Ubuntu package checking. >>> >> >> Hi Bob, >> >> This assumes that all Linux systems are Ubuntu based, which is not >> true. The apt tool is specific to Debian/Ubuntu, Fedora/Redhat and >> Suse all use something else. >> >> In general, I don't think we should validate the Python environment to >> this extent, since we cannot fix the problem for the user anyway, only >> flag it, and since python explodes rather loudly in this case, I think >> we should be able to leave it up to developers that are savvy enough >> to build EDK2 to also find the python distutils package for their >> platform. >> >> Note that that doesn't mean we shouldn't document this, and not just >> for Ubuntu. But I think putting it in the script is overkill. > > Yes, I agree > > It is also worth noting that python3-distutils is the current debian/ubuntu > package name. So if we *do* print a message... > >>> Contributed-under: TianoCore Contribution Agreement 1.1 >>> Signed-off-by: Bob Feng >>> Cc: Liming Gao >>> --- >>> BaseTools/Tests/RunTests.py | 14 ++ >>> 1 file changed, 14 insertions(+) >>> >>> diff --git a/BaseTools/Tests/RunTests.py >>> b/BaseTools/Tests/RunTests.py index 0dd65632d0..64778db981 100644 >>> --- a/BaseTools/Tests/RunTests.py >>> +++ b/BaseTools/Tests/RunTests.py >>> @@ -17,10 +17,24 @@ >>> # >>> import os >>> import sys >>> import unittest >>> >>> +distutils_exist = True >>> +try: >>> +import distutils.util >>> +except: >>> +distutils_exist = False >>> + >>> +if not distutils_exist: >>> +print(""" >>> +python3-distutil packages is missing. Please install it with the following >>> command: > > ... printing "missing python distutils package" and possibly python version > would be more reliable. > > But as Ard points out - this is effectively what python itself will say. > > / > Leif > >>> + >>> +bash$ sudo apt-get install python3-distutil >>> +""") >>> +sys.exit(-1) >>> + >>> import TestTools >>> >>> def GetCTestSuite(): >>> import CToolsTests >>> return CToolsTests.TheTestSuite() >>> -- >>> 2.20.1.windows.1 >>> >>> ___ >>> edk2-devel mailing list >>> edk2-devel@lists.01.org >>> https://lists.01.org/mailman/listinfo/edk2-devel >> ___ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] Maintainers.txt: Register myself as OvmfPkg/ArmVirtPkg reviewer
Hi, On 2/21/19 10:13 PM, Philippe Mathieu-Daude wrote: > Part of my assignment is to review OVMF and ArmVirt patches, > having my address listed will help me to catch the related > patches. I had a misunderstanding regarding how EDK2 treats a 'R:' tag, as I understood it as similar to Linux/QEMU, which is simply "reviewers should be CCed on patches". Since EDK2 R: tag seems somehow different, but the description is not explicit: R: Package Reviewer: Cc address for patches and questions. Reviewers help maintainers review code, but don't have push access. Can someone improve the documentation? Meanwhile please disregard this inappropriate patch. Thanks, Phil. > > Signed-off-by: Philippe Mathieu-Daude > --- > Maintainers.txt | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/Maintainers.txt b/Maintainers.txt > index 7772926b2f..3c17038fab 100644 > --- a/Maintainers.txt > +++ b/Maintainers.txt > @@ -82,6 +82,7 @@ M: Laszlo Ersek > M: Ard Biesheuvel > R: Julien Grall > (Xen modules) > +R: Philippe Mathieu-Daudé > > BaseTools > W: https://github.com/tianocore/tianocore.github.io/wiki/BaseTools > @@ -225,6 +226,7 @@ R: Marc-André Lureau > (TPM2 modules) > R: Stefan Berger > (TPM2 modules) > +R: Philippe Mathieu-Daudé > S: Maintained > > PcAtChipsetPkg > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH] MdeModulePkg/SdMmcPciHcDxe: Fix DMA on SDHC v3 64-bit systems
The SdMmcPciHcDriverBindingStart function was checking two different capability bits in determining whether 64-bit DMA modes were supported, one mode is defined in the SDHC version 3 specification (using 96-bit descriptors) and another is defined in the SDHC version 4 specification (using 128-bit descriptors). Since the currently implementation of 64-bit ADMA2 only supports the SDHC version 4 implementation it is incorrect to check the V3 64-bit capability bit since this will activate V4 ADMA2 on V3 controllers. Cc: Hao Wu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eugene Cohen --- MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c index b474f8d..5bc91c5 100644 --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c @@ -666,8 +666,7 @@ SdMmcPciHcDriverBindingStart ( // If any of the slots does not support 64b system bus // do not enable 64b DMA in the PCI layer. // -if (Private->Capability[Slot].SysBus64V3 == 0 && -Private->Capability[Slot].SysBus64V4 == 0) { +if (Private->Capability[Slot].SysBus64V4 == 0) { Support64BitDma = FALSE; } -- 2.7.4 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Add python3-distutils Ubuntu package checking
On Wed, Feb 27, 2019 at 08:52:08AM +, Feng, Bob C wrote: > Thanks for comments. I think the print message is not good. It's based on > Ubutun OS. It's not right. > > I think the import error need to be caught and then print some > messages, otherwise the build tool will break and print the call > stack which is not friendly to user. I agree printing the call stack is not useful for import errors. Is there no way to suppress that for basic environment issues? Surely a "failed to import..." message would also be printed? Regards, Leif > Thanks, > Bob > > -Original Message- > From: Leif Lindholm [mailto:leif.lindh...@linaro.org] > Sent: Wednesday, February 27, 2019 4:26 PM > To: Feng, Bob C > Cc: Ard Biesheuvel ; edk2-devel@lists.01.org; Gao, > Liming > Subject: Re: [edk2] [Patch] BaseTools: Add python3-distutils Ubuntu package > checking > > On Wed, Feb 27, 2019 at 09:07:49AM +0100, Ard Biesheuvel wrote: > > On Tue, 26 Feb 2019 at 02:05, Feng, Bob C wrote: > > > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=1509 > > > > > > Add python3-distutils Ubuntu package checking. > > > > > > > Hi Bob, > > > > This assumes that all Linux systems are Ubuntu based, which is not > > true. The apt tool is specific to Debian/Ubuntu, Fedora/Redhat and > > Suse all use something else. > > > > In general, I don't think we should validate the Python environment to > > this extent, since we cannot fix the problem for the user anyway, only > > flag it, and since python explodes rather loudly in this case, I think > > we should be able to leave it up to developers that are savvy enough > > to build EDK2 to also find the python distutils package for their > > platform. > > > > Note that that doesn't mean we shouldn't document this, and not just > > for Ubuntu. But I think putting it in the script is overkill. > > Yes, I agree > > It is also worth noting that python3-distutils is the current debian/ubuntu > package name. So if we *do* print a message... > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > > Signed-off-by: Bob Feng > > > Cc: Liming Gao > > > --- > > > BaseTools/Tests/RunTests.py | 14 ++ > > > 1 file changed, 14 insertions(+) > > > > > > diff --git a/BaseTools/Tests/RunTests.py > > > b/BaseTools/Tests/RunTests.py index 0dd65632d0..64778db981 100644 > > > --- a/BaseTools/Tests/RunTests.py > > > +++ b/BaseTools/Tests/RunTests.py > > > @@ -17,10 +17,24 @@ > > > # > > > import os > > > import sys > > > import unittest > > > > > > +distutils_exist = True > > > +try: > > > +import distutils.util > > > +except: > > > +distutils_exist = False > > > + > > > +if not distutils_exist: > > > +print(""" > > > +python3-distutil packages is missing. Please install it with the > > > following command: > > ... printing "missing python distutils package" and possibly python version > would be more reliable. > > But as Ard points out - this is effectively what python itself will say. > > / > Leif > > > > + > > > +bash$ sudo apt-get install python3-distutil > > > +""") > > > +sys.exit(-1) > > > + > > > import TestTools > > > > > > def GetCTestSuite(): > > > import CToolsTests > > > return CToolsTests.TheTestSuite() > > > -- > > > 2.20.1.windows.1 > > > > > > ___ > > > edk2-devel mailing list > > > edk2-devel@lists.01.org > > > https://lists.01.org/mailman/listinfo/edk2-devel > > ___ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross boundary access in Ramdisk
On 02/27/19 07:56, Wu, Hao A wrote: >> -Original Message- >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >> Laszlo Ersek >> Sent: Tuesday, February 26, 2019 7:45 PM >> To: Wu, Hao A; edk2-devel@lists.01.org >> Cc: Zeng, Star >> Subject: Re: [edk2] [PATCH v2 0/2] MdeModulePkg: Resolve buffer cross >> boundary access in Ramdisk >> >> On 02/26/19 08:45, Hao Wu wrote: >>> V2 changes: >>> >>> Correct CC list information. >>> >>> >>> V1 history: >>> >>> The series will resolve a buffer cross boundary access issue during the >>> use of RAM disks. It is the mitigation for issue CVE-2018-12180. >>> >>> Cc: Jian J Wang >>> Cc: Ray Ni >>> Cc: Star Zeng >>> >>> Hao Wu (2): >>> MdeModulePkg/PartitionDxe: Ensure blocksize can hold MBR (CVE FIX) >>> MdeModulePkg/RamDiskDxe: Ramdisk size be multiple of BlkSize (CVE >> FIX) >>> >>> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h | 6 +++--- >>> MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c | 9 - >>> MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c | 9 - >>> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskBlockIo.c | 20 >> ++-- >>> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c | 5 +++-- >>> 5 files changed, 36 insertions(+), 13 deletions(-) >>> >> >> Please put the exact CVE numbers in the subject lines. > > Hello Laszlo and Liming, > > I totally agree the commit subject line should include the CVE number. > But I have one feedback that, if the commit is for a CVE fix, is it > possible to exempt the commit subject from 71 characters limit? In my opinion, that is absolutely the case. > I found it can be hard to summary the commit with the Package/Module plus > the CVE number information. I agree, it is hard. But, IMO, in this case, the precise CVE reference takes priority. Thanks Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Add python3-distutils Ubuntu package checking
Thanks for comments. I think the print message is not good. It's based on Ubutun OS. It's not right. I think the import error need to be caught and then print some messages, otherwise the build tool will break and print the call stack which is not friendly to user. Thanks, Bob -Original Message- From: Leif Lindholm [mailto:leif.lindh...@linaro.org] Sent: Wednesday, February 27, 2019 4:26 PM To: Feng, Bob C Cc: Ard Biesheuvel ; edk2-devel@lists.01.org; Gao, Liming Subject: Re: [edk2] [Patch] BaseTools: Add python3-distutils Ubuntu package checking On Wed, Feb 27, 2019 at 09:07:49AM +0100, Ard Biesheuvel wrote: > On Tue, 26 Feb 2019 at 02:05, Feng, Bob C wrote: > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=1509 > > > > Add python3-distutils Ubuntu package checking. > > > > Hi Bob, > > This assumes that all Linux systems are Ubuntu based, which is not > true. The apt tool is specific to Debian/Ubuntu, Fedora/Redhat and > Suse all use something else. > > In general, I don't think we should validate the Python environment to > this extent, since we cannot fix the problem for the user anyway, only > flag it, and since python explodes rather loudly in this case, I think > we should be able to leave it up to developers that are savvy enough > to build EDK2 to also find the python distutils package for their > platform. > > Note that that doesn't mean we shouldn't document this, and not just > for Ubuntu. But I think putting it in the script is overkill. Yes, I agree It is also worth noting that python3-distutils is the current debian/ubuntu package name. So if we *do* print a message... > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Bob Feng > > Cc: Liming Gao > > --- > > BaseTools/Tests/RunTests.py | 14 ++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/BaseTools/Tests/RunTests.py > > b/BaseTools/Tests/RunTests.py index 0dd65632d0..64778db981 100644 > > --- a/BaseTools/Tests/RunTests.py > > +++ b/BaseTools/Tests/RunTests.py > > @@ -17,10 +17,24 @@ > > # > > import os > > import sys > > import unittest > > > > +distutils_exist = True > > +try: > > +import distutils.util > > +except: > > +distutils_exist = False > > + > > +if not distutils_exist: > > +print(""" > > +python3-distutil packages is missing. Please install it with the following > > command: ... printing "missing python distutils package" and possibly python version would be more reliable. But as Ard points out - this is effectively what python itself will say. / Leif > > + > > +bash$ sudo apt-get install python3-distutil > > +""") > > +sys.exit(-1) > > + > > import TestTools > > > > def GetCTestSuite(): > > import CToolsTests > > return CToolsTests.TheTestSuite() > > -- > > 2.20.1.windows.1 > > > > ___ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Add python3-distutils Ubuntu package checking
On Wed, Feb 27, 2019 at 09:07:49AM +0100, Ard Biesheuvel wrote: > On Tue, 26 Feb 2019 at 02:05, Feng, Bob C wrote: > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=1509 > > > > Add python3-distutils Ubuntu package checking. > > > > Hi Bob, > > This assumes that all Linux systems are Ubuntu based, which is not > true. The apt tool is specific to Debian/Ubuntu, Fedora/Redhat and > Suse all use something else. > > In general, I don't think we should validate the Python environment to > this extent, since we cannot fix the problem for the user anyway, only > flag it, and since python explodes rather loudly in this case, I think > we should be able to leave it up to developers that are savvy enough > to build EDK2 to also find the python distutils package for their > platform. > > Note that that doesn't mean we shouldn't document this, and not just > for Ubuntu. But I think putting it in the script is overkill. Yes, I agree It is also worth noting that python3-distutils is the current debian/ubuntu package name. So if we *do* print a message... > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Bob Feng > > Cc: Liming Gao > > --- > > BaseTools/Tests/RunTests.py | 14 ++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/BaseTools/Tests/RunTests.py b/BaseTools/Tests/RunTests.py > > index 0dd65632d0..64778db981 100644 > > --- a/BaseTools/Tests/RunTests.py > > +++ b/BaseTools/Tests/RunTests.py > > @@ -17,10 +17,24 @@ > > # > > import os > > import sys > > import unittest > > > > +distutils_exist = True > > +try: > > +import distutils.util > > +except: > > +distutils_exist = False > > + > > +if not distutils_exist: > > +print(""" > > +python3-distutil packages is missing. Please install it with the following > > command: ... printing "missing python distutils package" and possibly python version would be more reliable. But as Ard points out - this is effectively what python itself will say. / Leif > > + > > +bash$ sudo apt-get install python3-distutil > > +""") > > +sys.exit(-1) > > + > > import TestTools > > > > def GetCTestSuite(): > > import CToolsTests > > return CToolsTests.TheTestSuite() > > -- > > 2.20.1.windows.1 > > > > ___ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Add python3-distutils Ubuntu package checking
On Tue, 26 Feb 2019 at 02:05, Feng, Bob C wrote: > > https://bugzilla.tianocore.org/show_bug.cgi?id=1509 > > Add python3-distutils Ubuntu package checking. > Hi Bob, This assumes that all Linux systems are Ubuntu based, which is not true. The apt tool is specific to Debian/Ubuntu, Fedora/Redhat and Suse all use something else. In general, I don't think we should validate the Python environment to this extent, since we cannot fix the problem for the user anyway, only flag it, and since python explodes rather loudly in this case, I think we should be able to leave it up to developers that are savvy enough to build EDK2 to also find the python distutils package for their platform. Note that that doesn't mean we shouldn't document this, and not just for Ubuntu. But I think putting it in the script is overkill. > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Bob Feng > Cc: Liming Gao > --- > BaseTools/Tests/RunTests.py | 14 ++ > 1 file changed, 14 insertions(+) > > diff --git a/BaseTools/Tests/RunTests.py b/BaseTools/Tests/RunTests.py > index 0dd65632d0..64778db981 100644 > --- a/BaseTools/Tests/RunTests.py > +++ b/BaseTools/Tests/RunTests.py > @@ -17,10 +17,24 @@ > # > import os > import sys > import unittest > > +distutils_exist = True > +try: > +import distutils.util > +except: > +distutils_exist = False > + > +if not distutils_exist: > +print(""" > +python3-distutil packages is missing. Please install it with the following > command: > + > +bash$ sudo apt-get install python3-distutil > +""") > +sys.exit(-1) > + > import TestTools > > def GetCTestSuite(): > import CToolsTests > return CToolsTests.TheTestSuite() > -- > 2.20.1.windows.1 > > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel