CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Wang Wenhu <[email protected]>
CC: [email protected]

Hi Wang,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on v5.6]
[cannot apply to net-next/master net/master linus/master sparc-next/master 
next-20200408]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    
https://github.com/0day-ci/linux/commits/Wang-Wenhu/net-qrtr-support-qrtr-service-and-lookup-route/20200408-234613
base:    7111951b8d4973bda27ff663f2cf18b663d15b48
reproduce:
        # apt-get install sparse
        # sparse version: 
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
:::::: branch date: 10 hours ago
:::::: commit date: 10 hours ago

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

   net/qrtr/qsr.c:116:71: sparse: warning: incorrect type in argument 2 
(different base types)
>> net/qrtr/qsr.c:116:71: sparse:    expected unsigned int [usertype] node
>> net/qrtr/qsr.c:116:71: sparse:    got restricted __le32 [usertype] node
   net/qrtr/qsr.c:117:71: sparse: warning: incorrect type in argument 3 
(different base types)
>> net/qrtr/qsr.c:117:71: sparse:    expected unsigned int [usertype] port
>> net/qrtr/qsr.c:117:71: sparse:    got restricted __le32 [usertype] port
   net/qrtr/qsr.c:139:30: sparse: warning: cast from restricted __le32
   net/qrtr/qsr.c:140:31: sparse: warning: cast from restricted __le32
   net/qrtr/qsr.c:141:27: sparse: warning: cast from restricted __le32
   net/qrtr/qsr.c:142:27: sparse: warning: cast from restricted __le32
   net/qrtr/qsr.c:178:25: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:178:53: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:189:22: sparse: warning: incorrect type in assignment 
(different base types)
>> net/qrtr/qsr.c:189:22: sparse:    expected restricted __le32 [usertype] 
>> service
>> net/qrtr/qsr.c:189:22: sparse:    got unsigned int [usertype] service
   net/qrtr/qsr.c:190:23: sparse: warning: incorrect type in assignment 
(different base types)
>> net/qrtr/qsr.c:190:23: sparse:    expected restricted __le32 [usertype] 
>> instance
>> net/qrtr/qsr.c:190:23: sparse:    got unsigned int [usertype] instance
   net/qrtr/qsr.c:191:26: sparse: warning: incorrect type in assignment 
(different base types)
>> net/qrtr/qsr.c:191:26: sparse:    expected restricted __le32 [usertype] node
>> net/qrtr/qsr.c:191:26: sparse:    got unsigned int [usertype] node
   net/qrtr/qsr.c:192:26: sparse: warning: incorrect type in assignment 
(different base types)
>> net/qrtr/qsr.c:192:26: sparse:    expected restricted __le32 [usertype] port
>> net/qrtr/qsr.c:192:26: sparse:    got unsigned int [usertype] port
   net/qrtr/qsr.c:206:24: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:206:51: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:229:25: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:230:25: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:231:33: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:232:33: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:240:24: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:240:51: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:256:22: sparse: warning: incorrect type in assignment 
(different base types)
   net/qrtr/qsr.c:256:22: sparse:    expected restricted __le32 [usertype] 
service
   net/qrtr/qsr.c:256:22: sparse:    got unsigned int [usertype] service
   net/qrtr/qsr.c:257:23: sparse: warning: incorrect type in assignment 
(different base types)
   net/qrtr/qsr.c:257:23: sparse:    expected restricted __le32 [usertype] 
instance
   net/qrtr/qsr.c:257:23: sparse:    got unsigned int [usertype] instance
   net/qrtr/qsr.c:258:26: sparse: warning: incorrect type in assignment 
(different base types)
   net/qrtr/qsr.c:258:26: sparse:    expected restricted __le32 [usertype] node
   net/qrtr/qsr.c:258:26: sparse:    got unsigned int [usertype] node
   net/qrtr/qsr.c:259:26: sparse: warning: incorrect type in assignment 
(different base types)
   net/qrtr/qsr.c:259:26: sparse:    expected restricted __le32 [usertype] port
   net/qrtr/qsr.c:259:26: sparse:    got unsigned int [usertype] port
   net/qrtr/qsr.c:275:27: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:276:27: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:277:35: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:278:35: sparse: warning: restricted __le32 degrades to integer
   net/qrtr/qsr.c:482:16: sparse: warning: symbol 'qsr_handle_ops' was not 
declared. Should it be static?

# 
https://github.com/0day-ci/linux/commit/c66a78864319437062e4d506cc771623d0486bae
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout c66a78864319437062e4d506cc771623d0486bae
vim +116 net/qrtr/qsr.c

c66a78864319437 Wang Wenhu 2020-04-08  102  
c66a78864319437 Wang Wenhu 2020-04-08  103  static int qsr_new_server(struct 
qsr_info *new)
c66a78864319437 Wang Wenhu 2020-04-08  104  {
c66a78864319437 Wang Wenhu 2020-04-08  105      struct qsr_info *lookup;
c66a78864319437 Wang Wenhu 2020-04-08  106      struct qsr_ops *ops = qsr->ops;
c66a78864319437 Wang Wenhu 2020-04-08  107      int ret;
c66a78864319437 Wang Wenhu 2020-04-08  108  
c66a78864319437 Wang Wenhu 2020-04-08  109      if (!ops->new_lookup)
c66a78864319437 Wang Wenhu 2020-04-08  110              return 0;
c66a78864319437 Wang Wenhu 2020-04-08  111  
c66a78864319437 Wang Wenhu 2020-04-08  112      list_for_each_entry(lookup, 
&qsr->lookups, list) {
c66a78864319437 Wang Wenhu 2020-04-08  113              if (lookup->service == 
new->service &&
c66a78864319437 Wang Wenhu 2020-04-08  114                  lookup->instance == 
new->instance) {
c66a78864319437 Wang Wenhu 2020-04-08  115                      ret = 
ops->new_lookup(new,
c66a78864319437 Wang Wenhu 2020-04-08 @116                                      
                lookup->client.node,
c66a78864319437 Wang Wenhu 2020-04-08 @117                                      
                lookup->client.port);
c66a78864319437 Wang Wenhu 2020-04-08  118                      if (ret < 0)
c66a78864319437 Wang Wenhu 2020-04-08  119                              
pr_err("Error to notice client of new server, %d\n", ret);
c66a78864319437 Wang Wenhu 2020-04-08  120                      else
c66a78864319437 Wang Wenhu 2020-04-08  121                              
list_del(&lookup->list);
c66a78864319437 Wang Wenhu 2020-04-08  122                      return 0;
c66a78864319437 Wang Wenhu 2020-04-08  123              }
c66a78864319437 Wang Wenhu 2020-04-08  124      }
c66a78864319437 Wang Wenhu 2020-04-08  125  
c66a78864319437 Wang Wenhu 2020-04-08  126      return 0;
c66a78864319437 Wang Wenhu 2020-04-08  127  }
c66a78864319437 Wang Wenhu 2020-04-08  128  
c66a78864319437 Wang Wenhu 2020-04-08  129  static int qsr_new_lookup(struct 
qsr_info *svc, u32 node, u32 port)
c66a78864319437 Wang Wenhu 2020-04-08  130  {
c66a78864319437 Wang Wenhu 2020-04-08  131      struct qrtr_ctrl_pkt pkt;
c66a78864319437 Wang Wenhu 2020-04-08  132      struct sockaddr_qrtr sq;
c66a78864319437 Wang Wenhu 2020-04-08  133      struct msghdr msg = { };
c66a78864319437 Wang Wenhu 2020-04-08  134      struct kvec iv = { &pkt, 
sizeof(pkt) };
c66a78864319437 Wang Wenhu 2020-04-08  135      int ret = 0;
c66a78864319437 Wang Wenhu 2020-04-08  136  
c66a78864319437 Wang Wenhu 2020-04-08  137      memset(&pkt, 0, sizeof(pkt));
c66a78864319437 Wang Wenhu 2020-04-08  138      pkt.cmd = 
cpu_to_le32(QRTR_TYPE_NEW_SERVER);
c66a78864319437 Wang Wenhu 2020-04-08  139      pkt.server.service = 
cpu_to_le32(svc->service);
c66a78864319437 Wang Wenhu 2020-04-08 @140      pkt.server.instance = 
cpu_to_le32(svc->instance);
c66a78864319437 Wang Wenhu 2020-04-08 @141      pkt.server.node = 
cpu_to_le32(svc->server.node);
c66a78864319437 Wang Wenhu 2020-04-08  142      pkt.server.port = 
cpu_to_le32(svc->server.port);
c66a78864319437 Wang Wenhu 2020-04-08  143  
c66a78864319437 Wang Wenhu 2020-04-08  144      sq.sq_family = AF_QIPCRTR;
c66a78864319437 Wang Wenhu 2020-04-08  145      sq.sq_node = node;
c66a78864319437 Wang Wenhu 2020-04-08  146      sq.sq_port = port;
c66a78864319437 Wang Wenhu 2020-04-08  147  
c66a78864319437 Wang Wenhu 2020-04-08  148      msg.msg_name = &sq;
c66a78864319437 Wang Wenhu 2020-04-08  149      msg.msg_namelen = sizeof(sq);
c66a78864319437 Wang Wenhu 2020-04-08  150  
c66a78864319437 Wang Wenhu 2020-04-08  151      mutex_lock(&qsr->qsr_lock);
c66a78864319437 Wang Wenhu 2020-04-08  152      if (qsr->sk) {
c66a78864319437 Wang Wenhu 2020-04-08  153              ret = 
kernel_sendmsg(qsr->sk, &msg, &iv, 1, sizeof(pkt));
c66a78864319437 Wang Wenhu 2020-04-08  154              if (ret < 0)
c66a78864319437 Wang Wenhu 2020-04-08  155                      pr_err("Error 
to send server info to client, %d\n", ret);
c66a78864319437 Wang Wenhu 2020-04-08  156      }
c66a78864319437 Wang Wenhu 2020-04-08  157      mutex_unlock(&qsr->qsr_lock);
c66a78864319437 Wang Wenhu 2020-04-08  158  
c66a78864319437 Wang Wenhu 2020-04-08  159      return ret;
c66a78864319437 Wang Wenhu 2020-04-08  160  }
c66a78864319437 Wang Wenhu 2020-04-08  161  
c66a78864319437 Wang Wenhu 2020-04-08  162  static void qsr_recv_new_server(u32 
service,
c66a78864319437 Wang Wenhu 2020-04-08  163                              u32 
instance,
c66a78864319437 Wang Wenhu 2020-04-08  164                              u32 
node,
c66a78864319437 Wang Wenhu 2020-04-08  165                              u32 
port)
c66a78864319437 Wang Wenhu 2020-04-08  166  {
c66a78864319437 Wang Wenhu 2020-04-08  167      struct qsr_ops *ops = qsr->ops;
c66a78864319437 Wang Wenhu 2020-04-08  168      struct qsr_info *svc, *temp;
c66a78864319437 Wang Wenhu 2020-04-08  169      int ret;
c66a78864319437 Wang Wenhu 2020-04-08  170  
c66a78864319437 Wang Wenhu 2020-04-08  171      if (!ops->new_server)
c66a78864319437 Wang Wenhu 2020-04-08  172              return;
c66a78864319437 Wang Wenhu 2020-04-08  173  
c66a78864319437 Wang Wenhu 2020-04-08  174      if (!node && !port)
c66a78864319437 Wang Wenhu 2020-04-08  175              return;
c66a78864319437 Wang Wenhu 2020-04-08  176  
c66a78864319437 Wang Wenhu 2020-04-08  177      list_for_each_entry(temp, 
&qsr->services, list) {
c66a78864319437 Wang Wenhu 2020-04-08 @178              if (temp->service == 
service && temp->instance == instance) {
c66a78864319437 Wang Wenhu 2020-04-08  179                      pr_err("Error 
server exists, service:0x%x instance:0x%x",
c66a78864319437 Wang Wenhu 2020-04-08  180                             service, 
instance);
c66a78864319437 Wang Wenhu 2020-04-08  181                      return;
c66a78864319437 Wang Wenhu 2020-04-08  182              }
c66a78864319437 Wang Wenhu 2020-04-08  183      }
c66a78864319437 Wang Wenhu 2020-04-08  184  
c66a78864319437 Wang Wenhu 2020-04-08  185      svc = kzalloc(sizeof(*svc), 
GFP_KERNEL);
c66a78864319437 Wang Wenhu 2020-04-08  186      if (!svc)
c66a78864319437 Wang Wenhu 2020-04-08  187              return;
c66a78864319437 Wang Wenhu 2020-04-08  188  
c66a78864319437 Wang Wenhu 2020-04-08 @189      svc->service = service;
c66a78864319437 Wang Wenhu 2020-04-08 @190      svc->instance = instance;
c66a78864319437 Wang Wenhu 2020-04-08 @191      svc->server.node = node;
c66a78864319437 Wang Wenhu 2020-04-08 @192      svc->server.port = port;
c66a78864319437 Wang Wenhu 2020-04-08  193  
c66a78864319437 Wang Wenhu 2020-04-08  194      ret = ops->new_server(svc);
c66a78864319437 Wang Wenhu 2020-04-08  195      if (ret < 0)
c66a78864319437 Wang Wenhu 2020-04-08  196              kfree(svc);
c66a78864319437 Wang Wenhu 2020-04-08  197      else
c66a78864319437 Wang Wenhu 2020-04-08  198              list_add(&svc->list, 
&qsr->services);
c66a78864319437 Wang Wenhu 2020-04-08  199  }
c66a78864319437 Wang Wenhu 2020-04-08  200  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to