From: Jiri Bohac <jbohac@suse•cz>
To: Patrick McHardy <kaber@trash•net>,
"David S. Miller" <davem@davemloft•net>,
netdev@vger•kernel.org
Cc: Pedro Garcia <pedro.netdev@dondevamos•com>
Subject: [PATCH 1/2] vlan: only create special VLAN 0 once
Date: Fri, 3 Jun 2011 22:07:38 +0200 [thread overview]
Message-ID: <20110603200738.GA24804@midget.suse.cz> (raw)
Commit ad1afb00 registers a VLAN with vid == 0 for every device to handle
802.1p frames. This is currently done on every NETDEV_UP event and the special
vlan is never unregistered. This may have strange effects on drivers
implementning ndo_vlan_rx_add_vid(). E.g. bonding will allocate a linked-list
element each time, causing a memory leak.
Only register the special VLAN once on NETDEV_REGISTER.
Signed-off-by: Jiri Bohac <jbohac@suse•cz>
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index c7a581a..bf89565 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -371,7 +371,7 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
if (is_vlan_dev(dev))
__vlan_device_event(dev, event);
- if ((event == NETDEV_UP) &&
+ if ((event == NETDEV_REGISTER) &&
(dev->features & NETIF_F_HW_VLAN_FILTER) &&
dev->netdev_ops->ndo_vlan_rx_add_vid) {
pr_info("8021q: adding VLAN 0 to HW filter on device %s\n",
--
Jiri Bohac <jbohac@suse•cz>
SUSE Labs, SUSE CZ
next reply other threads:[~2011-06-03 20:07 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-03 20:07 Jiri Bohac [this message]
2011-06-03 20:14 ` [PATCH 2/2] bonding: restore NETIF_F_VLAN_CHALLENGED properly in bond_del_vlan() Jiri Bohac
2011-06-04 0:26 ` Jay Vosburgh
2011-06-10 20:27 ` Jiri Bohac
2011-06-10 22:25 ` Jay Vosburgh
2011-06-11 23:13 ` David Miller
2011-06-05 21:28 ` [PATCH 1/2] vlan: only create special VLAN 0 once David Miller
2011-06-07 15:17 ` Patrick McHardy
2011-06-07 16:41 ` Jiri Bohac
2011-06-07 22:50 ` Patrick McHardy
2011-06-07 16:18 ` Jiri Bohac
2011-06-08 1:25 ` Jesse Gross
2011-06-09 0:01 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110603200738.GA24804@midget.suse.cz \
--to=jbohac@suse$(echo .)cz \
--cc=davem@davemloft$(echo .)net \
--cc=kaber@trash$(echo .)net \
--cc=netdev@vger$(echo .)kernel.org \
--cc=pedro.netdev@dondevamos$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox