[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