]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg: fix UninstallMultipleProtocolInterfaces() calls
authorLaszlo Ersek <lersek@redhat.com>
Fri, 6 Sep 2019 22:50:42 +0000 (00:50 +0200)
committerLaszlo Ersek <lersek@redhat.com>
Wed, 9 Oct 2019 07:40:10 +0000 (09:40 +0200)
Unlike the InstallMultipleProtocolInterfaces() boot service, which takes
an (EFI_HANDLE*) as first parameter, the
UninstallMultipleProtocolInterfaces() boot service takes an EFI_HANDLE as
first parameter.

These are actual bugs. They must have remained hidden until now because
they are on error paths. Fix the UninstallMultipleProtocolInterfaces()
calls.

Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
MdeModulePkg/Bus/I2c/I2cDxe/I2cBus.c
MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c
MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c
MdeModulePkg/Bus/Pci/PciSioSerialDxe/Serial.c
MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.c
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbEnumer.c
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassImpl.c

index 2b54ec51dca0951c7d6450b0938c6e70e20de94b..ed33a51da252757d4f71772a0699dc566db47afe 100644 (file)
@@ -720,7 +720,7 @@ Error:
 \r
     if (I2cBusContext != NULL) {\r
       Status = gBS->UninstallMultipleProtocolInterfaces (\r
-                      &Controller,\r
+                      Controller,\r
                       gEfiCallerIdGuid,\r
                       I2cBusContext,\r
                       NULL\r
index c6e401176a4b3b1359a41d2fdfff6bfbfa14970d..3bde96bc957643ea41c51d1d4b1aa5b469c45444 100644 (file)
@@ -244,7 +244,7 @@ EnumerateNvmeDevNamespace (
                       );\r
       if(EFI_ERROR(Status)) {\r
         gBS->UninstallMultipleProtocolInterfaces (\r
-               &Device->DeviceHandle,\r
+               Device->DeviceHandle,\r
                &gEfiDevicePathProtocolGuid,\r
                Device->DevicePath,\r
                &gEfiBlockIoProtocolGuid,\r
index b7832c6970ad1d3da08e23d0df61fab2138b8752..292dd25da817b9e95a8accbd74dbac1219f810de 100644 (file)
@@ -313,7 +313,7 @@ RegisterPciDevice (
                     );\r
     if (EFI_ERROR (Status)) {\r
       gBS->UninstallMultipleProtocolInterfaces (\r
-             &PciIoDevice->Handle,\r
+             PciIoDevice->Handle,\r
              &gEfiDevicePathProtocolGuid,\r
              PciIoDevice->DevicePath,\r
              &gEfiPciIoProtocolGuid,\r
@@ -351,7 +351,7 @@ RegisterPciDevice (
                     );\r
     if (EFI_ERROR (Status)) {\r
       gBS->UninstallMultipleProtocolInterfaces (\r
-             &PciIoDevice->Handle,\r
+             PciIoDevice->Handle,\r
              &gEfiDevicePathProtocolGuid,\r
              PciIoDevice->DevicePath,\r
              &gEfiPciIoProtocolGuid,\r
@@ -360,7 +360,7 @@ RegisterPciDevice (
              );\r
       if (HasEfiImage) {\r
         gBS->UninstallMultipleProtocolInterfaces (\r
-               &PciIoDevice->Handle,\r
+               PciIoDevice->Handle,\r
                &gEfiLoadFile2ProtocolGuid,\r
                &PciIoDevice->LoadFile2,\r
                NULL\r
index 82db93a8b117845b40ac5294ea013add82bc350f..9fe8a482e067be1b42d83a4dda3e50469e36a2eb 100644 (file)
@@ -665,7 +665,7 @@ CreateSerialDevice (
 \r
   if (EFI_ERROR (Status)) {\r
     gBS->UninstallMultipleProtocolInterfaces (\r
-           &SerialDevice->Handle,\r
+           SerialDevice->Handle,\r
            &gEfiDevicePathProtocolGuid, SerialDevice->DevicePath,\r
            &gEfiSerialIoProtocolGuid, &SerialDevice->SerialIo,\r
            NULL\r
index 62f18d1878bd5a69de4b4c024204679f1e9939eb..e2ae56c5058ac74ec01bd5fc2aaac9afed62c0ee 100644 (file)
@@ -475,7 +475,7 @@ InstallProtocolOnPartition (
                         );\r
         if (EFI_ERROR (Status)) {\r
           gBS->UninstallMultipleProtocolInterfaces (\r
-                 &Partition->Handle,\r
+                 Partition->Handle,\r
                  &gEfiDevicePathProtocolGuid,\r
                  Partition->DevicePath,\r
                  &gEfiBlockIoProtocolGuid,\r
index eaa0d70024bb8a6b786d39a146ecb92c3bd5eb42..cc0de52de411b66e5f0b0641bbe5257e3d65ec9b 100644 (file)
@@ -159,7 +159,7 @@ UsbCreateInterface (
 \r
   if (EFI_ERROR (Status)) {\r
     gBS->UninstallMultipleProtocolInterfaces (\r
-           &UsbIf->Handle,\r
+           UsbIf->Handle,\r
            &gEfiDevicePathProtocolGuid,\r
            UsbIf->DevicePath,\r
            &gEfiUsbIoProtocolGuid,\r
index 8c27e18cdb8754151221d8a00ed943267a9953a2..0dcbc5da2cb881640402414320d0a2a9327e9677 100644 (file)
@@ -575,7 +575,7 @@ UsbMassInitMultiLun (
     if (EFI_ERROR (Status)) {\r
       DEBUG ((EFI_D_ERROR, "UsbMassInitMultiLun: OpenUsbIoProtocol By Child (%r)\n", Status));\r
       gBS->UninstallMultipleProtocolInterfaces (\r
-             &UsbMass->Controller,\r
+             UsbMass->Controller,\r
              &gEfiDevicePathProtocolGuid,\r
              UsbMass->DevicePath,\r
              &gEfiBlockIoProtocolGuid,\r