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 <l...@intel.com>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to