From: Or Gerlitz <ogerl...@mellanox.com> Date: Tue, 24 Oct 2017 08:58:02 +0300
> 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 <ogerl...@mellanox.com> > Acked-by: Jiri Pirko <j...@mellanox.com> Applied.