From: Li Xiasong <lixiasong1@huawei.com> hulk inclusion category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/18291 CVE: CVE-2026-74700 -------------------------------- Move the newly added counted and usesw members of struct tcf_proto, as well as useswcnt in struct tcf_block, to KABI_EXTEND fields at the end of their respective structures. Keeping the original members at their previous offsets avoids changing the kABI of existing members while retaining the new functionality. Fixes: f236d51f9caf ("net: sched: cls_api: add filter counter") Fixes: 69cba7b70440 ("net: sched: refine software bypass handling in tc_run") Signed-off-by: Li Xiasong <lixiasong1@huawei.com> Signed-off-by: Dong Chenchen <dongchenchen2@huawei.com> --- include/net/sch_generic.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index d30eb9ac2c2a..5923c68130e5 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -439,11 +439,11 @@ struct tcf_proto { */ spinlock_t lock; bool deleting; - bool counted; - bool usesw; refcount_t refcnt; struct rcu_head rcu; struct hlist_node destroy_ht_node; + KABI_EXTEND(bool counted) + KABI_EXTEND(bool usesw) }; struct qdisc_skb_cb { @@ -489,7 +489,6 @@ struct tcf_block { struct flow_block flow_block; struct list_head owner_list; bool keep_dst; - atomic_t useswcnt; atomic_t offloadcnt; /* Number of oddloaded filters */ unsigned int nooffloaddevcnt; /* Number of devs unable to do offload */ unsigned int lockeddevcnt; /* Number of devs that require rtnl lock. */ @@ -500,6 +499,7 @@ struct tcf_block { struct rcu_head rcu; DECLARE_HASHTABLE(proto_destroy_ht, 7); struct mutex proto_destroy_lock; /* Lock for proto_destroy hashtable. */ + KABI_EXTEND(atomic_t useswcnt) }; static inline bool lockdep_tcf_chain_is_locked(struct tcf_chain *chain) -- 2.25.1