public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
@ 2019-01-10 19:27 Ashish Singhal
  2019-01-11  1:00 ` Wu, Jiaxin
  0 siblings, 1 reply; 4+ messages in thread
From: Ashish Singhal @ 2019-01-10 19:27 UTC (permalink / raw)
  To: edk2-devel; +Cc: siyuan.fu, jiaxin.wu, Ashish Singhal

Use UEFILib provided protocol uninstallation abstraction
instead of direct API for a proper cleanup.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1444

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
---
 NetworkPkg/DnsDxe/DnsDriver.c         | 30 ++++++++++--------------------
 NetworkPkg/HttpBootDxe/HttpBootDxe.c  | 15 +++++----------
 NetworkPkg/HttpDxe/HttpDriver.c       | 15 +++++----------
 NetworkPkg/IpSecDxe/IpSecDriver.c     | 15 +++++----------
 NetworkPkg/TcpDxe/TcpDriver.c         | 15 +++++----------
 NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c | 15 +++++----------
 6 files changed, 35 insertions(+), 70 deletions(-)

diff --git a/NetworkPkg/DnsDxe/DnsDriver.c b/NetworkPkg/DnsDxe/DnsDriver.c
index 1f9b924..b74f5ba 100644
--- a/NetworkPkg/DnsDxe/DnsDriver.c
+++ b/NetworkPkg/DnsDxe/DnsDriver.c
@@ -510,28 +510,18 @@ DnsDriverEntryPoint (
     FreePool (mDriverData);
 
   Error2:
-     gBS->UninstallMultipleProtocolInterfaces (
-           gDns6DriverBinding.DriverBindingHandle,
-           &gEfiDriverBindingProtocolGuid,
-           &gDns6DriverBinding,
-           &gEfiComponentName2ProtocolGuid,
-           &gDnsComponentName2,
-           &gEfiComponentNameProtocolGuid,
-           &gDnsComponentName,
-           NULL
-           );
+     EfiLibUninstallDriverBindingComponentName2 (
+       &gDns6DriverBinding,
+       &gDnsComponentName,
+       &gDnsComponentName2
+       );
 
   Error1:
-    gBS->UninstallMultipleProtocolInterfaces (
-           ImageHandle,
-           &gEfiDriverBindingProtocolGuid,
-           &gDns4DriverBinding,
-           &gEfiComponentName2ProtocolGuid,
-           &gDnsComponentName2,
-           &gEfiComponentNameProtocolGuid,
-           &gDnsComponentName,
-           NULL
-           );
+    EfiLibUninstallDriverBindingComponentName2 (
+      &gDns4DriverBinding,
+      &gDnsComponentName,
+      &gDnsComponentName2
+      );
 
   return Status;
 }
diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.c b/NetworkPkg/HttpBootDxe/HttpBootDxe.c
index 7ec06f960..0b16f95 100644
--- a/NetworkPkg/HttpBootDxe/HttpBootDxe.c
+++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.c
@@ -1327,16 +1327,11 @@ HttpBootDxeDriverEntryPoint (
              &gHttpBootDxeComponentName2
              );
   if (EFI_ERROR (Status)) {
-    gBS->UninstallMultipleProtocolInterfaces(
-           ImageHandle,
-           &gEfiDriverBindingProtocolGuid,
-           &gHttpBootIp4DxeDriverBinding,
-           &gEfiComponentName2ProtocolGuid,
-           &gHttpBootDxeComponentName2,
-           &gEfiComponentNameProtocolGuid,
-           &gHttpBootDxeComponentName,
-           NULL
-           );
+    EfiLibUninstallDriverBindingComponentName2(
+      &gHttpBootIp4DxeDriverBinding,
+      &gHttpBootDxeComponentName,
+      &gHttpBootDxeComponentName2
+      );
   }
   return Status;
 }
diff --git a/NetworkPkg/HttpDxe/HttpDriver.c b/NetworkPkg/HttpDxe/HttpDriver.c
index 8df984d..979d76d 100644
--- a/NetworkPkg/HttpDxe/HttpDriver.c
+++ b/NetworkPkg/HttpDxe/HttpDriver.c
@@ -230,16 +230,11 @@ HttpDxeDriverEntryPoint (
              &gHttpDxeComponentName2
              );
   if (EFI_ERROR (Status)) {
-    gBS->UninstallMultipleProtocolInterfaces (
-           ImageHandle,
-           &gEfiDriverBindingProtocolGuid,
-           &gHttpDxeIp4DriverBinding,
-           &gEfiComponentName2ProtocolGuid,
-           &gHttpDxeComponentName2,
-           &gEfiComponentNameProtocolGuid,
-           &gHttpDxeComponentName,
-           NULL
-           );
+    EfiLibUninstallDriverBindingComponentName2 (
+      &gHttpDxeIp4DriverBinding,
+      &gHttpDxeComponentName,
+      &gHttpDxeComponentName2
+      );
   }
   return Status;
 }
diff --git a/NetworkPkg/IpSecDxe/IpSecDriver.c b/NetworkPkg/IpSecDxe/IpSecDriver.c
index f66f89a..3082d99 100644
--- a/NetworkPkg/IpSecDxe/IpSecDriver.c
+++ b/NetworkPkg/IpSecDxe/IpSecDriver.c
@@ -631,16 +631,11 @@ IpSecDriverEntryPoint (
   return Status;
 
 ON_UNINSTALL_IPSEC4_DB:
-  gBS->UninstallMultipleProtocolInterfaces (
-         ImageHandle,
-         &gEfiDriverBindingProtocolGuid,
-         &gIpSec4DriverBinding,
-         &gEfiComponentName2ProtocolGuid,
-         &gIpSecComponentName2,
-         &gEfiComponentNameProtocolGuid,
-         &gIpSecComponentName,
-         NULL
-         );
+  EfiLibUninstallDriverBindingComponentName2 (
+    &gIpSec4DriverBinding,
+    &gIpSecComponentName,
+    &gIpSecComponentName2
+    );
 
 ON_UNINSTALL_IPSEC:
   gBS->UninstallProtocolInterface (
diff --git a/NetworkPkg/TcpDxe/TcpDriver.c b/NetworkPkg/TcpDxe/TcpDriver.c
index 2d4b16c..00d172b 100644
--- a/NetworkPkg/TcpDxe/TcpDriver.c
+++ b/NetworkPkg/TcpDxe/TcpDriver.c
@@ -202,16 +202,11 @@ TcpDriverEntryPoint (
              &gTcpComponentName2
              );
   if (EFI_ERROR (Status)) {
-    gBS->UninstallMultipleProtocolInterfaces (
-           ImageHandle,
-           &gEfiDriverBindingProtocolGuid,
-           &gTcp4DriverBinding,
-           &gEfiComponentName2ProtocolGuid,
-           &gTcpComponentName2,
-           &gEfiComponentNameProtocolGuid,
-           &gTcpComponentName,
-           NULL
-           );
+    EfiLibUninstallDriverBindingComponentName2 (
+      &gTcp4DriverBinding,
+      &gTcpComponentName,
+      &gTcpComponentName2
+      );
     return Status;
   }
 
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
index 0ab640b..f25c27a 100644
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
@@ -1269,16 +1269,11 @@ PxeBcDriverEntryPoint (
              &gPxeBcComponentName2
              );
   if (EFI_ERROR (Status)) {
-    gBS->UninstallMultipleProtocolInterfaces (
-           ImageHandle,
-           &gEfiDriverBindingProtocolGuid,
-           &gPxeBcIp4DriverBinding,
-           &gEfiComponentName2ProtocolGuid,
-           &gPxeBcComponentName2,
-           &gEfiComponentNameProtocolGuid,
-           &gPxeBcComponentName,
-           NULL
-           );
+    EfiLibUninstallDriverBindingComponentName2 (
+      &gPxeBcIp4DriverBinding,
+      &gPxeBcComponentName,
+      &gPxeBcComponentName2
+      );
   }
 
   return Status;
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
  2019-01-10 19:27 [PATCH] NetworkPkg: Protocol Uninstallation Cleanup Ashish Singhal
@ 2019-01-11  1:00 ` Wu, Jiaxin
  2019-01-14  4:57   ` Ashish Singhal
  0 siblings, 1 reply; 4+ messages in thread
From: Wu, Jiaxin @ 2019-01-11  1:00 UTC (permalink / raw)
  To: Ashish Singhal, edk2-devel@lists.01.org; +Cc: Fu, Siyuan

Looks good to me.

Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>

Thanks,
Jiaxin

> -----Original Message-----
> From: Ashish Singhal [mailto:ashishsingha@nvidia.com]
> Sent: Friday, January 11, 2019 3:27 AM
> To: edk2-devel@lists.01.org
> Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>;
> Ashish Singhal <ashishsingha@nvidia.com>
> Subject: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
> 
> Use UEFILib provided protocol uninstallation abstraction
> instead of direct API for a proper cleanup.
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1444
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
> ---
>  NetworkPkg/DnsDxe/DnsDriver.c         | 30 ++++++++++--------------------
>  NetworkPkg/HttpBootDxe/HttpBootDxe.c  | 15 +++++----------
>  NetworkPkg/HttpDxe/HttpDriver.c       | 15 +++++----------
>  NetworkPkg/IpSecDxe/IpSecDriver.c     | 15 +++++----------
>  NetworkPkg/TcpDxe/TcpDriver.c         | 15 +++++----------
>  NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c | 15 +++++----------
>  6 files changed, 35 insertions(+), 70 deletions(-)
> 
> diff --git a/NetworkPkg/DnsDxe/DnsDriver.c
> b/NetworkPkg/DnsDxe/DnsDriver.c
> index 1f9b924..b74f5ba 100644
> --- a/NetworkPkg/DnsDxe/DnsDriver.c
> +++ b/NetworkPkg/DnsDxe/DnsDriver.c
> @@ -510,28 +510,18 @@ DnsDriverEntryPoint (
>      FreePool (mDriverData);
> 
>    Error2:
> -     gBS->UninstallMultipleProtocolInterfaces (
> -           gDns6DriverBinding.DriverBindingHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gDns6DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gDnsComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gDnsComponentName,
> -           NULL
> -           );
> +     EfiLibUninstallDriverBindingComponentName2 (
> +       &gDns6DriverBinding,
> +       &gDnsComponentName,
> +       &gDnsComponentName2
> +       );
> 
>    Error1:
> -    gBS->UninstallMultipleProtocolInterfaces (
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gDns4DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gDnsComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gDnsComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2 (
> +      &gDns4DriverBinding,
> +      &gDnsComponentName,
> +      &gDnsComponentName2
> +      );
> 
>    return Status;
>  }
> diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> b/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> index 7ec06f960..0b16f95 100644
> --- a/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> +++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> @@ -1327,16 +1327,11 @@ HttpBootDxeDriverEntryPoint (
>               &gHttpBootDxeComponentName2
>               );
>    if (EFI_ERROR (Status)) {
> -    gBS->UninstallMultipleProtocolInterfaces(
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gHttpBootIp4DxeDriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gHttpBootDxeComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gHttpBootDxeComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2(
> +      &gHttpBootIp4DxeDriverBinding,
> +      &gHttpBootDxeComponentName,
> +      &gHttpBootDxeComponentName2
> +      );
>    }
>    return Status;
>  }
> diff --git a/NetworkPkg/HttpDxe/HttpDriver.c
> b/NetworkPkg/HttpDxe/HttpDriver.c
> index 8df984d..979d76d 100644
> --- a/NetworkPkg/HttpDxe/HttpDriver.c
> +++ b/NetworkPkg/HttpDxe/HttpDriver.c
> @@ -230,16 +230,11 @@ HttpDxeDriverEntryPoint (
>               &gHttpDxeComponentName2
>               );
>    if (EFI_ERROR (Status)) {
> -    gBS->UninstallMultipleProtocolInterfaces (
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gHttpDxeIp4DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gHttpDxeComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gHttpDxeComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2 (
> +      &gHttpDxeIp4DriverBinding,
> +      &gHttpDxeComponentName,
> +      &gHttpDxeComponentName2
> +      );
>    }
>    return Status;
>  }
> diff --git a/NetworkPkg/IpSecDxe/IpSecDriver.c
> b/NetworkPkg/IpSecDxe/IpSecDriver.c
> index f66f89a..3082d99 100644
> --- a/NetworkPkg/IpSecDxe/IpSecDriver.c
> +++ b/NetworkPkg/IpSecDxe/IpSecDriver.c
> @@ -631,16 +631,11 @@ IpSecDriverEntryPoint (
>    return Status;
> 
>  ON_UNINSTALL_IPSEC4_DB:
> -  gBS->UninstallMultipleProtocolInterfaces (
> -         ImageHandle,
> -         &gEfiDriverBindingProtocolGuid,
> -         &gIpSec4DriverBinding,
> -         &gEfiComponentName2ProtocolGuid,
> -         &gIpSecComponentName2,
> -         &gEfiComponentNameProtocolGuid,
> -         &gIpSecComponentName,
> -         NULL
> -         );
> +  EfiLibUninstallDriverBindingComponentName2 (
> +    &gIpSec4DriverBinding,
> +    &gIpSecComponentName,
> +    &gIpSecComponentName2
> +    );
> 
>  ON_UNINSTALL_IPSEC:
>    gBS->UninstallProtocolInterface (
> diff --git a/NetworkPkg/TcpDxe/TcpDriver.c
> b/NetworkPkg/TcpDxe/TcpDriver.c
> index 2d4b16c..00d172b 100644
> --- a/NetworkPkg/TcpDxe/TcpDriver.c
> +++ b/NetworkPkg/TcpDxe/TcpDriver.c
> @@ -202,16 +202,11 @@ TcpDriverEntryPoint (
>               &gTcpComponentName2
>               );
>    if (EFI_ERROR (Status)) {
> -    gBS->UninstallMultipleProtocolInterfaces (
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gTcp4DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gTcpComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gTcpComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2 (
> +      &gTcp4DriverBinding,
> +      &gTcpComponentName,
> +      &gTcpComponentName2
> +      );
>      return Status;
>    }
> 
> diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> index 0ab640b..f25c27a 100644
> --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> @@ -1269,16 +1269,11 @@ PxeBcDriverEntryPoint (
>               &gPxeBcComponentName2
>               );
>    if (EFI_ERROR (Status)) {
> -    gBS->UninstallMultipleProtocolInterfaces (
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gPxeBcIp4DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gPxeBcComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gPxeBcComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2 (
> +      &gPxeBcIp4DriverBinding,
> +      &gPxeBcComponentName,
> +      &gPxeBcComponentName2
> +      );
>    }
> 
>    return Status;
> --
> 2.7.4



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
  2019-01-11  1:00 ` Wu, Jiaxin
@ 2019-01-14  4:57   ` Ashish Singhal
  2019-01-14  6:12     ` Wu, Jiaxin
  0 siblings, 1 reply; 4+ messages in thread
From: Ashish Singhal @ 2019-01-14  4:57 UTC (permalink / raw)
  To: Wu, Jiaxin, edk2-devel@lists.01.org; +Cc: Fu, Siyuan

Thanks Jiaxin. Please let me know if anything else is needed to mainline it.

-----Original Message-----
From: Wu, Jiaxin <jiaxin.wu@intel.com> 
Sent: Thursday, January 10, 2019 6:01 PM
To: Ashish Singhal <ashishsingha@nvidia.com>; edk2-devel@lists.01.org
Cc: Fu, Siyuan <siyuan.fu@intel.com>
Subject: RE: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup

Looks good to me.

Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>

Thanks,
Jiaxin

> -----Original Message-----
> From: Ashish Singhal [mailto:ashishsingha@nvidia.com]
> Sent: Friday, January 11, 2019 3:27 AM
> To: edk2-devel@lists.01.org
> Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin 
> <jiaxin.wu@intel.com>; Ashish Singhal <ashishsingha@nvidia.com>
> Subject: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
> 
> Use UEFILib provided protocol uninstallation abstraction instead of 
> direct API for a proper cleanup.
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1444
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
> ---
>  NetworkPkg/DnsDxe/DnsDriver.c         | 30 ++++++++++--------------------
>  NetworkPkg/HttpBootDxe/HttpBootDxe.c  | 15 +++++----------
>  NetworkPkg/HttpDxe/HttpDriver.c       | 15 +++++----------
>  NetworkPkg/IpSecDxe/IpSecDriver.c     | 15 +++++----------
>  NetworkPkg/TcpDxe/TcpDriver.c         | 15 +++++----------
>  NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c | 15 +++++----------
>  6 files changed, 35 insertions(+), 70 deletions(-)
> 
> diff --git a/NetworkPkg/DnsDxe/DnsDriver.c 
> b/NetworkPkg/DnsDxe/DnsDriver.c index 1f9b924..b74f5ba 100644
> --- a/NetworkPkg/DnsDxe/DnsDriver.c
> +++ b/NetworkPkg/DnsDxe/DnsDriver.c
> @@ -510,28 +510,18 @@ DnsDriverEntryPoint (
>      FreePool (mDriverData);
> 
>    Error2:
> -     gBS->UninstallMultipleProtocolInterfaces (
> -           gDns6DriverBinding.DriverBindingHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gDns6DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gDnsComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gDnsComponentName,
> -           NULL
> -           );
> +     EfiLibUninstallDriverBindingComponentName2 (
> +       &gDns6DriverBinding,
> +       &gDnsComponentName,
> +       &gDnsComponentName2
> +       );
> 
>    Error1:
> -    gBS->UninstallMultipleProtocolInterfaces (
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gDns4DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gDnsComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gDnsComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2 (
> +      &gDns4DriverBinding,
> +      &gDnsComponentName,
> +      &gDnsComponentName2
> +      );
> 
>    return Status;
>  }
> diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> b/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> index 7ec06f960..0b16f95 100644
> --- a/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> +++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> @@ -1327,16 +1327,11 @@ HttpBootDxeDriverEntryPoint (
>               &gHttpBootDxeComponentName2
>               );
>    if (EFI_ERROR (Status)) {
> -    gBS->UninstallMultipleProtocolInterfaces(
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gHttpBootIp4DxeDriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gHttpBootDxeComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gHttpBootDxeComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2(
> +      &gHttpBootIp4DxeDriverBinding,
> +      &gHttpBootDxeComponentName,
> +      &gHttpBootDxeComponentName2
> +      );
>    }
>    return Status;
>  }
> diff --git a/NetworkPkg/HttpDxe/HttpDriver.c 
> b/NetworkPkg/HttpDxe/HttpDriver.c index 8df984d..979d76d 100644
> --- a/NetworkPkg/HttpDxe/HttpDriver.c
> +++ b/NetworkPkg/HttpDxe/HttpDriver.c
> @@ -230,16 +230,11 @@ HttpDxeDriverEntryPoint (
>               &gHttpDxeComponentName2
>               );
>    if (EFI_ERROR (Status)) {
> -    gBS->UninstallMultipleProtocolInterfaces (
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gHttpDxeIp4DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gHttpDxeComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gHttpDxeComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2 (
> +      &gHttpDxeIp4DriverBinding,
> +      &gHttpDxeComponentName,
> +      &gHttpDxeComponentName2
> +      );
>    }
>    return Status;
>  }
> diff --git a/NetworkPkg/IpSecDxe/IpSecDriver.c
> b/NetworkPkg/IpSecDxe/IpSecDriver.c
> index f66f89a..3082d99 100644
> --- a/NetworkPkg/IpSecDxe/IpSecDriver.c
> +++ b/NetworkPkg/IpSecDxe/IpSecDriver.c
> @@ -631,16 +631,11 @@ IpSecDriverEntryPoint (
>    return Status;
> 
>  ON_UNINSTALL_IPSEC4_DB:
> -  gBS->UninstallMultipleProtocolInterfaces (
> -         ImageHandle,
> -         &gEfiDriverBindingProtocolGuid,
> -         &gIpSec4DriverBinding,
> -         &gEfiComponentName2ProtocolGuid,
> -         &gIpSecComponentName2,
> -         &gEfiComponentNameProtocolGuid,
> -         &gIpSecComponentName,
> -         NULL
> -         );
> +  EfiLibUninstallDriverBindingComponentName2 (
> +    &gIpSec4DriverBinding,
> +    &gIpSecComponentName,
> +    &gIpSecComponentName2
> +    );
> 
>  ON_UNINSTALL_IPSEC:
>    gBS->UninstallProtocolInterface (
> diff --git a/NetworkPkg/TcpDxe/TcpDriver.c 
> b/NetworkPkg/TcpDxe/TcpDriver.c index 2d4b16c..00d172b 100644
> --- a/NetworkPkg/TcpDxe/TcpDriver.c
> +++ b/NetworkPkg/TcpDxe/TcpDriver.c
> @@ -202,16 +202,11 @@ TcpDriverEntryPoint (
>               &gTcpComponentName2
>               );
>    if (EFI_ERROR (Status)) {
> -    gBS->UninstallMultipleProtocolInterfaces (
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gTcp4DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gTcpComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gTcpComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2 (
> +      &gTcp4DriverBinding,
> +      &gTcpComponentName,
> +      &gTcpComponentName2
> +      );
>      return Status;
>    }
> 
> diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> index 0ab640b..f25c27a 100644
> --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> @@ -1269,16 +1269,11 @@ PxeBcDriverEntryPoint (
>               &gPxeBcComponentName2
>               );
>    if (EFI_ERROR (Status)) {
> -    gBS->UninstallMultipleProtocolInterfaces (
> -           ImageHandle,
> -           &gEfiDriverBindingProtocolGuid,
> -           &gPxeBcIp4DriverBinding,
> -           &gEfiComponentName2ProtocolGuid,
> -           &gPxeBcComponentName2,
> -           &gEfiComponentNameProtocolGuid,
> -           &gPxeBcComponentName,
> -           NULL
> -           );
> +    EfiLibUninstallDriverBindingComponentName2 (
> +      &gPxeBcIp4DriverBinding,
> +      &gPxeBcComponentName,
> +      &gPxeBcComponentName2
> +      );
>    }
> 
>    return Status;
> --
> 2.7.4

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
  2019-01-14  4:57   ` Ashish Singhal
@ 2019-01-14  6:12     ` Wu, Jiaxin
  0 siblings, 0 replies; 4+ messages in thread
From: Wu, Jiaxin @ 2019-01-14  6:12 UTC (permalink / raw)
  To: Ashish Singhal, edk2-devel@lists.01.org; +Cc: Fu, Siyuan

Already pushed.  SHA-1: 22b35e8bd1f9aea7bbab3a26e8ab4df339454463


Thanks,
Jiaxin


> -----Original Message-----
> From: Ashish Singhal [mailto:ashishsingha@nvidia.com]
> Sent: Monday, January 14, 2019 12:58 PM
> To: Wu, Jiaxin <jiaxin.wu@intel.com>; edk2-devel@lists.01.org
> Cc: Fu, Siyuan <siyuan.fu@intel.com>
> Subject: RE: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
> 
> Thanks Jiaxin. Please let me know if anything else is needed to mainline it.
> 
> -----Original Message-----
> From: Wu, Jiaxin <jiaxin.wu@intel.com>
> Sent: Thursday, January 10, 2019 6:01 PM
> To: Ashish Singhal <ashishsingha@nvidia.com>; edk2-devel@lists.01.org
> Cc: Fu, Siyuan <siyuan.fu@intel.com>
> Subject: RE: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
> 
> Looks good to me.
> 
> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
> 
> Thanks,
> Jiaxin
> 
> > -----Original Message-----
> > From: Ashish Singhal [mailto:ashishsingha@nvidia.com]
> > Sent: Friday, January 11, 2019 3:27 AM
> > To: edk2-devel@lists.01.org
> > Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin
> > <jiaxin.wu@intel.com>; Ashish Singhal <ashishsingha@nvidia.com>
> > Subject: [PATCH] NetworkPkg: Protocol Uninstallation Cleanup
> >
> > Use UEFILib provided protocol uninstallation abstraction instead of
> > direct API for a proper cleanup.
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1444
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
> > ---
> >  NetworkPkg/DnsDxe/DnsDriver.c         | 30 ++++++++++--------------------
> >  NetworkPkg/HttpBootDxe/HttpBootDxe.c  | 15 +++++----------
> >  NetworkPkg/HttpDxe/HttpDriver.c       | 15 +++++----------
> >  NetworkPkg/IpSecDxe/IpSecDriver.c     | 15 +++++----------
> >  NetworkPkg/TcpDxe/TcpDriver.c         | 15 +++++----------
> >  NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c | 15 +++++----------
> >  6 files changed, 35 insertions(+), 70 deletions(-)
> >
> > diff --git a/NetworkPkg/DnsDxe/DnsDriver.c
> > b/NetworkPkg/DnsDxe/DnsDriver.c index 1f9b924..b74f5ba 100644
> > --- a/NetworkPkg/DnsDxe/DnsDriver.c
> > +++ b/NetworkPkg/DnsDxe/DnsDriver.c
> > @@ -510,28 +510,18 @@ DnsDriverEntryPoint (
> >      FreePool (mDriverData);
> >
> >    Error2:
> > -     gBS->UninstallMultipleProtocolInterfaces (
> > -           gDns6DriverBinding.DriverBindingHandle,
> > -           &gEfiDriverBindingProtocolGuid,
> > -           &gDns6DriverBinding,
> > -           &gEfiComponentName2ProtocolGuid,
> > -           &gDnsComponentName2,
> > -           &gEfiComponentNameProtocolGuid,
> > -           &gDnsComponentName,
> > -           NULL
> > -           );
> > +     EfiLibUninstallDriverBindingComponentName2 (
> > +       &gDns6DriverBinding,
> > +       &gDnsComponentName,
> > +       &gDnsComponentName2
> > +       );
> >
> >    Error1:
> > -    gBS->UninstallMultipleProtocolInterfaces (
> > -           ImageHandle,
> > -           &gEfiDriverBindingProtocolGuid,
> > -           &gDns4DriverBinding,
> > -           &gEfiComponentName2ProtocolGuid,
> > -           &gDnsComponentName2,
> > -           &gEfiComponentNameProtocolGuid,
> > -           &gDnsComponentName,
> > -           NULL
> > -           );
> > +    EfiLibUninstallDriverBindingComponentName2 (
> > +      &gDns4DriverBinding,
> > +      &gDnsComponentName,
> > +      &gDnsComponentName2
> > +      );
> >
> >    return Status;
> >  }
> > diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> > b/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> > index 7ec06f960..0b16f95 100644
> > --- a/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> > +++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.c
> > @@ -1327,16 +1327,11 @@ HttpBootDxeDriverEntryPoint (
> >               &gHttpBootDxeComponentName2
> >               );
> >    if (EFI_ERROR (Status)) {
> > -    gBS->UninstallMultipleProtocolInterfaces(
> > -           ImageHandle,
> > -           &gEfiDriverBindingProtocolGuid,
> > -           &gHttpBootIp4DxeDriverBinding,
> > -           &gEfiComponentName2ProtocolGuid,
> > -           &gHttpBootDxeComponentName2,
> > -           &gEfiComponentNameProtocolGuid,
> > -           &gHttpBootDxeComponentName,
> > -           NULL
> > -           );
> > +    EfiLibUninstallDriverBindingComponentName2(
> > +      &gHttpBootIp4DxeDriverBinding,
> > +      &gHttpBootDxeComponentName,
> > +      &gHttpBootDxeComponentName2
> > +      );
> >    }
> >    return Status;
> >  }
> > diff --git a/NetworkPkg/HttpDxe/HttpDriver.c
> > b/NetworkPkg/HttpDxe/HttpDriver.c index 8df984d..979d76d 100644
> > --- a/NetworkPkg/HttpDxe/HttpDriver.c
> > +++ b/NetworkPkg/HttpDxe/HttpDriver.c
> > @@ -230,16 +230,11 @@ HttpDxeDriverEntryPoint (
> >               &gHttpDxeComponentName2
> >               );
> >    if (EFI_ERROR (Status)) {
> > -    gBS->UninstallMultipleProtocolInterfaces (
> > -           ImageHandle,
> > -           &gEfiDriverBindingProtocolGuid,
> > -           &gHttpDxeIp4DriverBinding,
> > -           &gEfiComponentName2ProtocolGuid,
> > -           &gHttpDxeComponentName2,
> > -           &gEfiComponentNameProtocolGuid,
> > -           &gHttpDxeComponentName,
> > -           NULL
> > -           );
> > +    EfiLibUninstallDriverBindingComponentName2 (
> > +      &gHttpDxeIp4DriverBinding,
> > +      &gHttpDxeComponentName,
> > +      &gHttpDxeComponentName2
> > +      );
> >    }
> >    return Status;
> >  }
> > diff --git a/NetworkPkg/IpSecDxe/IpSecDriver.c
> > b/NetworkPkg/IpSecDxe/IpSecDriver.c
> > index f66f89a..3082d99 100644
> > --- a/NetworkPkg/IpSecDxe/IpSecDriver.c
> > +++ b/NetworkPkg/IpSecDxe/IpSecDriver.c
> > @@ -631,16 +631,11 @@ IpSecDriverEntryPoint (
> >    return Status;
> >
> >  ON_UNINSTALL_IPSEC4_DB:
> > -  gBS->UninstallMultipleProtocolInterfaces (
> > -         ImageHandle,
> > -         &gEfiDriverBindingProtocolGuid,
> > -         &gIpSec4DriverBinding,
> > -         &gEfiComponentName2ProtocolGuid,
> > -         &gIpSecComponentName2,
> > -         &gEfiComponentNameProtocolGuid,
> > -         &gIpSecComponentName,
> > -         NULL
> > -         );
> > +  EfiLibUninstallDriverBindingComponentName2 (
> > +    &gIpSec4DriverBinding,
> > +    &gIpSecComponentName,
> > +    &gIpSecComponentName2
> > +    );
> >
> >  ON_UNINSTALL_IPSEC:
> >    gBS->UninstallProtocolInterface (
> > diff --git a/NetworkPkg/TcpDxe/TcpDriver.c
> > b/NetworkPkg/TcpDxe/TcpDriver.c index 2d4b16c..00d172b 100644
> > --- a/NetworkPkg/TcpDxe/TcpDriver.c
> > +++ b/NetworkPkg/TcpDxe/TcpDriver.c
> > @@ -202,16 +202,11 @@ TcpDriverEntryPoint (
> >               &gTcpComponentName2
> >               );
> >    if (EFI_ERROR (Status)) {
> > -    gBS->UninstallMultipleProtocolInterfaces (
> > -           ImageHandle,
> > -           &gEfiDriverBindingProtocolGuid,
> > -           &gTcp4DriverBinding,
> > -           &gEfiComponentName2ProtocolGuid,
> > -           &gTcpComponentName2,
> > -           &gEfiComponentNameProtocolGuid,
> > -           &gTcpComponentName,
> > -           NULL
> > -           );
> > +    EfiLibUninstallDriverBindingComponentName2 (
> > +      &gTcp4DriverBinding,
> > +      &gTcpComponentName,
> > +      &gTcpComponentName2
> > +      );
> >      return Status;
> >    }
> >
> > diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> > b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> > index 0ab640b..f25c27a 100644
> > --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> > +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
> > @@ -1269,16 +1269,11 @@ PxeBcDriverEntryPoint (
> >               &gPxeBcComponentName2
> >               );
> >    if (EFI_ERROR (Status)) {
> > -    gBS->UninstallMultipleProtocolInterfaces (
> > -           ImageHandle,
> > -           &gEfiDriverBindingProtocolGuid,
> > -           &gPxeBcIp4DriverBinding,
> > -           &gEfiComponentName2ProtocolGuid,
> > -           &gPxeBcComponentName2,
> > -           &gEfiComponentNameProtocolGuid,
> > -           &gPxeBcComponentName,
> > -           NULL
> > -           );
> > +    EfiLibUninstallDriverBindingComponentName2 (
> > +      &gPxeBcIp4DriverBinding,
> > +      &gPxeBcComponentName,
> > +      &gPxeBcComponentName2
> > +      );
> >    }
> >
> >    return Status;
> > --
> > 2.7.4
> 
> -----------------------------------------------------------------------------------
> This email message is for the sole use of the intended recipient(s) and may
> contain
> confidential information.  Any unauthorized review, use, disclosure or
> distribution
> is prohibited.  If you are not the intended recipient, please contact the
> sender by
> reply email and destroy all copies of the original message.
> -----------------------------------------------------------------------------------


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-01-14  6:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-10 19:27 [PATCH] NetworkPkg: Protocol Uninstallation Cleanup Ashish Singhal
2019-01-11  1:00 ` Wu, Jiaxin
2019-01-14  4:57   ` Ashish Singhal
2019-01-14  6:12     ` Wu, Jiaxin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox