diff options
author | Pedro Tammela <pctammela@mojatatu.com> | 2023-07-28 18:35:33 +0300 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-08-01 11:47:24 +0300 |
commit | 8798481b667fa7c9bbd5aa843bf1557ada699964 (patch) | |
tree | 164b3ceb99342adfe3cfa8da837947ccfa784704 /net/nsh | |
parent | 05e1d8bdb276068069d3de65e488700280029e20 (diff) | |
download | linux-8798481b667fa7c9bbd5aa843bf1557ada699964.tar.xz |
net/sched: wrap open coded Qdics class filter counter
The 'filter_cnt' counter is used to control a Qdisc class lifetime.
Each filter referecing this class by its id will eventually
increment/decrement this counter in their respective
'add/update/delete' routines.
As these operations are always serialized under rtnl lock, we don't
need an atomic type like 'refcount_t'.
It also means that we lose the overflow/underflow checks already
present in refcount_t, which are valuable to hunt down bugs
where the unsigned counter wraps around as it aids automated tools
like syzkaller to scream in such situations.
Wrap the open coded increment/decrement into helper functions and
add overflow checks to the operations.
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/nsh')
0 files changed, 0 insertions, 0 deletions