This patch is also no this problem.  Because it is based on 
http://patchwork.ozlabs.org/patch/1140431/

On 8/7/2019 8:18 PM, kbuild test robot wrote:
> Hi,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on nf-next/master]
>
> url:    
> https://github.com/0day-ci/linux/commits/wenxu-ucloud-cn/netfilter-nf_tables_offload-support-more-expr-and-obj-offload/20190804-144846
> base:   
> https://kernel.googlesource.com/pub/scm/linux/kernel/git/pablo/nf-next.git 
> master
> config: x86_64-rhel (attached as .config)
> compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <[email protected]>
>
> All errors (new ones prefixed by >>):
>
>    net//netfilter/nft_payload.c: In function 'nft_payload_set_offload':
>>> net//netfilter/nft_payload.c:571:36: error: 'struct nft_offload_reg' has no 
>>> member named 'data'
>      const struct nft_data *data = &reg->data;
>                                        ^~
>
> vim +571 net//netfilter/nft_payload.c
>
>    564        
>    565        static int nft_payload_set_offload(struct nft_offload_ctx *ctx,
>    566                                           struct nft_flow_rule *flow,
>    567                                           const struct nft_expr *expr)
>    568        {
>    569                const struct nft_payload_set *priv = 
> nft_expr_priv(expr);
>    570                struct nft_offload_reg *reg = &ctx->regs[priv->sreg];
>  > 571                const struct nft_data *data = &reg->data;
>    572                struct flow_action_entry *entry;
>    573                u32 len = priv->len;
>    574                u32 offset, last;
>    575                int n_actions, i;
>    576        
>    577                if (priv->base != NFT_PAYLOAD_LL_HEADER || len > 16)
>    578                        return -EOPNOTSUPP;
>    579        
>    580                offset = priv->offset;
>    581                n_actions = len >> 2;
>    582                last = len & 0x3;
>    583        
>    584                for (i = 0; i < n_actions; i++) {
>    585                        entry = 
> &flow->rule->action.entries[ctx->num_actions++];
>    586        
>    587                        entry->id = FLOW_ACTION_MANGLE;
>    588                        entry->mangle.htype = 
> FLOW_ACT_MANGLE_HDR_TYPE_ETH;
>    589                        entry->mangle.mask = 0;
>    590                        entry->mangle.val = data->data[i];
>    591                        entry->mangle.offset = offset;
>    592                        offset = offset + 4;
>    593                }
>    594        
>    595                if (last) {
>    596                        entry = 
> &flow->rule->action.entries[ctx->num_actions++];
>    597        
>    598                        entry->id = FLOW_ACTION_MANGLE;
>    599                        entry->mangle.htype = 
> FLOW_ACT_MANGLE_HDR_TYPE_ETH;
>    600                        entry->mangle.mask = ~((1 << (last * 8)) - 1);
>    601                        entry->mangle.val = data->data[i];
>    602                        entry->mangle.offset = offset;
>    603                }
>    604        
>    605                return 0;
>    606        }
>    607        
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to