diff options
author | Patrick McHardy <kaber@trash.net> | 2015-03-25 14:08:48 +0000 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-03-26 11:09:34 +0100 |
commit | b2832dd6621bf73eb8ad38389a94bd83a5983886 (patch) | |
tree | a60547029ce1982087446a925e811b51e71c1549 /net/netfilter/nft_rbtree.c | |
parent | 61edafbb47e9f46fb850035b1f8f062564445704 (diff) | |
download | op-kernel-dev-b2832dd6621bf73eb8ad38389a94bd83a5983886.zip op-kernel-dev-b2832dd6621bf73eb8ad38389a94bd83a5983886.tar.gz |
netfilter: nf_tables: return set extensions from ->lookup()
Return the extension area from the ->lookup() function to allow to
consolidate common actions.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nft_rbtree.c')
-rw-r--r-- | net/netfilter/nft_rbtree.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/netfilter/nft_rbtree.c b/net/netfilter/nft_rbtree.c index 332c6af..cbba755 100644 --- a/net/netfilter/nft_rbtree.c +++ b/net/netfilter/nft_rbtree.c @@ -31,7 +31,7 @@ struct nft_rbtree_elem { static bool nft_rbtree_lookup(const struct nft_set *set, const struct nft_data *key, - struct nft_data *data) + const struct nft_set_ext **ext) { const struct nft_rbtree *priv = nft_set_priv(set); const struct nft_rbtree_elem *rbe, *interval = NULL; @@ -55,10 +55,9 @@ found: *nft_set_ext_flags(&rbe->ext) & NFT_SET_ELEM_INTERVAL_END) goto out; - if (set->flags & NFT_SET_MAP) - nft_data_copy(data, nft_set_ext_data(&rbe->ext)); - spin_unlock_bh(&nft_rbtree_lock); + + *ext = &rbe->ext; return true; } } |