tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   e644645abf4788e919beeb97925fb6bf43e890a2
commit: 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596 net: Support GRO/GSO fraglist 
chaining.
date:   4 months ago
config: h8300-randconfig-m001-20200521 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=h8300 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <l...@intel.com>

New smatch warnings:
net/core/skbuff.c:3673 skb_segment_list() warn: inconsistent indenting

Old smatch warnings:
net/core/skbuff.c:105 skb_panic() warn: argument 8 to %#lx specifier is cast 
from pointer
net/core/skbuff.c:105 skb_panic() warn: argument 9 to %#lx specifier is cast 
from pointer
net/core/skbuff.c:3845 skb_segment() error: we previously assumed 'list_skb' 
could be null (see line 3765)

vim +3673 net/core/skbuff.c

  3641  
  3642  struct sk_buff *skb_segment_list(struct sk_buff *skb,
  3643                                   netdev_features_t features,
  3644                                   unsigned int offset)
  3645  {
  3646          struct sk_buff *list_skb = skb_shinfo(skb)->frag_list;
  3647          unsigned int tnl_hlen = skb_tnl_header_len(skb);
  3648          unsigned int delta_truesize = 0;
  3649          unsigned int delta_len = 0;
  3650          struct sk_buff *tail = NULL;
  3651          struct sk_buff *nskb;
  3652  
  3653          skb_push(skb, -skb_network_offset(skb) + offset);
  3654  
  3655          skb_shinfo(skb)->frag_list = NULL;
  3656  
  3657          do {
  3658                  nskb = list_skb;
  3659                  list_skb = list_skb->next;
  3660  
  3661                  if (!tail)
  3662                          skb->next = nskb;
  3663                  else
  3664                          tail->next = nskb;
  3665  
  3666                  tail = nskb;
  3667  
  3668                  delta_len += nskb->len;
  3669                  delta_truesize += nskb->truesize;
  3670  
  3671                  skb_push(nskb, -skb_network_offset(nskb) + offset);
  3672  
> 3673                   __copy_skb_header(nskb, skb);
  3674  
  3675                  skb_headers_offset_update(nskb, skb_headroom(nskb) - 
skb_headroom(skb));
  3676                  skb_copy_from_linear_data_offset(skb, -tnl_hlen,
  3677                                                   nskb->data - tnl_hlen,
  3678                                                   offset + tnl_hlen);
  3679  
  3680                  if (skb_needs_linearize(nskb, features) &&
  3681                      __skb_linearize(nskb))
  3682                          goto err_linearize;
  3683  
  3684          } while (list_skb);
  3685  
  3686          skb->truesize = skb->truesize - delta_truesize;
  3687          skb->data_len = skb->data_len - delta_len;
  3688          skb->len = skb->len - delta_len;
  3689  
  3690          skb_gso_reset(skb);
  3691  
  3692          skb->prev = tail;
  3693  
  3694          if (skb_needs_linearize(skb, features) &&
  3695              __skb_linearize(skb))
  3696                  goto err_linearize;
  3697  
  3698          skb_get(skb);
  3699  
  3700          return skb;
  3701  
  3702  err_linearize:
  3703          kfree_skb_list(skb->next);
  3704          skb->next = NULL;
  3705          return ERR_PTR(-ENOMEM);
  3706  }
  3707  EXPORT_SYMBOL_GPL(skb_segment_list);
  3708  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to