From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hong Zhiguo Subject: [PATCH net-next] bridge: avoid br_ifinfo_notify when nothing changed Date: Sun, 24 Mar 2013 21:26:47 +0800 Message-ID: <1364131607-11698-1-git-send-email-honkiko@gmail.com> References: <1364015653-7322-1-git-send-email-honkiko@gmail.com> Cc: bridge@lists.linux-foundation.org, davem@davemloft.net, stephen@networkplumber.org, herbert@gondor.hengli.com.au, sergei.shtylyov@cogentembedded.com, zhiguo.hong@emc.com, Hong Zhiguo To: netdev@vger.kernel.org Return-path: Received: from mail-pb0-f42.google.com ([209.85.160.42]:65481 "EHLO mail-pb0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753753Ab3CXN1E (ORCPT ); Sun, 24 Mar 2013 09:27:04 -0400 Received: by mail-pb0-f42.google.com with SMTP id xb4so3736966pbc.15 for ; Sun, 24 Mar 2013 06:27:04 -0700 (PDT) In-Reply-To: <1364015653-7322-1-git-send-email-honkiko@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: 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 --- 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