diff options
author | Liping Zhang <zlpnobody@gmail.com> | 2017-03-05 21:02:23 +0800 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2017-03-06 18:22:12 +0100 |
commit | c56e3956c17bb24d18470122c0513d963e332205 (patch) | |
tree | 489d704dfb6a0779acd9847408120a6cc338196d /net/netfilter/nft_fib.c | |
parent | 74664cf286dc0d2bf6960293cb219e5f741ac92b (diff) | |
download | linux-c56e3956c17bb24d18470122c0513d963e332205.tar.gz linux-c56e3956c17bb24d18470122c0513d963e332205.tar.bz2 linux-c56e3956c17bb24d18470122c0513d963e332205.zip |
netfilter: nf_tables: validate the expr explicitly after init successfully
When we want to validate the expr's dependency or hooks, we must do two
things to accomplish it. First, write a X_validate callback function
and point ->validate to it. Second, call X_validate in init routine.
This is very common, such as fib, nat, reject expr and so on ...
It is a little ugly, since we will call X_validate in the expr's init
routine, it's better to do it in nf_tables_newexpr. So we can avoid to
do this again and again. After doing this, the second step listed above
is not useful anymore, remove them now.
Patch was tested by nftables/tests/py/nft-test.py and
nftables/tests/shell/run-tests.sh.
Signed-off-by: Liping Zhang <zlpnobody@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nft_fib.c')
-rw-r--r-- | net/netfilter/nft_fib.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/nft_fib.c b/net/netfilter/nft_fib.c index 29a4906adc27..fd0b19303b0d 100644 --- a/net/netfilter/nft_fib.c +++ b/net/netfilter/nft_fib.c @@ -112,7 +112,7 @@ int nft_fib_init(const struct nft_ctx *ctx, const struct nft_expr *expr, if (err < 0) return err; - return nft_fib_validate(ctx, expr, NULL); + return 0; } EXPORT_SYMBOL_GPL(nft_fib_init); |