diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2023-11-13 20:34:56 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2023-11-14 16:16:21 +0100 |
commit | a7d5a955bfa854ac6b0c53aaf933394b4e6139e4 (patch) | |
tree | 9ac02dcbcac40beeff9f33dba741d6b5a89e5e35 /net | |
parent | c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63 (diff) | |
download | lwn-a7d5a955bfa854ac6b0c53aaf933394b4e6139e4.tar.gz lwn-a7d5a955bfa854ac6b0c53aaf933394b4e6139e4.zip |
netfilter: nf_tables: bogus ENOENT when destroying element which does not exist
destroy element command bogusly reports ENOENT in case a set element
does not exist. ENOENT errors are skipped, however, err is still set
and propagated to userspace.
# nft destroy element ip raw BLACKLIST { 1.2.3.4 }
Error: Could not process rule: No such file or directory
destroy element ip raw BLACKLIST { 1.2.3.4 }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fixes: f80a612dd77c ("netfilter: nf_tables: add support to destroy operation")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nf_tables_api.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index a761ee6796f6..debea1c67701 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -7263,10 +7263,11 @@ static int nf_tables_delsetelem(struct sk_buff *skb, if (err < 0) { NL_SET_BAD_ATTR(extack, attr); - break; + return err; } } - return err; + + return 0; } /* |