From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.65; helo=mga03.intel.com; envelope-from=siyuan.fu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 391C0202E5363 for ; Sun, 17 Feb 2019 17:33:45 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Feb 2019 17:33:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,382,1544515200"; d="scan'208";a="144284484" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga002.fm.intel.com with ESMTP; 17 Feb 2019 17:33:43 -0800 Received: from fmsmsx151.amr.corp.intel.com (10.18.125.4) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 17 Feb 2019 17:33:44 -0800 Received: from shsmsx107.ccr.corp.intel.com (10.239.4.96) by FMSMSX151.amr.corp.intel.com (10.18.125.4) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 17 Feb 2019 17:33:44 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.194]) by SHSMSX107.ccr.corp.intel.com ([169.254.9.162]) with mapi id 14.03.0415.000; Mon, 18 Feb 2019 09:33:42 +0800 From: "Fu, Siyuan" To: "Wu, Jiaxin" , "edk2-devel@lists.01.org" CC: Michael Turner , "Ye, Ting" Thread-Topic: [PATCH v3] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start. Thread-Index: AQHUxydn+mtKKH4B/k2YlfTOlY1TWaXkxZ0g Date: Mon, 18 Feb 2019 01:33:42 +0000 Message-ID: References: <20190218011443.11712-1-Jiaxin.wu@intel.com> In-Reply-To: <20190218011443.11712-1-Jiaxin.wu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDM1MDhlYmMtMTkxNi00NzM5LTk1NjAtOGMxMTA1ZWUyOTYyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTkNJU2VBVlZvbDdtTitYblErK2k3bFprNzhIa0lmMDRsZ3VtMGhLcThweUIxeEZhdVFDOWtpQVNuTXlZc0cxTiJ9 dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v3] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Feb 2019 01:33:46 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Siyuan Fu > -----Original Message----- > From: Wu, Jiaxin > Sent: Monday, February 18, 2019 9:15 AM > To: edk2-devel@lists.01.org > Cc: Michael Turner ; Ye, Ting > ; Fu, Siyuan ; Wu, Jiaxin > > Subject: [PATCH v3] NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configurati= on > during driver start. >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1448 >=20 > *v3: Change the if condition check to only clean the invalid configuratio= n. >=20 > *v2: Add the warning debug message. >=20 > This patch is to clean the invalid data and continue to start IP6 driver. >=20 > Cc: Michael Turner > Cc: Ye Ting > Cc: Fu Siyuan > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Wu Jiaxin > --- > NetworkPkg/Ip6Dxe/Ip6Driver.c | 26 ++++++++++++++++++++++---- > 1 file changed, 22 insertions(+), 4 deletions(-) >=20 > diff --git a/NetworkPkg/Ip6Dxe/Ip6Driver.c b/NetworkPkg/Ip6Dxe/Ip6Driver.= c > index 4c607125a6..7a96315ccf 100644 > --- a/NetworkPkg/Ip6Dxe/Ip6Driver.c > +++ b/NetworkPkg/Ip6Dxe/Ip6Driver.c > @@ -585,12 +585,21 @@ Ip6DriverBindingStart ( > Ip6Cfg, > Ip6ConfigDataTypeManualAddress, > DataItem->DataSize, > DataItem->Data.Ptr > ); > - if (EFI_ERROR(Status) && Status !=3D EFI_NOT_READY) { > - goto UNINSTALL_PROTOCOL; > + if (Status =3D=3D EFI_INVALID_PARAMETER || Status =3D=3D EFI_BAD_BUF= FER_SIZE) { > + // > + // Clean the invalid ManualAddress configuration. > + // > + Status =3D Ip6Cfg->SetData ( > + Ip6Cfg, > + Ip6ConfigDataTypeManualAddress, > + 0, > + NULL > + ); > + DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid > ManualAddress configuration.\n")); > } > } >=20 > // > // If there is any default gateway address, set it. > @@ -601,12 +610,21 @@ Ip6DriverBindingStart ( > Ip6Cfg, > Ip6ConfigDataTypeGateway, > DataItem->DataSize, > DataItem->Data.Ptr > ); > - if (EFI_ERROR(Status)) { > - goto UNINSTALL_PROTOCOL; > + if (Status =3D=3D EFI_INVALID_PARAMETER || Status =3D=3D EFI_BAD_BUF= FER_SIZE) { > + // > + // Clean the invalid Gateway configuration. > + // > + Status =3D Ip6Cfg->SetData ( > + Ip6Cfg, > + Ip6ConfigDataTypeGateway, > + 0, > + NULL > + ); > + DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid Gate= way > configuration.\n")); > } > } >=20 > // > // ready to go: start the receiving and timer > -- > 2.17.1.windows.2