nfp: refuse offloading filters that redirects to upper devices
Previously we did not ensure that a netdev is a representative netdev before dereferencing its private data. This can occur when an upper netdev is created on a representative netdev. This patch corrects this by first ensuring that the netdev is a representative netdev before using it. Checking only switchdev_port_same_parent_id is not sufficient to ensure that we can safely use the netdev. Failing to check that the netdev is also a representative netdev would result in incorrect dereferencing. Fixes: 1a1e586f54bf ("nfp: add basic action capabilities to flower offloads") Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0f5da659d8
commit
d309ae5c6a
@ -110,6 +110,8 @@ nfp_fl_output(struct nfp_fl_output *output, const struct tc_action *action,
|
||||
*/
|
||||
if (!switchdev_port_same_parent_id(in_dev, out_dev))
|
||||
return -EOPNOTSUPP;
|
||||
if (!nfp_netdev_is_nfp_repr(out_dev))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
output->port = cpu_to_be32(nfp_repr_get_port_id(out_dev));
|
||||
if (!output->port)
|
||||
|
Loading…
x
Reference in New Issue
Block a user