Just a stub to release tcf_block_cb objects, follow up patch extends it to have a release callback in it for the private data. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- v2: no changes. include/net/pkt_cls.h | 5 +++++ net/sched/cls_api.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index a756d895c7a4..b50df3b9456c 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h @@ -74,6 +74,7 @@ static inline struct Qdisc *tcf_block_q(struct tcf_block *block) struct tcf_block_cb *tcf_block_cb_alloc(tc_setup_cb_t *cb, void *cb_ident, void *cb_priv); +void tcf_block_cb_free(struct tcf_block_cb *block_cb); void *tcf_block_cb_priv(struct tcf_block_cb *block_cb); struct tcf_block_cb *tcf_block_cb_lookup(struct tcf_block *block, tc_setup_cb_t *cb, void *cb_ident); @@ -158,6 +159,10 @@ tcf_block_cb_alloc(tc_setup_cb_t *cb, void *cb_ident, void *cb_priv) return ERR_PTR(-EOPNOTSUPP); } +static inline void tcf_block_cb_free(struct tcf_block_cb *block_cb) +{ +} + static inline void *tcf_block_cb_priv(struct tcf_block_cb *block_cb) { diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 6cd76e3df2be..93b74a15e7ac 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -763,6 +763,12 @@ struct tcf_block_cb *tcf_block_cb_alloc(tc_setup_cb_t *cb, } EXPORT_SYMBOL(tcf_block_cb_alloc); +void tcf_block_cb_free(struct tcf_block_cb *block_cb) +{ + kfree(block_cb); +} +EXPORT_SYMBOL(tcf_block_cb_free); + struct tcf_block_cb *__tcf_block_cb_register(struct tcf_block *block, tc_setup_cb_t *cb, void *cb_ident, void *cb_priv, -- 2.11.0