Message ID | 1354188846-15577-1-git-send-email-nikolay@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Nikolay Aleksandrov <nikolay@redhat.com> wrote: > The module can be loaded with arp_ip_target="255.255.255.255" which makes > it impossible to remove as the function in sysfs checks for that value, > so we make the parameter checks consistent with sysfs. > > v2: Fix formatting > v3: Make description text < 75 columns > >Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> >--- > drivers/net/bonding/bond_main.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > >diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c >index 5f5b69f..d29159a 100644 >--- a/drivers/net/bonding/bond_main.c >+++ b/drivers/net/bonding/bond_main.c >@@ -4706,12 +4706,13 @@ static int bond_check_params(struct bond_params *params) > arp_ip_count++) { > /* not complete check, but should be good enough to > catch mistakes */ >- if (!isdigit(arp_ip_target[arp_ip_count][0])) { >+ __be32 ip = in_aton(arp_ip_target[arp_ip_count]); >+ if (!isdigit(arp_ip_target[arp_ip_count][0]) || >+ ip == 0 || ip == htonl(INADDR_BROADCAST)) { > pr_warning("Warning: bad arp_ip_target module parameter (%s), ARP monitoring will not be performed\n", > arp_ip_target[arp_ip_count]); > arp_interval = 0; > } else { >- __be32 ip = in_aton(arp_ip_target[arp_ip_count]); > arp_target[arp_ip_count] = ip; > } > } >-- >1.7.11.7 > -- 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: Jay Vosburgh <fubar@us.ibm.com> Date: Thu, 29 Nov 2012 09:39:09 -0800 > Nikolay Aleksandrov <nikolay@redhat.com> wrote: > >> The module can be loaded with arp_ip_target="255.255.255.255" which makes >> it impossible to remove as the function in sysfs checks for that value, >> so we make the parameter checks consistent with sysfs. >> >> v2: Fix formatting >> v3: Make description text < 75 columns >> >>Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com> > > Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Applied. Thanks a lot everyone. -- 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
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 5f5b69f..d29159a 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -4706,12 +4706,13 @@ static int bond_check_params(struct bond_params *params) arp_ip_count++) { /* not complete check, but should be good enough to catch mistakes */ - if (!isdigit(arp_ip_target[arp_ip_count][0])) { + __be32 ip = in_aton(arp_ip_target[arp_ip_count]); + if (!isdigit(arp_ip_target[arp_ip_count][0]) || + ip == 0 || ip == htonl(INADDR_BROADCAST)) { pr_warning("Warning: bad arp_ip_target module parameter (%s), ARP monitoring will not be performed\n", arp_ip_target[arp_ip_count]); arp_interval = 0; } else { - __be32 ip = in_aton(arp_ip_target[arp_ip_count]); arp_target[arp_ip_count] = ip; } }
The module can be loaded with arp_ip_target="255.255.255.255" which makes it impossible to remove as the function in sysfs checks for that value, so we make the parameter checks consistent with sysfs. v2: Fix formatting v3: Make description text < 75 columns Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com> --- drivers/net/bonding/bond_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)