[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230712211313.545268-1-victor@mojatatu.com>
Date: Wed, 12 Jul 2023 18:13:08 -0300
From: Victor Nogueira <victor@...atatu.com>
To: netdev@...r.kernel.org
Cc: jhs@...atatu.com,
xiyou.wangcong@...il.com,
jiri@...nulli.us,
davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
pctammela@...atatu.com,
simon.horman@...igine.com,
kernel@...atatu.com
Subject: [PATCH net-next v4 0/5] net: sched: Fixes for classifiers
Four different classifiers (bpf, u32, matchall, and flower) are
calling tcf_bind_filter in their callbacks, but arent't undoing it by
calling tcf_unbind_filter if their was an error after binding.
This patch set fixes all this by calling tcf_unbind_filter in such
cases.
This set also undoes a refcount decrement in cls_u32 when an update
fails under specific conditions which are described in patch #3.
v1 -> v2:
* Remove blank line after fixes tag
* Fix reverse xmas tree issues pointed out by Simon
v2 -> v3:
* Inline functions cls_bpf_set_parms and fl_set_parms to avoid adding
yet another parameter (and a return value at it) to them.
* Remove similar fixes for u32 and matchall, which will be sent soon,
once we find a way to do the fixes without adding a return parameter
to their set_parms functions.
v3 -> v4:
* Inline mall_set_parms to avoid adding yet another parameter.
* Remove set_flags parameter from u32_set_parms and create a separate
function for calling tcf_bind_filter and tcf_unbind_filter in case of
failure.
* Change cover letter title to also encompass refcnt fix for u32
Victor Nogueira (5):
net: sched: cls_matchall: Undo tcf_bind_filter in case of failure
after mall_set_parms
net: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode
net: sched: cls_u32: Undo refcount decrement in case update failed
net: sched: cls_bpf: Undo tcf_bind_filter in case of an error
net: sched: cls_flower: Undo tcf_bind_filter if fl_set_key fails
net/sched/cls_bpf.c | 106 +++++++++++++++++++--------------------
net/sched/cls_flower.c | 105 +++++++++++++++++++-------------------
net/sched/cls_matchall.c | 35 +++++--------
net/sched/cls_u32.c | 48 ++++++++++++++----
4 files changed, 153 insertions(+), 141 deletions(-)
--
2.25.1
Powered by blists - more mailing lists