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.
openSUSE Build Service is sponsored by