Thread (22 messages) flat view 22 messages, 3 authors, 2016-03-17
STALE3825d

[PATCH net-next 1/6] bridge: add rtnl_lock in fdb_flush in br_sysfs_br.c

From: Xin Long <lucien.xin@gmail.com>
Date: 2016-03-16 13:35:02
Subsystem: ethernet bridge, networking [general], the rest · Maintainers: Nikolay Aleksandrov, Ido Schimmel, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

In fdb_delete, it will send rtnl msg, so before that, we should
hold rtnl_lock in the function that call it in sysfs.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
---
 net/bridge/br_sysfs_br.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c
index 6b80914..095a751 100644
--- a/net/bridge/br_sysfs_br.c
+++ b/net/bridge/br_sysfs_br.c
@@ -345,7 +345,12 @@ static ssize_t flush_store(struct device *d,
 	if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN))
 		return -EPERM;
 
+	if (!rtnl_trylock())
+		return restart_syscall();
+
 	br_fdb_flush(br);
+	rtnl_unlock();
+
 	return len;
 }
 static DEVICE_ATTR_WO(flush);
-- 
2.1.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help