diff options
author | Or Gerlitz <ogerlitz@mellanox.com> | 2017-10-24 08:58:02 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-24 19:00:54 +0900 |
commit | 9d452cebd7d69e9eb22b4c0482fdbb6fc762167f (patch) | |
tree | 8c9e4c1540deb47d202ba5fac8a4e55a6f442750 /drivers/net/ethernet | |
parent | 907aaa6babe1a606f3da4eb76e76e3ce6286f97f (diff) |
net/sched: Fix actions list corruption when adding offloaded tc flows
Prior to commit b3f55bdda8df, the networking core doesn't wire an in-place
actions list the when the low level driver is called to offload the flow,
but all low level drivers do that (call tcf_exts_to_list()) in their
offloading "add" logic.
Now, the in-place list is set in the core which goes over the list in a loop,
but also by the hw driver when their offloading code is invoked indirectly:
cls_xxx add flow -> tc_setup_cb_call -> tc_exts_setup_cb_egdev_call -> hw driver
which messes up the core list instance upon driver return. Fix that by avoiding
in-place list on the net core code that deals with adding flows.
Fixes: b3f55bdda8df ('net: sched: introduce per-egress action device callbacks')
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
0 files changed, 0 insertions, 0 deletions