Hong Zhiguo
2013-Mar-23 05:14 UTC
[Bridge] [PATCH net-next] bridge: avoid br_ifinfo_notify when nothing changed
When neither IFF_BRIDGE_PORT or 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. Signed-off-by: Hong Zhiguo <honkiko at gmail.com> --- net/bridge/br_netlink.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index 84c3b7d..b96e02e 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) { -- 1.7.10.4
Sergei Shtylyov
2013-Mar-23 15:06 UTC
[Bridge] [PATCH net-next] bridge: avoid br_ifinfo_notify when nothing changed
Hello. On 23-03-2013 9:14, Hong Zhiguo wrote:> When neither IFF_BRIDGE_PORT or IFF_BRIDGE_PORT is set,That is the same flag repeated twice.> and afspec == NULL but protinfo != NULL, we run into > "if (err == 0) br_ifinfo_notify(RTM_NEWLINK, p);" with > random value in ret.> Signed-off-by: Hong Zhiguo <honkiko at gmail.com>WBR, Sergei
Hong Zhiguo
2013-Mar-24 13:26 UTC
[Bridge] [PATCH net-next] 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 at gmail.com> --- net/bridge/br_netlink.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index 84c3b7d..b96e02e 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) { -- 1.7.10.4
Sergei Shtylyov
2013-Mar-24 14:34 UTC
[Bridge] [PATCH net-next] bridge: avoid br_ifinfo_notify when nothing changed
Hello. On 03/24/2013 04:26 PM, Hong Zhiguo wrote:> 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 at gmail.com>For the future, if you post the revised version of the patch, you should indicate in the subject it like this: [PATCH v2]. WBR, Sergei
David Miller
2013-Mar-24 21:18 UTC
[Bridge] [PATCH net-next] bridge: avoid br_ifinfo_notify when nothing changed
From: Hong Zhiguo <honkiko at gmail.com> Date: Sun, 24 Mar 2013 21:26:47 +0800> 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 at gmail.com>Applied.