Hi Vlad,

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/Vlad-Buslov/Refactor-classifier-API-to-work-with-chain-classifiers-without-rtnl-lock/20181211-231158
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   net/sched/sch_generic.c:563:34: warning: incorrect type in initializer 
(different address spaces)
   net/sched/sch_generic.c:563:34:    expected struct Qdisc [noderef] <asn:4> 
*qdisc
   net/sched/sch_generic.c:563:34:    got struct Qdisc *<noident>
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
>> net/sched/sch_generic.c:1376:6: warning: symbol '__mini_qdisc_pair_swap' was 
>> not declared. Should it be static?
>> net/sched/sch_generic.c:1412:6: warning: symbol 'mini_qdisc_pair_swap_work' 
>> was not declared. Should it be static?
   net/sched/sch_generic.c:207:50: warning: context imbalance in 
'try_bulk_dequeue_skb_slow' - different lock contexts for basic block
   net/sched/sch_generic.c:266:17: warning: context imbalance in 'dequeue_skb' 
- different lock contexts for basic block
   net/sched/sch_generic.c:309:28: warning: context imbalance in 
'sch_direct_xmit' - unexpected unlock
   net/sched/sch_generic.c:1151:9: warning: context imbalance in 
'dev_deactivate_queue' - different lock contexts for basic block
--
   include/linux/slab.h:332:43: warning: dubious: x & !y
   net/sched/cls_api.c:218:22: warning: incorrect type in assignment (different 
base types)
   net/sched/cls_api.c:218:22:    expected restricted __be16 [usertype] protocol
   net/sched/cls_api.c:218:22:    got unsigned int [unsigned] [usertype] 
protocol
   include/linux/slab.h:332:43: warning: dubious: x & !y
>> net/sched/cls_api.c:549:20: warning: incorrect type in assignment (different 
>> address spaces)
   net/sched/cls_api.c:549:20:    expected struct tcf_proto *[assigned] tp
   net/sched/cls_api.c:549:20:    got struct tcf_proto [noderef] <asn:4> *next
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   net/sched/cls_api.c:1752:16: error: incompatible types in comparison 
expression (different address spaces)
   net/sched/cls_api.c:1844:20: error: incompatible types in comparison 
expression (different address spaces)
   net/sched/cls_api.c:1807:25: error: incompatible types in comparison 
expression (different address spaces)
   net/sched/cls_api.c:1826:16: error: incompatible types in comparison 
expression (different address spaces)
   net/sched/cls_api.c:1891:25: warning: restricted __be16 degrades to integer
   net/sched/cls_api.c:2521:50: warning: restricted __be16 degrades to integer
>> net/sched/cls_api.c:1271:45: warning: context imbalance in '__tcf_block_put' 
>> - unexpected unlock

vim +549 net/sched/cls_api.c

32a4f5ec Jiri Pirko  2018-07-23  535  
290b1c8b Jiri Pirko  2018-08-01  536  static void tcf_chain_flush(struct 
tcf_chain *chain)
290b1c8b Jiri Pirko  2018-08-01  537  {
11ccabb2 Vlad Buslov 2018-12-11  538    struct tcf_proto *tp;
290b1c8b Jiri Pirko  2018-08-01  539  
11ccabb2 Vlad Buslov 2018-12-11  540    spin_lock(&chain->filter_chain_lock);
11ccabb2 Vlad Buslov 2018-12-11  541    tp = 
tcf_chain_dereference(chain->filter_chain, chain);
eb733349 Vlad Buslov 2018-12-11  542    RCU_INIT_POINTER(chain->filter_chain, 
NULL);
290b1c8b Jiri Pirko  2018-08-01  543    tcf_chain0_head_change(chain, NULL);
dc5255f2 Vlad Buslov 2018-12-11  544    chain->flushing = true;
11ccabb2 Vlad Buslov 2018-12-11  545    spin_unlock(&chain->filter_chain_lock);
11ccabb2 Vlad Buslov 2018-12-11  546  
290b1c8b Jiri Pirko  2018-08-01  547    while (tp) {
eb733349 Vlad Buslov 2018-12-11  548            tcf_proto_put(tp, NULL);
eb733349 Vlad Buslov 2018-12-11 @549            tp = tp->next;
290b1c8b Jiri Pirko  2018-08-01  550    }
290b1c8b Jiri Pirko  2018-08-01  551  }
290b1c8b Jiri Pirko  2018-08-01  552  

:::::: The code at line 549 was first introduced by commit
:::::: eb733349a2b09f803d821c70862067ca1a632bbb net: sched: introduce reference 
counting for tcf proto

:::::: TO: Vlad Buslov <vla...@mellanox.com>
:::::: CC: 0day robot <l...@intel.com>

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