All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: netdev@vger.kernel.org
Cc: Patrick McHardy <kaber@trash.net>
Subject: [RFC VLAN 01/10]: Fix off-by-ones in VLAN ID checks
Date: Tue,  5 Jun 2007 16:36:52 +0200 (MEST)	[thread overview]
Message-ID: <20070605143651.23717.20253.sendpatchset@localhost.localdomain> (raw)
In-Reply-To: <20070605143650.23717.91261.sendpatchset@localhost.localdomain>

[VLAN]: Fix off-by-ones in VLAN ID checks

The valid range of VLAN IDs is 0-4095, fix using ID 4095.

Signed-off-by: Patrick McHardy <kaber@trash.net>

---
commit 576d73325b7ce3d454c544dcdfea0a2e3ae6486e
tree 2039651421302cf1863cd4b70f502d18a04bc7ac
parent 6a0492fd68c8c5f528e4277bec20bef8047aec2e
author Patrick McHardy <kaber@trash.net> Tue, 05 Jun 2007 16:33:44 +0200
committer Patrick McHardy <kaber@trash.net> Tue, 05 Jun 2007 16:33:44 +0200

 net/8021q/vlan.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index ceef57c..f3b1328 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -173,7 +173,7 @@ static struct vlan_group *__vlan_find_group(int real_dev_ifindex)
 	return NULL;
 }
 
-/*  Find the protocol handler.  Assumes VID < VLAN_VID_MASK.
+/*  Find the protocol handler.  Assumes VID <= VLAN_VID_MASK.
  *
  * Must be invoked with RCU read lock (no preempt)
  */
@@ -222,7 +222,7 @@ static int unregister_vlan_dev(struct net_device *real_dev,
 #endif
 
 	/* sanity check */
-	if (vlan_id >= VLAN_VID_MASK)
+	if (vlan_id > VLAN_VID_MASK)
 		return -EINVAL;
 
 	ASSERT_RTNL();
@@ -256,11 +256,11 @@ static int unregister_vlan_dev(struct net_device *real_dev,
 			/* If the group is now empty, kill off the
 			 * group.
 			 */
-			for (i = 0; i < VLAN_VID_MASK; i++)
+			for (i = 0; i <= VLAN_VID_MASK; i++)
 				if (vlan_group_get_device(grp, i))
 					break;
 
-			if (i == VLAN_VID_MASK) {
+			if (i > VLAN_VID_MASK) {
 				if (real_dev->features & NETIF_F_HW_VLAN_RX)
 					real_dev->vlan_rx_register(real_dev, NULL);
 
@@ -392,7 +392,7 @@ static struct net_device *register_vlan_device(const char *eth_IF_name,
 		__FUNCTION__, eth_IF_name, VLAN_ID);
 #endif
 
-	if (VLAN_ID >= VLAN_VID_MASK)
+	if (VLAN_ID > VLAN_VID_MASK)
 		goto out_ret_null;
 
 	/* find the device relating to eth_IF_name. */

  reply	other threads:[~2007-06-05 14:36 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-05 14:36 [RFC VLAN 00/10]: VLAN netlink support try 2 Patrick McHardy
2007-06-05 14:36 ` Patrick McHardy [this message]
2007-06-05 16:16   ` [RFC VLAN 01/10]: Fix off-by-ones in VLAN ID checks Ben Greear
2007-06-05 18:16     ` Patrick McHardy
2007-06-05 14:36 ` [RFC VLAN 02/10]: Convert name-based configuration functions to struct netdevice * Patrick McHardy
2007-06-05 14:36 ` [RFC VLAN 03/10]: Move some device intialization code to dev->init callback Patrick McHardy
2007-06-05 14:36 ` [RFC VLAN 04/10]: Move vlan_group allocation to seperate function Patrick McHardy
2007-06-05 14:36 ` [RFC VLAN 05/10]: Split up device checks Patrick McHardy
2007-06-05 14:36 ` [RFC VLAN 06/10]: Move device registation to seperate function Patrick McHardy
2007-06-05 14:37 ` [RFC VLAN 07/10]: Return proper error codes in register_vlan_device Patrick McHardy
2007-06-05 14:37 ` [RFC VLAN 08/10]: Use 32 bit value for skb->priority mapping Patrick McHardy
2007-06-05 14:37 ` [RFC VLAN 09/10]: Keep track of number of QoS mappings Patrick McHardy
2007-06-05 14:37 ` [RFC VLAN 10/10]: Use rtnl_link API Patrick McHardy
2007-06-05 21:31   ` Ben Greear
2007-06-05 21:58     ` Patrick McHardy
2007-06-05 22:03       ` Ben Greear
2007-06-05 16:25 ` [RFC VLAN 00/10]: VLAN netlink support try 2 Ben Greear
2007-06-05 18:28   ` Patrick McHardy
2007-06-05 20:08     ` Ben Greear
2007-06-05 21:12       ` Patrick McHardy

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=20070605143651.23717.20253.sendpatchset@localhost.localdomain \
    --to=kaber@trash.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.