Hi, Yes, its working now with this patch. Not showing any ASSERT now.
Results snippets are: Shell> ifconfig -s eth0 tatic Unknown commands. Bad command tatic is skipped. Shell> ifconfig -s eth0 static 192.168.1.141 255.255.255.0 192.168.1.1 InstallProtocolInterface: F4B427BB-BA21-4F16-BC4E-43E416AB619C DF512A30 Shell> ping 192.168.1.1 InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD DF5149E0 Ping 192.168.1.1 16 data bytes. 16 bytes from 192.168.1.1 : icmp_seq=1 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=2 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=3 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=4 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=5 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=6 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=7 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=8 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=9 ttl=0 time<0ms 16 bytes from 192.168.1.1 : icmp_seq=10 ttl=0 time<0ms 10 packets transmitted, 10 received, 0% packet loss, time 0ms Rtt(round trip time) min=0ms max=0ms avg=0ms Shell> ifconfig -s eth0 static 192.168.2.142 Lack interface config option. Shell> Thanks and Regards, Shaveta -----Original Message----- From: Wu, Jiaxin [mailto:jiaxin...@intel.com] Sent: Thursday, December 10, 2015 7:56 AM To: Leekha Shaveta-B20052 <shav...@freescale.com>; Carsey, Jaben <jaben.car...@intel.com>; edk2-devel@lists.01.org Cc: Ye, Ting <ting...@intel.com> Subject: RE: [Patch] ShellPkg: Fix ifconfig hang issue with incomplete parameters Hi Shaveta, How about your test result? Thanks. Jiaxin -----Original Message----- From: Leekha Shaveta [mailto:shav...@freescale.com] Sent: Tuesday, December 8, 2015 2:21 PM To: Carsey, Jaben; Wu, Jiaxin; edk2-devel@lists.01.org Cc: Ye, Ting Subject: RE: [Patch] ShellPkg: Fix ifconfig hang issue with incomplete parameters Hi, Thanks for the fix, I will test it and revert in a day or two. Regards, Shaveta -----Original Message----- From: Carsey, Jaben [mailto:jaben.car...@intel.com] Sent: Friday, December 04, 2015 11:38 PM To: Wu, Jiaxin <jiaxin...@intel.com>; edk2-devel@lists.01.org Cc: Leekha Shaveta-B20052 <shav...@freescale.com>; Ye, Ting <ting...@intel.com>; Carsey, Jaben <jaben.car...@intel.com> Subject: RE: [Patch] ShellPkg: Fix ifconfig hang issue with incomplete parameters Looks good to me. I think we should wait for Leekha for up to a few days to confirm that this fixes the problem at their location. Reviewed-by: Jaben Carsey <jaben.car...@intel.com> -Jaben > -----Original Message----- > From: Wu, Jiaxin > Sent: Thursday, December 03, 2015 5:27 PM > To: edk2-devel@lists.01.org > Cc: Leekha Shaveta <shav...@freescale.com>; Carsey, Jaben > <jaben.car...@intel.com>; Ye, Ting <ting...@intel.com> > Subject: [Patch] ShellPkg: Fix ifconfig hang issue with incomplete > parameters > Importance: High > > This patch is used to fix ifconfig hang issue with incomplete > parameters. In addition, some error related output information is > added to increase the interactivity. > > Cc: Leekha Shaveta <shav...@freescale.com> > Cc: Carsey Jaben <jaben.car...@intel.com> > Cc: Ye Ting <ting...@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jiaxin Wu <jiaxin...@intel.com> > --- > .../UefiShellNetwork1CommandsLib/Ifconfig.c | 61 ++++++++++++++++-- > --- > .../UefiShellNetwork1CommandsLib.uni | Bin 21094 -> 21256 bytes > 2 files changed, 47 insertions(+), 14 deletions(-) > > diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c > b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c > index fb6f575..f8dbc88 100644 > --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c > +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c > @@ -826,10 +826,11 @@ IfConfigClearInterfaceInfo ( > Ip4Config2DataTypePolicy, > sizeof (EFI_IP4_CONFIG2_POLICY), > &Policy > ); > if (EFI_ERROR (Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), > gShellNetwork1HiiHandle, L"ifconfig"); > ShellStatus = SHELL_ACCESS_DENIED; > break; > } > } > > @@ -902,10 +903,11 @@ IfConfigSetInterfaceInfo ( > NULL, > NULL, > &TimeOutEvt > ); > if (EFI_ERROR (Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), > gShellNetwork1HiiHandle, L"ifconfig"); > ShellStatus = SHELL_ACCESS_DENIED; > goto ON_EXIT; > } > > Status = gBS->CreateEvent ( > @@ -914,10 +916,11 @@ IfConfigSetInterfaceInfo ( > IfConfigManualAddressNotify, > &IsAddressOk, > &MappedEvt > ); > if (EFI_ERROR (Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), > gShellNetwork1HiiHandle, L"ifconfig"); > ShellStatus = SHELL_ACCESS_DENIED; > goto ON_EXIT; > } > > // > @@ -972,10 +975,11 @@ IfConfigSetInterfaceInfo ( > // > if (StrCmp(VarArg->Arg, L"dhcp") == 0) { > if (IfCb->Policy == Ip4Config2PolicyDhcp) { > Status = IfConfigStartIp4 (IfCb->NicHandle, gImageHandle); > if (EFI_ERROR(Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > + (STR_GEN_ERR_AD), > gShellNetwork1HiiHandle, L"ifconfig"); > ShellStatus = SHELL_ACCESS_DENIED; > goto ON_EXIT; > } > } else { > // > @@ -987,74 +991,100 @@ IfConfigSetInterfaceInfo ( > Ip4Config2DataTypePolicy, > sizeof (EFI_IP4_CONFIG2_POLICY), > &Policy > ); > if (EFI_ERROR(Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > + (STR_GEN_ERR_AD), > gShellNetwork1HiiHandle, L"ifconfig"); > ShellStatus = SHELL_ACCESS_DENIED; > goto ON_EXIT; > } > } > > VarArg= VarArg->Next; > > } else if (StrCmp (VarArg->Arg, L"static") == 0) { > - // > - // Set manual config policy. > - // > - Policy = Ip4Config2PolicyStatic; > - Status = IfCb->IfCfg->SetData ( > - IfCb->IfCfg, > - Ip4Config2DataTypePolicy, > - sizeof (EFI_IP4_CONFIG2_POLICY), > - &Policy > - ); > - if (EFI_ERROR(Status)) { > - ShellStatus = SHELL_ACCESS_DENIED; > + VarArg= VarArg->Next; > + if (VarArg == NULL) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_IFCONFIG_LACK_COMMAND), gShellNetwork1HiiHandle); > + ShellStatus = SHELL_INVALID_PARAMETER; > goto ON_EXIT; > } > > - VarArg= VarArg->Next; > - > ZeroMem (&ManualAddress, sizeof (ManualAddress)); > > // > // Get manual IP address. > // > Status = NetLibStrToIp4 (VarArg->Arg, &ManualAddress.Address); > if (EFI_ERROR(Status)) { > + ShellPrintHiiEx(-1, -1, NULL,STRING_TOKEN > (STR_IFCONFIG_INVALID_IPADDRESS), gShellNetwork1HiiHandle, VarArg- > >Arg); > ShellStatus = SHELL_INVALID_PARAMETER; > goto ON_EXIT; > } > > // > // Get subnetmask. > // > VarArg = VarArg->Next; > + if (VarArg == NULL) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_IFCONFIG_LACK_COMMAND), gShellNetwork1HiiHandle); > + ShellStatus = SHELL_INVALID_PARAMETER; > + goto ON_EXIT; > + } > + > Status = NetLibStrToIp4 (VarArg->Arg, &ManualAddress.SubnetMask); > if (EFI_ERROR(Status)) { > + ShellPrintHiiEx(-1, -1, NULL,STRING_TOKEN > (STR_IFCONFIG_INVALID_IPADDRESS), gShellNetwork1HiiHandle, VarArg- > >Arg); > ShellStatus = SHELL_INVALID_PARAMETER; > goto ON_EXIT; > } > > // > // Get gateway. > // > VarArg = VarArg->Next; > + if (VarArg == NULL) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_IFCONFIG_LACK_COMMAND), gShellNetwork1HiiHandle); > + ShellStatus = SHELL_INVALID_PARAMETER; > + goto ON_EXIT; > + } > + > Status = NetLibStrToIp4 (VarArg->Arg, &Gateway); > if (EFI_ERROR(Status)) { > + ShellPrintHiiEx(-1, -1, NULL,STRING_TOKEN > (STR_IFCONFIG_INVALID_IPADDRESS), gShellNetwork1HiiHandle, VarArg- > >Arg); > ShellStatus = SHELL_INVALID_PARAMETER; > goto ON_EXIT; > } > + > + // > + // Set manual config policy. > + // > + Policy = Ip4Config2PolicyStatic; > + Status = IfCb->IfCfg->SetData ( > + IfCb->IfCfg, > + Ip4Config2DataTypePolicy, > + sizeof (EFI_IP4_CONFIG2_POLICY), > + &Policy > + ); > + if (EFI_ERROR(Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), > gShellNetwork1HiiHandle, L"ifconfig"); > + ShellStatus = SHELL_ACCESS_DENIED; > + goto ON_EXIT; > + } > > + // > + // Set Manual Address. > + // > IsAddressOk = FALSE; > > Status = IfCb->IfCfg->RegisterDataNotify ( > IfCb->IfCfg, > Ip4Config2DataTypeManualAddress, > MappedEvt > ); > if (EFI_ERROR (Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_IFCONFIG_SET_ADDR_FAILED), gShellNetwork1HiiHandle, Status); > ShellStatus = SHELL_ACCESS_DENIED; > goto ON_EXIT; > } > > DataSize = sizeof (EFI_IP4_CONFIG2_MANUAL_ADDRESS); @@ -1099,10 > +1129,11 @@ IfConfigSetInterfaceInfo ( > Ip4Config2DataTypeGateway, > DataSize, > &Gateway > ); > if (EFI_ERROR (Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_IFCONFIG_SET_ADDR_FAILED), gShellNetwork1HiiHandle, Status); > ShellStatus = SHELL_ACCESS_DENIED; > goto ON_EXIT; > } > > VarArg = VarArg->Next; > @@ -1124,10 +1155,11 @@ IfConfigSetInterfaceInfo ( > Tmp = VarArg; > Index = 0; > while (Tmp != NULL) { > Status = NetLibStrToIp4 (Tmp->Arg, Dns + Index); > if (EFI_ERROR(Status)) { > + ShellPrintHiiEx(-1, -1, NULL,STRING_TOKEN > (STR_IFCONFIG_INVALID_IPADDRESS), gShellNetwork1HiiHandle, Tmp->Arg); > ShellStatus = SHELL_INVALID_PARAMETER; > goto ON_EXIT; > } > Index ++; > Tmp = Tmp->Next; > @@ -1145,10 +1177,11 @@ IfConfigSetInterfaceInfo ( > Ip4Config2DataTypeDnsServer, > DataSize, > Dns > ); > if (EFI_ERROR (Status)) { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), > gShellNetwork1HiiHandle, L"ifconfig"); > ShellStatus = SHELL_ACCESS_DENIED; > goto ON_EXIT; > } > } > } > diff --git > a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Comm > andsLib.uni > b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Comm > andsLib.uni > index > 43259591820582cc38937ad680739fcff21b96c5..aa3a38a55fadd82f73d581f > 3678466db23af2645 100644 > GIT binary patch > delta 132 > zcmaF1gt228<AxB$$qt$<ljkV#@dq$CGPnR?5Q8g2FhlU<kMfq2KPd=JPSO)&w > 3>X8 > zLv*r>oYCeGMJ;AcH-<!pOokkWRE87=1%?uad>~m2<dp#FM4(s- > LlKZy%uqZzQNeuj > c3{}3(PgHEwCNp{2OwRH?2ckDm^SQtZ0B9B^1poj5 > > delta 74 > zcmeBJ#`tUr<AxB$&2maw%<P^FB@7A- > X_Gxwr8gI;HmGqYGUNcE0z*DS(d3I>_LKE| > V&ar~UCL1b<Gebo;TlijJ1pqo#7J2{x > > -- > 1.9.5.msysgit.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel