[Cluster-devel] [dlm:next 14/16] fs/dlm/midcomms.c:541:25: sparse: sparse: cast to restricted __le32
kernel test robot
lkp at intel.com
Tue May 25 21:15:09 UTC 2021
tree: https://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm.git next
head: 706474fbc5fedd7799b488962aad3541b235165b
commit: 489d8e559c6596eb08e16447d9830bc39afbe54e [14/16] fs: dlm: add reliable connection if reconnect
config: m68k-randconfig-s031-20210525 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm.git/commit/?id=489d8e559c6596eb08e16447d9830bc39afbe54e
git remote add dlm https://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm.git
git fetch --no-tags dlm next
git checkout 489d8e559c6596eb08e16447d9830bc39afbe54e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
sparse warnings: (new ones prefixed by >>)
>> fs/dlm/midcomms.c:541:25: sparse: sparse: cast to restricted __le32
>> fs/dlm/midcomms.c:541:25: sparse: sparse: cast to restricted __le32
>> fs/dlm/midcomms.c:541:25: sparse: sparse: cast to restricted __le32
>> fs/dlm/midcomms.c:541:25: sparse: sparse: cast to restricted __le32
>> fs/dlm/midcomms.c:541:25: sparse: sparse: cast to restricted __le32
>> fs/dlm/midcomms.c:541:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:634:19: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:634:19: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:634:19: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:634:19: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:636:16: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:636:16: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:636:16: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:636:16: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:674:27: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:674:27: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:674:27: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:674:27: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:693:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:693:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:693:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:693:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:693:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:693:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:703:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:703:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:703:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:703:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:703:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:703:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:712:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:712:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:712:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:712:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:712:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:712:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:722:42: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:722:42: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:722:42: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:722:42: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:725:26: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:725:26: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:725:26: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:725:26: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:760:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:760:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:760:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:760:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:760:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:760:23: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:794:27: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:794:27: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:794:27: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:794:27: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:854:26: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:854:26: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:854:26: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:854:26: sparse: sparse: cast to restricted __le16
fs/dlm/midcomms.c:868:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:868:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:868:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:868:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:868:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:868:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:876:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:876:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:876:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:876:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:876:25: sparse: sparse: cast to restricted __le32
fs/dlm/midcomms.c:876:25: sparse: sparse: cast to restricted __le32
>> fs/dlm/midcomms.c:969:20: sparse: sparse: context imbalance in 'dlm_midcomms_get_mhandle' - wrong count at exit
fs/dlm/midcomms.c:1045:33: sparse: sparse: context imbalance in 'dlm_midcomms_commit_mhandle' - unexpected unlock
vim +541 fs/dlm/midcomms.c
524
525 static struct midcomms_node *
526 dlm_midcomms_recv_node_lookup(int nodeid, const union dlm_packet *p,
527 uint16_t msglen, int (*cb)(struct midcomms_node *node))
528 {
529 struct midcomms_node *node = NULL;
530 gfp_t allocation = 0;
531 int ret;
532
533 switch (p->header.h_cmd) {
534 case DLM_RCOM:
535 if (msglen < sizeof(struct dlm_rcom)) {
536 log_print("rcom msg too small: %u, will skip this message from node %d",
537 msglen, nodeid);
538 return NULL;
539 }
540
> 541 switch (le32_to_cpu(p->rcom.rc_type)) {
542 case DLM_RCOM_NAMES:
543 fallthrough;
544 case DLM_RCOM_NAMES_REPLY:
545 fallthrough;
546 case DLM_RCOM_STATUS:
547 fallthrough;
548 case DLM_RCOM_STATUS_REPLY:
549 node = nodeid2node(nodeid, 0);
550 if (node) {
551 spin_lock(&node->state_lock);
552 if (node->state != DLM_ESTABLISHED)
553 pr_debug("receive begin RCOM msg from node %d with state %s\n",
554 node->nodeid, dlm_state_str(node->state));
555
556 switch (node->state) {
557 case DLM_CLOSED:
558 node->state = DLM_ESTABLISHED;
559 pr_debug("switch node %d to state %s\n",
560 node->nodeid, dlm_state_str(node->state));
561 break;
562 case DLM_ESTABLISHED:
563 break;
564 default:
565 /* some invalid state passive shutdown
566 * was failed, we try to reset and
567 * hope it will go on.
568 */
569 log_print("reset node %d because shutdown stucked",
570 node->nodeid);
571
572 midcomms_node_reset(node);
573 node->state = DLM_ESTABLISHED;
574 break;
575 }
576 spin_unlock(&node->state_lock);
577 }
578
579 allocation = GFP_NOFS;
580 break;
581 default:
582 break;
583 }
584
585 break;
586 default:
587 break;
588 }
589
590 node = nodeid2node(nodeid, allocation);
591 if (!node) {
592 log_print_ratelimited("received dlm message cmd %d nextcmd %d from node %d in an invalid sequence",
593 p->header.h_cmd, p->opts.o_nextcmd, nodeid);
594 return NULL;
595 }
596
597 ret = cb(node);
598 if (ret < 0)
599 return NULL;
600
601 return node;
602 }
603
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 27780 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20210526/89b79780/attachment.gz>
More information about the Cluster-devel
mailing list