All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
To: Cong Wang <xiyou.wangcong@gmail.com>, netdev@vger.kernel.org
Cc: dvyukov@google.com, Vlad Yasevich <vyasevich@gmail.com>,
	Ben Hutchings <ben.hutchings@codethink.co.uk>
Subject: Re: [Patch net] 8021q: fix a memory leak for VLAN 0 device
Date: Wed, 10 Jan 2018 00:30:41 +0200	[thread overview]
Message-ID: <d7776500-f98c-d499-9bc4-f44e8dc5b411@cumulusnetworks.com> (raw)
In-Reply-To: <20180109214041.26842-1-xiyou.wangcong@gmail.com>

On 09/01/18 23:40, Cong Wang wrote:
> A vlan device with vid 0 is allow to creat by not able to be fully
> cleaned up by unregister_vlan_dev() which checks for vlan_id!=0.
> 
> Also, VLAN 0 is probably not a valid number and it is kinda
> "reserved" for HW accelerating devices, but it is probably too
> late to reject it from creation even if makes sense. Instead,
> just remove the check in unregister_vlan_dev().
> 
> Reported-by: Dmitry Vyukov <dvyukov@google.com>
> Fixes: ad1afb003939 ("vlan_dev: VLAN 0 should be treated as "no vlan tag" (802.1p packet)")
> Cc: Vlad Yasevich <vyasevich@gmail.com>
> Cc: Ben Hutchings <ben.hutchings@codethink.co.uk>
> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
> ---
>  net/8021q/vlan.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
> index 8dfdd94e430f..bad01b14a4ad 100644
> --- a/net/8021q/vlan.c
> +++ b/net/8021q/vlan.c
> @@ -111,12 +111,7 @@ void unregister_vlan_dev(struct net_device *dev, struct list_head *head)
>  		vlan_gvrp_uninit_applicant(real_dev);
>  	}
>  
> -	/* Take it out of our own structures, but be sure to interlock with
> -	 * HW accelerating devices or SW vlan input packet processing if
> -	 * VLAN is not 0 (leave it there for 802.1p).
> -	 */
> -	if (vlan_id)
> -		vlan_vid_del(real_dev, vlan->vlan_proto, vlan_id);
> +	vlan_vid_del(real_dev, vlan->vlan_proto, vlan_id);
>  
>  	/* Get rid of the vlan's reference to real_dev */
>  	dev_put(real_dev);
> 

Just for reference - this is identical to the first part of:
https://patchwork.ozlabs.org/patch/252891/

I knew this looked familiar. :-)

  reply	other threads:[~2018-01-09 22:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-09 21:40 [Patch net] 8021q: fix a memory leak for VLAN 0 device Cong Wang
2018-01-09 22:30 ` Nikolay Aleksandrov [this message]
2018-01-09 22:47   ` Cong Wang
2018-01-09 22:53     ` Nikolay Aleksandrov
2018-01-09 23:06       ` Cong Wang
2018-01-09 23:13         ` Nikolay Aleksandrov
2018-01-10 20:31 ` 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=d7776500-f98c-d499-9bc4-f44e8dc5b411@cumulusnetworks.com \
    --to=nikolay@cumulusnetworks.com \
    --cc=ben.hutchings@codethink.co.uk \
    --cc=dvyukov@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=vyasevich@gmail.com \
    --cc=xiyou.wangcong@gmail.com \
    /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.