net/mlx4_en: Validate VLAN IDs provided in ethtool flow steering rules
authorHadar Hen Zion <hadarh@mellanox.com>
Wed, 30 Jan 2013 23:07:05 +0000 (23:07 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 31 Jan 2013 17:48:46 +0000 (12:48 -0500)
When attaching flow steering rules via Ethtool accept only valid vlans IDs e.g
in the range: [0,4095].

Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c

index 86afb5b0e0fa7806d565bc3144dabdd99b04fdbf..f33049f9bfe779ffb43061261147c0932d55a68f 100644 (file)
@@ -669,6 +669,10 @@ static int mlx4_en_validate_flow(struct net_device *dev,
                    !(cmd->fs.m_ext.vlan_tci == 0 ||
                      cmd->fs.m_ext.vlan_tci == cpu_to_be16(0xfff)))
                        return -EINVAL;
+               if (cmd->fs.m_ext.vlan_tci) {
+                       if (be16_to_cpu(cmd->fs.h_ext.vlan_tci) >= VLAN_N_VID)
+                               return -EINVAL;
+               }
        }
 
        return 0;