| Submitter | Benjamin ZORES |
|---|---|
| Date | Jan. 28, 2009, 12:08 p.m. |
| Message ID | <49804AAF.7020702@alcatel-lucent.fr> |
| Download | mbox | patch |
| Permalink | /patch/20599/ |
| State | Accepted |
| Delegated to: | David Miller |
| Headers | show |
Comments
Benjamin ZORES a écrit : > Jarek Poplawski a écrit : >> On 28-01-2009 10:07, Benjamin ZORES wrote: >> >>> Hi, >>> >>> The attached patch fixes some bug with ip-config max retry number. >>> In ip_auto_config(), kernel tries to retrieve IP configuration forever >>> in case of NFS root and some specific amount of time otherwise. >>> >>> The problem is that, in case of error, the code jump to the >>> try_try_again >>> goto statement, that reassigns the retry number counter, which >>> obviously >>> leads to an infinite loop if IP config fails. >>> >>> The attached patch corrects this behavior. >>> Hope one can push it to mainstream kernel tree. >>> >>> Ben >>> >>> diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c >>> index 42a0f3d..4911b81 100644 >>> --- a/net/ipv4/ipconfig.c >>> +++ b/net/ipv4/ipconfig.c >>> @@ -1268,6 +1268,7 @@ __be32 __init root_nfs_parse_addr(char *name) >>> static int __init ip_auto_config(void) >>> { >>> __be32 addr; >>> + int retries = CONF_OPEN_RETRIES; >>> >> >> Doesn't it need "#ifdef IPCONFIG_DYNAMIC" to prevent a compiler >> warning? I guess you could add a "Signed-off-by:" line BTW. >> > You're perfectly right about this. > Attached an updated version of the patch. Any chance of having it merged ? Ben -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Benjamin ZORES <benjamin.zores@alcatel-lucent.fr> Date: Thu, 29 Jan 2009 16:33:35 +0100 > Any chance of having it merged ? Please be patient, I haven't even had a chance to read over your patch yet. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Benjamin ZORES <benjamin.zores@alcatel-lucent.fr> Date: Wed, 28 Jan 2009 13:08:15 +0100 > Jarek Poplawski a écrit : > > On 28-01-2009 10:07, Benjamin ZORES wrote: > > > >> diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c > >> index 42a0f3d..4911b81 100644 > >> --- a/net/ipv4/ipconfig.c > >> +++ b/net/ipv4/ipconfig.c > >> @@ -1268,6 +1268,7 @@ __be32 __init root_nfs_parse_addr(char *name) > >> static int __init ip_auto_config(void) > >> { > >> __be32 addr; > >> + int retries = CONF_OPEN_RETRIES; > >> > > Doesn't it need "#ifdef IPCONFIG_DYNAMIC" to prevent a compiler > > warning? I guess you could add a "Signed-off-by:" line BTW. > > > You're perfectly right about this. > Attached an updated version of the patch. Patch applied, thank you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller a écrit : > From: Benjamin ZORES <benjamin.zores@alcatel-lucent.fr> > Date: Wed, 28 Jan 2009 13:08:15 +0100 > > >> Jarek Poplawski a écrit : >> >>> On 28-01-2009 10:07, Benjamin ZORES wrote: >>> >>> >>>> diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c >>>> index 42a0f3d..4911b81 100644 >>>> --- a/net/ipv4/ipconfig.c >>>> +++ b/net/ipv4/ipconfig.c >>>> @@ -1268,6 +1268,7 @@ __be32 __init root_nfs_parse_addr(char *name) >>>> static int __init ip_auto_config(void) >>>> { >>>> __be32 addr; >>>> + int retries = CONF_OPEN_RETRIES; >>>> >>>> >>> Doesn't it need "#ifdef IPCONFIG_DYNAMIC" to prevent a compiler >>> warning? I guess you could add a "Signed-off-by:" line BTW. >>> >>> >> You're perfectly right about this. >> Attached an updated version of the patch. >> > > Patch applied, thank you. Be my guest. Thanks to you. Ben -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
commit 4f9928e4ed6aae2a4c2f2216cab1c16e38631a88
Author: Benjamin Zores <benjamin.zores@alcatel-lucent.fr>
Signed-off-by: Benjamin Zores <benjamin.zores@alcatel-lucent.fr>
Date: Wed Jan 28 13:03:07 2009 +0100
fix infinite retry loop in IP-Config
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
index 42a0f3d..5fad34d 100644
--- a/net/ipv4/ipconfig.c
+++ b/net/ipv4/ipconfig.c
@@ -1268,6 +1268,9 @@ __be32 __init root_nfs_parse_addr(char *name)
static int __init ip_auto_config(void)
{
__be32 addr;
+#ifdef IPCONFIG_DYNAMIC
+ int retries = CONF_OPEN_RETRIES;
+#endif
#ifdef CONFIG_PROC_FS
proc_net_fops_create(&init_net, "pnp", S_IRUGO, &pnp_seq_fops);
@@ -1305,8 +1308,6 @@ static int __init ip_auto_config(void)
ic_first_dev->next) {
#ifdef IPCONFIG_DYNAMIC
- int retries = CONF_OPEN_RETRIES;
-
if (ic_dynamic() < 0) {
ic_close_devs();