diff options
author | 2017-10-24 08:58:02 +0300 | |
---|---|---|
committer | 2017-10-24 19:00:54 +0900 | |
commit | 9d452cebd7d69e9eb22b4c0482fdbb6fc762167f (patch) | |
tree | 8c9e4c1540deb47d202ba5fac8a4e55a6f442750 /net/tipc | |
parent | liquidio: pass date and time info to NIC firmware (diff) | |
download | wireguard-linux-9d452cebd7d69e9eb22b4c0482fdbb6fc762167f.tar.xz wireguard-linux-9d452cebd7d69e9eb22b4c0482fdbb6fc762167f.zip |
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 'net/tipc')
0 files changed, 0 insertions, 0 deletions