Message ID | 20190508225607.26052-1-jakub.kicinski@netronome.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] net/sched: avoid double free on matchall reoffload | expand |
From: Jakub Kicinski <jakub.kicinski@netronome.com> Date: Wed, 8 May 2019 15:56:07 -0700 > From: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@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.carpenter@oracle.com> > Signed-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com> > Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> Applied.
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);