]> Pileus Git - ~andy/linux/blobdiff - net/bridge/br_sysfs_if.c
Merge tag 'drm-intel-next-2012-12-21' of git://people.freedesktop.org/~danvet/drm...
[~andy/linux] / net / bridge / br_sysfs_if.c
index 80a4fc5d96ab7cf409435a0235489c84f4ab8fac..a1ef1b6e14dc0df71bc72bf6a5ca18bdc8d255cc 100644 (file)
@@ -172,6 +172,8 @@ static int store_multicast_router(struct net_bridge_port *p,
 }
 static BRPORT_ATTR(multicast_router, S_IRUGO | S_IWUSR, show_multicast_router,
                   store_multicast_router);
+
+BRPORT_ATTR_FLAG(multicast_fast_leave, BR_MULTICAST_FAST_LEAVE);
 #endif
 
 static const struct brport_attribute *brport_attrs[] = {
@@ -195,6 +197,7 @@ static const struct brport_attribute *brport_attrs[] = {
        &brport_attr_root_block,
 #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
        &brport_attr_multicast_router,
+       &brport_attr_multicast_fast_leave,
 #endif
        NULL
 };
@@ -221,7 +224,7 @@ static ssize_t brport_store(struct kobject * kobj,
        char *endp;
        unsigned long val;
 
-       if (!capable(CAP_NET_ADMIN))
+       if (!ns_capable(dev_net(p->dev)->user_ns, CAP_NET_ADMIN))
                return -EPERM;
 
        val = simple_strtoul(buf, &endp, 0);