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

Attachment: .config.gz
Description: application/gzip

Reply via email to