summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHong zhi guo <honkiko@gmail.com>2013-03-24 04:26:47 +0100
committerDavid S. Miller <davem@davemloft.net>2013-03-24 22:16:30 +0100
commit7b99a99390ca328f4678ac04358c94744ab0f8b4 (patch)
tree266b13a857c2d2c62566e30db838954bedd3c01c
parentdsa: add device tree bindings to register DSA switches (diff)
downloadlinux-7b99a99390ca328f4678ac04358c94744ab0f8b4.tar.xz
linux-7b99a99390ca328f4678ac04358c94744ab0f8b4.zip
bridge: avoid br_ifinfo_notify when nothing changed
When neither IFF_BRIDGE nor IFF_BRIDGE_PORT is set, and afspec == NULL but protinfo != NULL, we run into "if (err == 0) br_ifinfo_notify(RTM_NEWLINK, p);" with random value in ret. Thanks to Sergei for pointing out the error in commit comments. Signed-off-by: Hong Zhiguo <honkiko@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/bridge/br_netlink.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
index 84c3b7d6d1b1..b96e02e31bad 100644
--- a/net/bridge/br_netlink.c
+++ b/net/bridge/br_netlink.c
@@ -357,7 +357,7 @@ int br_setlink(struct net_device *dev, struct nlmsghdr *nlh)
struct nlattr *afspec;
struct net_bridge_port *p;
struct nlattr *tb[IFLA_BRPORT_MAX + 1];
- int err;
+ int err = 0;
ifm = nlmsg_data(nlh);
@@ -370,7 +370,7 @@ int br_setlink(struct net_device *dev, struct nlmsghdr *nlh)
/* We want to accept dev as bridge itself if the AF_SPEC
* is set to see if someone is setting vlan info on the brigde
*/
- if (!p && ((dev->priv_flags & IFF_EBRIDGE) && !afspec))
+ if (!p && !afspec)
return -EINVAL;
if (p && protinfo) {