OSDN Git Service

bridge: Switch to bitmap_zalloc()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 30 Aug 2018 10:33:18 +0000 (13:33 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 1 Sep 2018 06:13:04 +0000 (23:13 -0700)
Switch to bitmap_zalloc() to show clearly what we are allocating.
Besides that it returns pointer of bitmap type instead of opaque void *.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_if.c
net/bridge/br_vlan.c

index 0363f1b..3bb6650 100644 (file)
@@ -394,8 +394,7 @@ static int find_portno(struct net_bridge *br)
        struct net_bridge_port *p;
        unsigned long *inuse;
 
-       inuse = kcalloc(BITS_TO_LONGS(BR_MAX_PORTS), sizeof(unsigned long),
-                       GFP_KERNEL);
+       inuse = bitmap_zalloc(BR_MAX_PORTS, GFP_KERNEL);
        if (!inuse)
                return -ENOMEM;
 
@@ -404,7 +403,7 @@ static int find_portno(struct net_bridge *br)
                set_bit(p->port_no, inuse);
        }
        index = find_first_zero_bit(inuse, BR_MAX_PORTS);
-       kfree(inuse);
+       bitmap_free(inuse);
 
        return (index >= BR_MAX_PORTS) ? -EXFULL : index;
 }
index 7df2690..bb6ba79 100644 (file)
@@ -877,8 +877,7 @@ int __br_vlan_set_default_pvid(struct net_bridge *br, u16 pvid)
                return 0;
        }
 
-       changed = kcalloc(BITS_TO_LONGS(BR_MAX_PORTS), sizeof(unsigned long),
-                         GFP_KERNEL);
+       changed = bitmap_zalloc(BR_MAX_PORTS, GFP_KERNEL);
        if (!changed)
                return -ENOMEM;
 
@@ -925,7 +924,7 @@ int __br_vlan_set_default_pvid(struct net_bridge *br, u16 pvid)
        br->default_pvid = pvid;
 
 out:
-       kfree(changed);
+       bitmap_free(changed);
        return err;
 
 err_port: