diff options
author | Xin Long <lucien.xin@gmail.com> | 2016-04-08 19:03:28 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-14 05:42:32 +0300 |
commit | 14f31bb39f5d4b69c179d219833d7edb9b36ebd9 (patch) | |
tree | bc9549564b2665c471df37e20c6af3e9f3849a36 /net/bridge/br_sysfs_br.c | |
parent | f9a7cbbf18f1640907d6ca345b8337e4b50ea56f (diff) | |
download | linux-14f31bb39f5d4b69c179d219833d7edb9b36ebd9.tar.xz |
bridge: simplify the flush_store by calling store_bridge_parm
There are some repetitive codes in flush_store, we can remove
them by calling store_bridge_parm, also, it would send rtnl notification
after we add it in store_bridge_parm in the following patches.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Reviewed-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_sysfs_br.c')
-rw-r--r-- | net/bridge/br_sysfs_br.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c index 6b8091407ca3..c48f6b0b2022 100644 --- a/net/bridge/br_sysfs_br.c +++ b/net/bridge/br_sysfs_br.c @@ -336,17 +336,17 @@ static ssize_t group_addr_store(struct device *d, static DEVICE_ATTR_RW(group_addr); +static int set_flush(struct net_bridge *br, unsigned long val) +{ + br_fdb_flush(br); + return 0; +} + static ssize_t flush_store(struct device *d, struct device_attribute *attr, const char *buf, size_t len) { - struct net_bridge *br = to_bridge(d); - - if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) - return -EPERM; - - br_fdb_flush(br); - return len; + return store_bridge_parm(d, buf, len, set_flush); } static DEVICE_ATTR_WO(flush); |