* [PATCH v2] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start. @ 2019-02-12 0:47 Jiaxin Wu 2019-02-12 1:04 ` Fu, Siyuan 0 siblings, 1 reply; 3+ messages in thread From: Jiaxin Wu @ 2019-02-12 0:47 UTC (permalink / raw) To: edk2-devel; +Cc: Michael Turner, Ye Ting, Fu Siyuan, Wu Jiaxin REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1448 *v2: Add the warning debug message. This patch is to clean the invalid data and continue to start IP6 driver. Cc: Michael Turner <Michael.Turner@microsoft.com> Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> --- NetworkPkg/Ip6Dxe/Ip6Driver.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/NetworkPkg/Ip6Dxe/Ip6Driver.c b/NetworkPkg/Ip6Dxe/Ip6Driver.c index 4c607125a6..7ec74f6ebc 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Driver.c +++ b/NetworkPkg/Ip6Dxe/Ip6Driver.c @@ -586,11 +586,20 @@ Ip6DriverBindingStart ( Ip6ConfigDataTypeManualAddress, DataItem->DataSize, DataItem->Data.Ptr ); if (EFI_ERROR(Status) && Status != EFI_NOT_READY) { - goto UNINSTALL_PROTOCOL; + // + // Clean the invalid ManualAddress configuration. + // + Status = Ip6Cfg->SetData ( + Ip6Cfg, + Ip6ConfigDataTypeManualAddress, + 0, + NULL + ); + DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid ManualAddress configuration.\n")); } } // // If there is any default gateway address, set it. @@ -602,11 +611,20 @@ Ip6DriverBindingStart ( Ip6ConfigDataTypeGateway, DataItem->DataSize, DataItem->Data.Ptr ); if (EFI_ERROR(Status)) { - goto UNINSTALL_PROTOCOL; + // + // Clean the invalid Gateway configuration. + // + Status = Ip6Cfg->SetData ( + Ip6Cfg, + Ip6ConfigDataTypeGateway, + 0, + NULL + ); + DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid Gateway configuration.\n")); } } // // ready to go: start the receiving and timer -- 2.17.1.windows.2 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start. 2019-02-12 0:47 [PATCH v2] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start Jiaxin Wu @ 2019-02-12 1:04 ` Fu, Siyuan 2019-02-14 0:55 ` Wu, Jiaxin 0 siblings, 1 reply; 3+ messages in thread From: Fu, Siyuan @ 2019-02-12 1:04 UTC (permalink / raw) To: Wu, Jiaxin, edk2-devel@lists.01.org; +Cc: Michael Turner, Ye, Ting Hi, Jiaxin I think the Ip6Cfg->SetData() may return other error, which not only because invalid config data is used. Why not just check the config data in Ip6ConfigReadConfigData()? BestRegards Fu Siyuan > -----Original Message----- > From: Wu, Jiaxin > Sent: Tuesday, February 12, 2019 8:47 AM > To: edk2-devel@lists.01.org > Cc: Michael Turner <Michael.Turner@microsoft.com>; Ye, Ting > <ting.ye@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin > <jiaxin.wu@intel.com> > Subject: [PATCH v2] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration > during driver start. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1448 > > *v2: Add the warning debug message. > > This patch is to clean the invalid data and continue to start IP6 driver. > > Cc: Michael Turner <Michael.Turner@microsoft.com> > Cc: Ye Ting <ting.ye@intel.com> > Cc: Fu Siyuan <siyuan.fu@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> > --- > NetworkPkg/Ip6Dxe/Ip6Driver.c | 22 ++++++++++++++++++++-- > 1 file changed, 20 insertions(+), 2 deletions(-) > > diff --git a/NetworkPkg/Ip6Dxe/Ip6Driver.c b/NetworkPkg/Ip6Dxe/Ip6Driver.c > index 4c607125a6..7ec74f6ebc 100644 > --- a/NetworkPkg/Ip6Dxe/Ip6Driver.c > +++ b/NetworkPkg/Ip6Dxe/Ip6Driver.c > @@ -586,11 +586,20 @@ Ip6DriverBindingStart ( > Ip6ConfigDataTypeManualAddress, > DataItem->DataSize, > DataItem->Data.Ptr > ); > if (EFI_ERROR(Status) && Status != EFI_NOT_READY) { > - goto UNINSTALL_PROTOCOL; > + // > + // Clean the invalid ManualAddress configuration. > + // > + Status = Ip6Cfg->SetData ( > + Ip6Cfg, > + Ip6ConfigDataTypeManualAddress, > + 0, > + NULL > + ); > + DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid > ManualAddress configuration.\n")); > } > } > > // > // If there is any default gateway address, set it. > @@ -602,11 +611,20 @@ Ip6DriverBindingStart ( > Ip6ConfigDataTypeGateway, > DataItem->DataSize, > DataItem->Data.Ptr > ); > if (EFI_ERROR(Status)) { > - goto UNINSTALL_PROTOCOL; > + // > + // Clean the invalid Gateway configuration. > + // > + Status = Ip6Cfg->SetData ( > + Ip6Cfg, > + Ip6ConfigDataTypeGateway, > + 0, > + NULL > + ); > + DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid Gateway > configuration.\n")); > } > } > > // > // ready to go: start the receiving and timer > -- > 2.17.1.windows.2 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start. 2019-02-12 1:04 ` Fu, Siyuan @ 2019-02-14 0:55 ` Wu, Jiaxin 0 siblings, 0 replies; 3+ messages in thread From: Wu, Jiaxin @ 2019-02-14 0:55 UTC (permalink / raw) To: Fu, Siyuan, edk2-devel@lists.01.org; +Cc: Michael Turner, Ye, Ting Hi Siyuan, Both of them should be fine to clear the invalid configuration data. In my opinion, since the error returned from SetData(), we will treat it as invalid except the asynchronous process (EFI_NOT_READY). That's already have been checked in the if condition. Thanks, Jiaxin > -----Original Message----- > From: Fu, Siyuan > Sent: Tuesday, February 12, 2019 9:05 AM > To: Wu, Jiaxin <jiaxin.wu@intel.com>; edk2-devel@lists.01.org > Cc: Michael Turner <Michael.Turner@microsoft.com>; Ye, Ting > <ting.ye@intel.com> > Subject: RE: [PATCH v2] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 > configuration during driver start. > > Hi, Jiaxin > > I think the Ip6Cfg->SetData() may return other error, which not only because > invalid config data is used. Why not just check the config data in > Ip6ConfigReadConfigData()? > > BestRegards > Fu Siyuan > > > > -----Original Message----- > > From: Wu, Jiaxin > > Sent: Tuesday, February 12, 2019 8:47 AM > > To: edk2-devel@lists.01.org > > Cc: Michael Turner <Michael.Turner@microsoft.com>; Ye, Ting > > <ting.ye@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin > > <jiaxin.wu@intel.com> > > Subject: [PATCH v2] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 > configuration > > during driver start. > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1448 > > > > *v2: Add the warning debug message. > > > > This patch is to clean the invalid data and continue to start IP6 driver. > > > > Cc: Michael Turner <Michael.Turner@microsoft.com> > > Cc: Ye Ting <ting.ye@intel.com> > > Cc: Fu Siyuan <siyuan.fu@intel.com> > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> > > --- > > NetworkPkg/Ip6Dxe/Ip6Driver.c | 22 ++++++++++++++++++++-- > > 1 file changed, 20 insertions(+), 2 deletions(-) > > > > diff --git a/NetworkPkg/Ip6Dxe/Ip6Driver.c > b/NetworkPkg/Ip6Dxe/Ip6Driver.c > > index 4c607125a6..7ec74f6ebc 100644 > > --- a/NetworkPkg/Ip6Dxe/Ip6Driver.c > > +++ b/NetworkPkg/Ip6Dxe/Ip6Driver.c > > @@ -586,11 +586,20 @@ Ip6DriverBindingStart ( > > Ip6ConfigDataTypeManualAddress, > > DataItem->DataSize, > > DataItem->Data.Ptr > > ); > > if (EFI_ERROR(Status) && Status != EFI_NOT_READY) { > > - goto UNINSTALL_PROTOCOL; > > + // > > + // Clean the invalid ManualAddress configuration. > > + // > > + Status = Ip6Cfg->SetData ( > > + Ip6Cfg, > > + Ip6ConfigDataTypeManualAddress, > > + 0, > > + NULL > > + ); > > + DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid > > ManualAddress configuration.\n")); > > } > > } > > > > // > > // If there is any default gateway address, set it. > > @@ -602,11 +611,20 @@ Ip6DriverBindingStart ( > > Ip6ConfigDataTypeGateway, > > DataItem->DataSize, > > DataItem->Data.Ptr > > ); > > if (EFI_ERROR(Status)) { > > - goto UNINSTALL_PROTOCOL; > > + // > > + // Clean the invalid Gateway configuration. > > + // > > + Status = Ip6Cfg->SetData ( > > + Ip6Cfg, > > + Ip6ConfigDataTypeGateway, > > + 0, > > + NULL > > + ); > > + DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid > Gateway > > configuration.\n")); > > } > > } > > > > // > > // ready to go: start the receiving and timer > > -- > > 2.17.1.windows.2 ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-02-14 0:55 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-02-12 0:47 [PATCH v2] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start Jiaxin Wu 2019-02-12 1:04 ` Fu, Siyuan 2019-02-14 0:55 ` Wu, Jiaxin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox