diff options
author | Ingo Molnar <mingo@kernel.org> | 2023-07-19 09:43:25 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2023-07-19 09:43:25 +0200 |
commit | 752182b24bf4ffda1c5a8025515d53122d930bd8 (patch) | |
tree | 836031bb239fa1f2288e7ad089b030abea6a4838 /net/netfilter/nft_objref.c | |
parent | 48b5583719cdfbdee238f9549a6a1a47af2b0469 (diff) | |
parent | fdf0eaf11452d72945af31804e2a1048ee1b574c (diff) |
Merge tag 'v6.5-rc2' into sched/core, to pick up fixes
Sync with upstream fixes before applying EEVDF.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/netfilter/nft_objref.c')
-rw-r--r-- | net/netfilter/nft_objref.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/net/netfilter/nft_objref.c b/net/netfilter/nft_objref.c index a48dd5b5d45b..509011b1ef59 100644 --- a/net/netfilter/nft_objref.c +++ b/net/netfilter/nft_objref.c @@ -41,8 +41,10 @@ static int nft_objref_init(const struct nft_ctx *ctx, if (IS_ERR(obj)) return -ENOENT; + if (!nft_use_inc(&obj->use)) + return -EMFILE; + nft_objref_priv(expr) = obj; - obj->use++; return 0; } @@ -72,7 +74,7 @@ static void nft_objref_deactivate(const struct nft_ctx *ctx, if (phase == NFT_TRANS_COMMIT) return; - obj->use--; + nft_use_dec(&obj->use); } static void nft_objref_activate(const struct nft_ctx *ctx, @@ -80,7 +82,7 @@ static void nft_objref_activate(const struct nft_ctx *ctx, { struct nft_object *obj = nft_objref_priv(expr); - obj->use++; + nft_use_inc_restore(&obj->use); } static const struct nft_expr_ops nft_objref_ops = { |