tree: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf.git master head: 6b98ffc6b41b43ceb5f448af1de09c3e7a9ee826 commit: 6b98ffc6b41b43ceb5f448af1de09c3e7a9ee826 [4/4] netfilter: nf_tables: unbind set in rule from commit path config: x86_64-rhel-7.2-clear (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout 6b98ffc6b41b43ceb5f448af1de09c3e7a9ee826 # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
net//netfilter/nft_compat.c: In function 'nft_match_select_ops':
>> net//netfilter/nft_compat.c:852:28: error: assignment from incompatible
>> pointer type [-Werror=incompatible-pointer-types]
nft_match->ops.deactivate = nft_compat_deactivate;
^
net//netfilter/nft_compat.c: In function 'nft_target_select_ops':
net//netfilter/nft_compat.c:957:29: error: assignment from incompatible
pointer type [-Werror=incompatible-pointer-types]
nft_target->ops.deactivate = nft_compat_deactivate;
^
cc1: some warnings being treated as errors
vim +852 net//netfilter/nft_compat.c
ba378ca9c0 Pablo Neira Ayuso 2015-09-14 798
0ca743a559 Pablo Neira Ayuso 2013-10-14 799 static const struct nft_expr_ops *
0ca743a559 Pablo Neira Ayuso 2013-10-14 800 nft_match_select_ops(const struct
nft_ctx *ctx,
0ca743a559 Pablo Neira Ayuso 2013-10-14 801 const struct
nlattr * const tb[])
0ca743a559 Pablo Neira Ayuso 2013-10-14 802 {
cf52572ebb Florian Westphal 2019-01-14 803 struct nft_compat_net *cn;
0ca743a559 Pablo Neira Ayuso 2013-10-14 804 struct nft_xt *nft_match;
0ca743a559 Pablo Neira Ayuso 2013-10-14 805 struct xt_match *match;
732a8049f3 Florian Westphal 2018-05-07 806 unsigned int matchsize;
0ca743a559 Pablo Neira Ayuso 2013-10-14 807 char *mt_name;
ba378ca9c0 Pablo Neira Ayuso 2015-09-14 808 u32 rev, family;
2bf4fade54 Liping Zhang 2016-07-23 809 int err;
0ca743a559 Pablo Neira Ayuso 2013-10-14 810
0ca743a559 Pablo Neira Ayuso 2013-10-14 811 if (tb[NFTA_MATCH_NAME] == NULL
||
0ca743a559 Pablo Neira Ayuso 2013-10-14 812 tb[NFTA_MATCH_REV] == NULL
||
0ca743a559 Pablo Neira Ayuso 2013-10-14 813 tb[NFTA_MATCH_INFO] == NULL)
0ca743a559 Pablo Neira Ayuso 2013-10-14 814 return ERR_PTR(-EINVAL);
0ca743a559 Pablo Neira Ayuso 2013-10-14 815
0ca743a559 Pablo Neira Ayuso 2013-10-14 816 mt_name =
nla_data(tb[NFTA_MATCH_NAME]);
0ca743a559 Pablo Neira Ayuso 2013-10-14 817 rev =
ntohl(nla_get_be32(tb[NFTA_MATCH_REV]));
36596dadf5 Pablo Neira Ayuso 2018-01-09 818 family = ctx->family;
0ca743a559 Pablo Neira Ayuso 2013-10-14 819
cf52572ebb Florian Westphal 2019-01-14 820 cn =
nft_compat_pernet(ctx->net);
cf52572ebb Florian Westphal 2019-01-14 821
0ca743a559 Pablo Neira Ayuso 2013-10-14 822 /* Re-use the existing match if
it's already loaded. */
cf52572ebb Florian Westphal 2019-01-14 823 list_for_each_entry(nft_match,
&cn->nft_match_list, head) {
0ca743a559 Pablo Neira Ayuso 2013-10-14 824 struct xt_match *match
= nft_match->ops.data;
0ca743a559 Pablo Neira Ayuso 2013-10-14 825
b8e9dc1c75 Florian Westphal 2018-05-02 826 if
(nft_match_cmp(match, mt_name, rev, family))
0ca743a559 Pablo Neira Ayuso 2013-10-14 827 return
&nft_match->ops;
0ca743a559 Pablo Neira Ayuso 2013-10-14 828 }
0ca743a559 Pablo Neira Ayuso 2013-10-14 829
0ca743a559 Pablo Neira Ayuso 2013-10-14 830 match =
xt_request_find_match(family, mt_name, rev);
0ca743a559 Pablo Neira Ayuso 2013-10-14 831 if (IS_ERR(match))
0ca743a559 Pablo Neira Ayuso 2013-10-14 832 return ERR_PTR(-ENOENT);
0ca743a559 Pablo Neira Ayuso 2013-10-14 833
2bf4fade54 Liping Zhang 2016-07-23 834 if (match->matchsize >
nla_len(tb[NFTA_MATCH_INFO])) {
2bf4fade54 Liping Zhang 2016-07-23 835 err = -EINVAL;
2bf4fade54 Liping Zhang 2016-07-23 836 goto err;
2bf4fade54 Liping Zhang 2016-07-23 837 }
f0716cd6eb Florian Westphal 2016-03-09 838
0ca743a559 Pablo Neira Ayuso 2013-10-14 839 /* This is the first time we
use this match, allocate operations */
0ca743a559 Pablo Neira Ayuso 2013-10-14 840 nft_match =
kzalloc(sizeof(struct nft_xt), GFP_KERNEL);
2bf4fade54 Liping Zhang 2016-07-23 841 if (nft_match == NULL) {
2bf4fade54 Liping Zhang 2016-07-23 842 err = -ENOMEM;
2bf4fade54 Liping Zhang 2016-07-23 843 goto err;
2bf4fade54 Liping Zhang 2016-07-23 844 }
0ca743a559 Pablo Neira Ayuso 2013-10-14 845
12c44aba66 Florian Westphal 2019-01-14 846
refcount_set(&nft_match->refcnt, 0);
0ca743a559 Pablo Neira Ayuso 2013-10-14 847 nft_match->ops.type =
&nft_match_type;
0ca743a559 Pablo Neira Ayuso 2013-10-14 848 nft_match->ops.eval =
nft_match_eval;
0ca743a559 Pablo Neira Ayuso 2013-10-14 849 nft_match->ops.init =
nft_match_init;
0ca743a559 Pablo Neira Ayuso 2013-10-14 850 nft_match->ops.destroy =
nft_match_destroy;
b2e3d68d12 Florian Westphal 2019-01-14 851 nft_match->ops.activate =
nft_compat_activate_mt;
b2e3d68d12 Florian Westphal 2019-01-14 @852 nft_match->ops.deactivate =
nft_compat_deactivate;
0ca743a559 Pablo Neira Ayuso 2013-10-14 853 nft_match->ops.dump =
nft_match_dump;
0ca743a559 Pablo Neira Ayuso 2013-10-14 854 nft_match->ops.validate =
nft_match_validate;
0ca743a559 Pablo Neira Ayuso 2013-10-14 855 nft_match->ops.data = match;
0ca743a559 Pablo Neira Ayuso 2013-10-14 856
732a8049f3 Florian Westphal 2018-05-07 857 matchsize =
NFT_EXPR_SIZE(XT_ALIGN(match->matchsize));
732a8049f3 Florian Westphal 2018-05-07 858 if (matchsize >
NFT_MATCH_LARGE_THRESH) {
732a8049f3 Florian Westphal 2018-05-07 859 matchsize =
NFT_EXPR_SIZE(sizeof(struct nft_xt_match_priv));
732a8049f3 Florian Westphal 2018-05-07 860
732a8049f3 Florian Westphal 2018-05-07 861 nft_match->ops.eval =
nft_match_large_eval;
732a8049f3 Florian Westphal 2018-05-07 862 nft_match->ops.init =
nft_match_large_init;
732a8049f3 Florian Westphal 2018-05-07 863 nft_match->ops.destroy
= nft_match_large_destroy;
732a8049f3 Florian Westphal 2018-05-07 864 nft_match->ops.dump =
nft_match_large_dump;
732a8049f3 Florian Westphal 2018-05-07 865 }
732a8049f3 Florian Westphal 2018-05-07 866
732a8049f3 Florian Westphal 2018-05-07 867 nft_match->ops.size = matchsize;
732a8049f3 Florian Westphal 2018-05-07 868
b2e3d68d12 Florian Westphal 2019-01-14 869 nft_match->listcnt = 1;
cf52572ebb Florian Westphal 2019-01-14 870 list_add(&nft_match->head,
&cn->nft_match_list);
0ca743a559 Pablo Neira Ayuso 2013-10-14 871
0ca743a559 Pablo Neira Ayuso 2013-10-14 872 return &nft_match->ops;
2bf4fade54 Liping Zhang 2016-07-23 873 err:
2bf4fade54 Liping Zhang 2016-07-23 874 module_put(match->me);
2bf4fade54 Liping Zhang 2016-07-23 875 return ERR_PTR(err);
0ca743a559 Pablo Neira Ayuso 2013-10-14 876 }
0ca743a559 Pablo Neira Ayuso 2013-10-14 877
:::::: The code at line 852 was first introduced by commit
:::::: b2e3d68d1251a051a620f9086e18f7ffa6833b5b netfilter: nft_compat: destroy
function must not have side effects
:::::: TO: Florian Westphal <[email protected]>
:::::: CC: Pablo Neira Ayuso <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip
