net sched actions: fix GETing actions
authorJamal Hadi Salim <jhs@mojatatu.com>
Mon, 19 Sep 2016 23:02:51 +0000 (19:02 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Sep 2016 03:34:55 +0000 (23:34 -0400)
commitaecc5cefc389735b5327d234e11d1fe505e1c280
treeab8e60904b6455817d06a5a3acbe06b6f0028a63
parent1d9423ae0dbcdbfb914e9e516ed44379f0189555
net sched actions: fix GETing actions

With the batch changes that translated transient actions into
a temporary list lost in the translation was the fact that
tcf_action_destroy() will eventually delete the action from
the permanent location if the refcount is zero.

Example of what broke:
...add a gact action to drop
sudo $TC actions add action drop index 10
...now retrieve it, looks good
sudo $TC actions get action gact index 10
...retrieve it again and find it is gone!
sudo $TC actions get action gact index 10

Fixes: 22dc13c837c3 ("net_sched: convert tcf_exts from list to pointer array"),
Fixes: 824a7e8863b3 ("net_sched: remove an unnecessary list_del()")
Fixes: f07fed82ad79 ("net_sched: remove the leftover cleanup_a()")

Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/act_api.c