File ovmf.ae8272ef787d80950803c521a13a308651bdc62e.patch of Package xen
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon, 20 Dec 2021 22:32:38 +0800
Subject: ae8272ef787d80950803c521a13a308651bdc62e
MdeModulePkg/UsbBusDxe: fix NOOPT build error
gcc-11 (fedora 35):
/home/kraxel/projects/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c: In function ?UsbIoBulkTransfer?:
/home/kraxel/projects/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c:277:12: error: ?UsbHcBulkTransfer? accessing 80 bytes in a region of size 8 [-Werror=stringop-overflow=]
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
---
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c | 2 +-
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c
+++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c
@@ -360,25 +360,25 @@ UsbHcControlTransfer (
@retval EFI_SUCCESS The bulk transfer is finished without error.
@retval Others Failed to execute bulk transfer, result in UsbResult.
**/
EFI_STATUS
UsbHcBulkTransfer (
IN USB_BUS *UsbBus,
IN UINT8 DevAddr,
IN UINT8 EpAddr,
IN UINT8 DevSpeed,
IN UINTN MaxPacket,
IN UINT8 BufferNum,
- IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM],
+ IN OUT VOID *Data[],
IN OUT UINTN *DataLength,
IN OUT UINT8 *DataToggle,
IN UINTN TimeOut,
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator,
OUT UINT32 *UsbResult
)
{
EFI_STATUS Status;
if (UsbBus->Usb2Hc != NULL) {
Status = UsbBus->Usb2Hc->BulkTransfer (
UsbBus->Usb2Hc,
--- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h
+++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h
@@ -195,25 +195,25 @@ UsbHcControlTransfer (
@retval EFI_SUCCESS The bulk transfer is finished without error.
@retval Others Failed to execute bulk transfer, result in UsbResult.
**/
EFI_STATUS
UsbHcBulkTransfer (
IN USB_BUS *UsbBus,
IN UINT8 DevAddr,
IN UINT8 EpAddr,
IN UINT8 DevSpeed,
IN UINTN MaxPacket,
IN UINT8 BufferNum,
- IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM],
+ IN OUT VOID *Data[],
IN OUT UINTN *DataLength,
IN OUT UINT8 *DataToggle,
IN UINTN TimeOut,
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator,
OUT UINT32 *UsbResult
);
/**
Queue or cancel an asynchronous interrupt transfer.
@param UsbBus The USB bus driver.
@param DevAddr The target device address.