aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge/br_sysfs_br.c
diff options
context:
space:
mode:
authorXin Long <lucien.xin@gmail.com>2016-04-09 00:03:28 +0800
committerDavid S. Miller <davem@davemloft.net>2016-04-13 22:42:32 -0400
commit14f31bb39f5d4b69c179d219833d7edb9b36ebd9 (patch)
treebc9549564b2665c471df37e20c6af3e9f3849a36 /net/bridge/br_sysfs_br.c
parentnet: force inlining of netif_tx_start/stop_queue, sock_hold, __sock_put (diff)
downloadlinux-dev-14f31bb39f5d4b69c179d219833d7edb9b36ebd9.tar.xz
linux-dev-14f31bb39f5d4b69c179d219833d7edb9b36ebd9.zip
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.c14
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);