Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/wenxu-ucloud-cn/net-sched-fix-over-mtu-packet-of-defrag-in/20201111-143001
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
70408949a35f1a31c327c69b6a187635cb0305fa
:::::: branch date: 3 hours ago
:::::: commit date: 3 hours ago
config: x86_64-randconfig-s021-20201111 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-106-gd020cf33-dirty
        # 
https://github.com/0day-ci/linux/commit/a551316818f8b3f9164d7a734538decca3762fda
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
wenxu-ucloud-cn/net-sched-fix-over-mtu-packet-of-defrag-in/20201111-143001
        git checkout a551316818f8b3f9164d7a734538decca3762fda
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

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


"sparse warnings: (new ones prefixed by >>)"
   net/sched/act_api.c:30:5: sparse: sparse: symbol 'tcf_set_xmit_hook' 
redeclared with different type (incompatible argument 1 (different address 
spaces)):
>> net/sched/act_api.c:30:5: sparse:    int extern [addressable] [signed] 
>> [toplevel] tcf_set_xmit_hook( ... )
   net/sched/act_api.c: note: in included file (through include/net/pkt_cls.h):
   include/net/act_api.h:244:5: sparse: note: previously declared as:
>> include/net/act_api.h:244:5: sparse:    int extern [addressable] [signed] 
>> [toplevel] tcf_set_xmit_hook( ... )
>> net/sched/act_api.c:64:19: sparse: sparse: incorrect type in assignment 
>> (different address spaces) @@     expected int ( [noderef] __rcu *xmit_hook 
>> )( ... ) @@     got int ( [noderef] * )( ... ) @@
>> net/sched/act_api.c:64:19: sparse:     expected int ( [noderef] __rcu 
>> *xmit_hook )( ... )
   net/sched/act_api.c:64:19: sparse:     got int ( [noderef] * )( ... )

vim +30 net/sched/act_api.c

a551316818f8b3f wenxu 2020-11-11  29  
a551316818f8b3f wenxu 2020-11-11 @30  int tcf_set_xmit_hook(int (__rcu 
*xmit_hook)(struct sk_buff *skb,
a551316818f8b3f wenxu 2020-11-11  31                                         
int (*xmit)(struct sk_buff *skb)))
a551316818f8b3f wenxu 2020-11-11  32  {
a551316818f8b3f wenxu 2020-11-11  33    spin_lock(&tcf_xmit_hook_lock);
a551316818f8b3f wenxu 2020-11-11  34    if (!tcf_xmit_hook_count) {
a551316818f8b3f wenxu 2020-11-11  35            
rcu_assign_pointer(tcf_xmit_hook, xmit_hook);
a551316818f8b3f wenxu 2020-11-11  36    } else if (xmit_hook != tcf_xmit_hook) {
a551316818f8b3f wenxu 2020-11-11  37            
spin_unlock(&tcf_xmit_hook_lock);
a551316818f8b3f wenxu 2020-11-11  38            return -EBUSY;
a551316818f8b3f wenxu 2020-11-11  39    }
a551316818f8b3f wenxu 2020-11-11  40  
a551316818f8b3f wenxu 2020-11-11  41    tcf_xmit_hook_count++;
a551316818f8b3f wenxu 2020-11-11  42    spin_unlock(&tcf_xmit_hook_lock);
a551316818f8b3f wenxu 2020-11-11  43  
a551316818f8b3f wenxu 2020-11-11  44    return 0;
a551316818f8b3f wenxu 2020-11-11  45  }
a551316818f8b3f wenxu 2020-11-11  46  EXPORT_SYMBOL_GPL(tcf_set_xmit_hook);
a551316818f8b3f wenxu 2020-11-11  47  
a551316818f8b3f wenxu 2020-11-11  48  void tcf_clear_xmit_hook(void)
a551316818f8b3f wenxu 2020-11-11  49  {
a551316818f8b3f wenxu 2020-11-11  50    spin_lock(&tcf_xmit_hook_lock);
a551316818f8b3f wenxu 2020-11-11  51    if (--tcf_xmit_hook_count == 0)
a551316818f8b3f wenxu 2020-11-11  52            
rcu_assign_pointer(tcf_xmit_hook, NULL);
a551316818f8b3f wenxu 2020-11-11  53    spin_unlock(&tcf_xmit_hook_lock);
a551316818f8b3f wenxu 2020-11-11  54  
a551316818f8b3f wenxu 2020-11-11  55    synchronize_rcu();
a551316818f8b3f wenxu 2020-11-11  56  }
a551316818f8b3f wenxu 2020-11-11  57  EXPORT_SYMBOL_GPL(tcf_clear_xmit_hook);
a551316818f8b3f wenxu 2020-11-11  58  
a551316818f8b3f wenxu 2020-11-11  59  int tcf_dev_queue_xmit(struct sk_buff 
*skb, int (*xmit)(struct sk_buff *skb))
a551316818f8b3f wenxu 2020-11-11  60  {
a551316818f8b3f wenxu 2020-11-11  61    int (__rcu *xmit_hook)(struct sk_buff 
*skb,
a551316818f8b3f wenxu 2020-11-11  62                           int 
(*xmit)(struct sk_buff *skb));
a551316818f8b3f wenxu 2020-11-11  63  
a551316818f8b3f wenxu 2020-11-11 @64    xmit_hook = 
rcu_dereference(tcf_xmit_hook);
a551316818f8b3f wenxu 2020-11-11  65    if (xmit_hook)
a551316818f8b3f wenxu 2020-11-11  66            return xmit_hook(skb, xmit);
a551316818f8b3f wenxu 2020-11-11  67    else
a551316818f8b3f wenxu 2020-11-11  68            return xmit(skb);
a551316818f8b3f wenxu 2020-11-11  69  }
a551316818f8b3f wenxu 2020-11-11  70  EXPORT_SYMBOL_GPL(tcf_dev_queue_xmit);
a551316818f8b3f wenxu 2020-11-11  71  

---
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