From: Pieter Jansen van Vuuren <pieter.jansenvanvuu...@netronome.com>
Avoid freeing cls_mall.rule twice when failing to setup flow_action offload used in the hardware intermediate representation. This is achieved by returning 0 when the setup fails but the skip software flag has not been set. Fixes: f00cbf196814 ("net/sched: use the hardware intermediate representation for matchall") Reported-by: Dan Carpenter <dan.carpen...@oracle.com> Signed-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuu...@netronome.com> Reviewed-by: Jakub Kicinski <jakub.kicin...@netronome.com> --- net/sched/cls_matchall.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c index 1e98a517fb0b..db42d97a2006 100644 --- a/net/sched/cls_matchall.c +++ b/net/sched/cls_matchall.c @@ -308,6 +308,7 @@ static int mall_reoffload(struct tcf_proto *tp, bool add, tc_setup_cb_t *cb, NL_SET_ERR_MSG_MOD(extack, "Failed to setup flow action"); return err; } + return 0; } err = cb(TC_SETUP_CLSMATCHALL, &cls_mall, cb_priv); -- 2.21.0