From: yuan linyu <linyu.y...@alcatel-sbell.com.cn>

1. set interface address label to ioctl request device name is enough
2. when address pass inet_abc_len check, prefixlen < 31 is always true

Signed-off-by: yuan linyu <linyu.y...@alcatel-sbell.com.cn>
---
 net/ipv4/devinet.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index 062a67c..d491a7a 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1063,10 +1063,7 @@ int devinet_ioctl(struct net *net, unsigned int cmd, 
void __user *arg)
                        if (!ifa)
                                break;
                        INIT_HLIST_NODE(&ifa->hash);
-                       if (colon)
-                               memcpy(ifa->ifa_label, ifr.ifr_name, IFNAMSIZ);
-                       else
-                               memcpy(ifa->ifa_label, dev->name, IFNAMSIZ);
+                       memcpy(ifa->ifa_label, ifr.ifr_name, IFNAMSIZ);
                } else {
                        ret = 0;
                        if (ifa->ifa_local == sin->sin_addr.s_addr)
@@ -1081,8 +1078,7 @@ int devinet_ioctl(struct net *net, unsigned int cmd, void 
__user *arg)
                if (!(dev->flags & IFF_POINTOPOINT)) {
                        ifa->ifa_prefixlen = inet_abc_len(ifa->ifa_address);
                        ifa->ifa_mask = inet_make_mask(ifa->ifa_prefixlen);
-                       if ((dev->flags & IFF_BROADCAST) &&
-                           ifa->ifa_prefixlen < 31)
+                       if (dev->flags & IFF_BROADCAST)
                                ifa->ifa_broadcast = ifa->ifa_address |
                                                     ~ifa->ifa_mask;
                } else {
-- 
2.7.4


Reply via email to