Message ID | b2e7cfab172461a824959d683d8c868fe04119a3.1526467698.git.dcaratti@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [net] net/sched: fix refcnt leak in the error path of tcf_vlan_init() | expand |
On 16/05/18 06:54 AM, Davide Caratti wrote: > Similarly to what was done with commit a52956dfc503 ("net sched actions: > fix refcnt leak in skbmod"), fix the error path of tcf_vlan_init() to avoid > refcnt leaks when wrong value of TCA_VLAN_PUSH_VLAN_PROTOCOL is given. > > Fixes: 5026c9b1bafc ("net sched: vlan action fix late binding") > CC: Roman Mashak <mrv@mojatatu.com> > Signed-off-by: Davide Caratti <dcaratti@redhat.com> > --- > net/sched/act_vlan.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/net/sched/act_vlan.c b/net/sched/act_vlan.c > index 853604685965..1fb39e1f9d07 100644 > --- a/net/sched/act_vlan.c > +++ b/net/sched/act_vlan.c > @@ -161,6 +161,8 @@ static int tcf_vlan_init(struct net *net, struct nlattr *nla, > case htons(ETH_P_8021AD): > break; > default: > + if (exists) > + tcf_idr_release(*a, bind); > return -EPROTONOSUPPORT; LGTM. Note: 5026c9b1bafc fixed the bug that existed. It missed a few spots like the one here. If there was an "Updates" tag, it would be more appropriate. Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> cheers, jamal
From: Davide Caratti <dcaratti@redhat.com> Date: Wed, 16 May 2018 12:54:29 +0200 > Similarly to what was done with commit a52956dfc503 ("net sched actions: > fix refcnt leak in skbmod"), fix the error path of tcf_vlan_init() to avoid > refcnt leaks when wrong value of TCA_VLAN_PUSH_VLAN_PROTOCOL is given. > > Fixes: 5026c9b1bafc ("net sched: vlan action fix late binding") > CC: Roman Mashak <mrv@mojatatu.com> > Signed-off-by: Davide Caratti <dcaratti@redhat.com> Applied and queued up for -stable, thanks.
diff --git a/net/sched/act_vlan.c b/net/sched/act_vlan.c index 853604685965..1fb39e1f9d07 100644 --- a/net/sched/act_vlan.c +++ b/net/sched/act_vlan.c @@ -161,6 +161,8 @@ static int tcf_vlan_init(struct net *net, struct nlattr *nla, case htons(ETH_P_8021AD): break; default: + if (exists) + tcf_idr_release(*a, bind); return -EPROTONOSUPPORT; } } else {
Similarly to what was done with commit a52956dfc503 ("net sched actions: fix refcnt leak in skbmod"), fix the error path of tcf_vlan_init() to avoid refcnt leaks when wrong value of TCA_VLAN_PUSH_VLAN_PROTOCOL is given. Fixes: 5026c9b1bafc ("net sched: vlan action fix late binding") CC: Roman Mashak <mrv@mojatatu.com> Signed-off-by: Davide Caratti <dcaratti@redhat.com> --- net/sched/act_vlan.c | 2 ++ 1 file changed, 2 insertions(+)