Re: [PATCHv3 net-next 2/6] bridge: simplify the forward_delay_store by calling store_bridge_parm

2016-04-09 Thread Nikolay Aleksandrov
On 04/08/2016 06:03 PM, Xin Long wrote:
> There are some repetitive codes in forward_delay_store, we can remove
> them by calling store_bridge_parm.
> 
> Signed-off-by: Xin Long 
> ---
>  net/bridge/br_sysfs_br.c | 27 ++-
>  1 file changed, 10 insertions(+), 17 deletions(-)
> 

Reviewed-by: Nikolay Aleksandrov 




[PATCHv3 net-next 2/6] bridge: simplify the forward_delay_store by calling store_bridge_parm

2016-04-08 Thread Xin Long
There are some repetitive codes in forward_delay_store, we can remove
them by calling store_bridge_parm.

Signed-off-by: Xin Long 
---
 net/bridge/br_sysfs_br.c | 27 ++-
 1 file changed, 10 insertions(+), 17 deletions(-)

diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c
index c48f6b0..137cd3b 100644
--- a/net/bridge/br_sysfs_br.c
+++ b/net/bridge/br_sysfs_br.c
@@ -160,29 +160,22 @@ static ssize_t group_fwd_mask_show(struct device *d,
return sprintf(buf, "%#x\n", br->group_fwd_mask);
 }
 
-
-static ssize_t group_fwd_mask_store(struct device *d,
-   struct device_attribute *attr,
-   const char *buf,
-   size_t len)
+static int set_group_fwd_mask(struct net_bridge *br, unsigned long val)
 {
-   struct net_bridge *br = to_bridge(d);
-   char *endp;
-   unsigned long val;
-
-   if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN))
-   return -EPERM;
-
-   val = simple_strtoul(buf, , 0);
-   if (endp == buf)
-   return -EINVAL;
-
if (val & BR_GROUPFWD_RESTRICTED)
return -EINVAL;
 
br->group_fwd_mask = val;
 
-   return len;
+   return 0;
+}
+
+static ssize_t group_fwd_mask_store(struct device *d,
+   struct device_attribute *attr,
+   const char *buf,
+   size_t len)
+{
+   return store_bridge_parm(d, buf, len, set_group_fwd_mask);
 }
 static DEVICE_ATTR_RW(group_fwd_mask);
 
-- 
2.1.0