OSDN Git Service

net/mlx5e: Use flow keys dissector to parse packets for ARFS
authorMaxim Mikityanskiy <maximmi@mellanox.com>
Fri, 5 Jul 2019 14:59:28 +0000 (17:59 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 8 Aug 2019 20:01:18 +0000 (13:01 -0700)
commit405b93eb764367a670e729da18e54dc42db32620
tree71dbdf65434f442f6bab180a550436d1e2b7e0ba
parentf6649feb264ed10ce425455df48242c0e704cba2
net/mlx5e: Use flow keys dissector to parse packets for ARFS

The current ARFS code relies on certain fields to be set in the SKB
(e.g. transport_header) and extracts IP addresses and ports by custom
code that parses the packet. The necessary SKB fields, however, are not
always set at that point, which leads to an out-of-bounds access. Use
skb_flow_dissect_flow_keys() to get the necessary information reliably,
fix the out-of-bounds access and reuse the code.

Fixes: 18c908e477dc ("net/mlx5e: Add accelerated RFS support")
Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c