lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <585670083.71238.1308171180725.JavaMail.root@tahiti.vyatta.com>
Date:	Wed, 15 Jun 2011 13:53:00 -0700 (PDT)
From:	Stephen Hemminger <stephen.hemminger@...tta.com>
To:	Antoine Reversat <a.reversat@...il.com>
Cc:	netdev@...r.kernel.org
Subject: Re: [PATCH 001/001] forcedeth: Don't enable hardware vlan support
 on hardware that doesn't support it


> In the forcedeth driver hardware vlan support is used even on hardware
> that doesn't support it leading to incorrect tagging of some packets
> when using vlan.
> 
> Signed-off-by: Antoine Reversat <a.reversat@...il.com>
> ---
> --- linux-2.6.39/drivers/net/forcedeth.c 2011-05-19 00:06:34.000000000
> -0400 +++ linux-2.6.39-fixed/drivers/net/forcedeth.c 2011-06-15
> 15:57:45.331158001 -0400
> @@ -4915,6 +4915,10 @@ static void nv_vlan_rx_register(struct n
> { struct fe_priv *np = get_nvpriv(dev);
> 
> + /* Don't do anything if device doesn't support VLAN */
> + if (!(np->driver_data & DEV_HAS_VLAN))
> + return;
> + spin_lock_irq(&np->lock);
> 
> /* save vlan group */

This shouldn't be necessary. rx_register should not be called
unless NETIF_F_HW_VLAN_RX is set; and device should not be setting
NETIF_F_HW_VLAN_RX unless DEV_HAS_VLAN is set.

The real problem is vlan_dev.c, and applies to all devices.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ