linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [hare-scsi-devel:tls-upcall.v2 157/159] drivers/nvme/host/tcp.c:659:3: sparse: sparse: symbol 'fes_status' was not declared. Should it be static?
@ 2022-02-27 12:54 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-02-27 12:54 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: kbuild-all, linux-kernel

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git tls-upcall.v2
head:   21b520ae0b338bd30496feb1ca90a2820dab7a65
commit: 294875f63a598198387eda2c7f5fc00c3ac94b7a [157/159] nvme-tcp: decode c2h term PDU
config: x86_64-randconfig-s021 (https://download.01.org/0day-ci/archive/20220227/202202272008.yNSnSONs-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git/commit/?id=294875f63a598198387eda2c7f5fc00c3ac94b7a
        git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
        git fetch --no-tags hare-scsi-devel tls-upcall.v2
        git checkout 294875f63a598198387eda2c7f5fc00c3ac94b7a
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash

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


sparse warnings: (new ones prefixed by >>)
>> drivers/nvme/host/tcp.c:659:3: sparse: sparse: symbol 'fes_status' was not declared. Should it be static?
>> drivers/nvme/host/tcp.c:678:38: sparse: sparse: restricted __le16 degrades to integer
>> drivers/nvme/host/tcp.c:686:21: sparse: sparse: restricted __le32 degrades to integer
   drivers/nvme/host/tcp.c:689:16: sparse: sparse: restricted __le16 degrades to integer
   drivers/nvme/host/tcp.c:690:16: sparse: sparse: restricted __le16 degrades to integer
   drivers/nvme/host/tcp.c:691:16: sparse: sparse: restricted __le16 degrades to integer

vim +/fes_status +659 drivers/nvme/host/tcp.c

   655	
   656	struct fes_status_map {
   657		enum nvme_tcp_fatal_error_status fes;
   658		const char *desc;
 > 659	} fes_status[] = {
   660		{ NVME_TCP_FES_INVALID_PDU_HDR, "invalid pdu header"},
   661		{ NVME_TCP_FES_PDU_SEQ_ERR, "pdu sequence error" },
   662		{ NVME_TCP_FES_HDR_DIGEST_ERR, "header digest error" },
   663		{ NVME_TCP_FES_DATA_OUT_OF_RANGE, "data transfer out of range" },
   664		{ NVME_TCP_FES_DATA_LIMIT_EXCEEDED, "data limit exceeded" },
   665		{ NVME_TCP_FES_UNSUPPORTED_PARAM, "unsupported parameter" },
   666	};
   667	
   668	static int nvme_tcp_handle_c2h_term(struct nvme_tcp_queue *queue,
   669			struct nvme_tcp_term_pdu *pdu)
   670	{
   671		struct nvme_tcp_hdr *ref_pdu;
   672		struct fes_status_map *map;
   673		const char *fes_desc = NULL;
   674		int i;
   675		u32 pdu_offset;
   676	
   677		for (i = 0; i < ARRAY_SIZE(fes_status); i++) {
 > 678			if (map[i].fes == pdu->fes) {
   679				fes_desc = map[i].desc;
   680				break;
   681			}
   682		}
   683		if (!fes_desc)
   684			fes_desc = "unknown fatal error status";
   685	
 > 686		if (pdu->hdr.plen > sizeof(struct nvme_tcp_term_pdu))
   687			ref_pdu = (struct nvme_tcp_hdr *)((u8 *)pdu + 1);
   688	
   689		if (pdu->fes == NVME_TCP_FES_INVALID_PDU_HDR ||
   690		    pdu->fes == NVME_TCP_FES_HDR_DIGEST_ERR ||
   691		    pdu->fes == NVME_TCP_FES_UNSUPPORTED_PARAM) {
   692			pdu_offset = le32_to_cpu(pdu->fei);
   693	
   694			dev_err(queue->ctrl->ctrl.device,
   695				"queue %d c2h term, %s, pdu type %u offset %u\n",
   696				nvme_tcp_queue_id(queue), fes_desc, ref_pdu->type, pdu_offset);
   697		} else
   698			dev_err(queue->ctrl->ctrl.device,
   699				"queue %d c2h term, %s, pdu type %u\n",
   700				nvme_tcp_queue_id(queue), fes_desc, ref_pdu->type);
   701	
   702		return -ECONNRESET;
   703	}
   704	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-02-27 12:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-27 12:54 [hare-scsi-devel:tls-upcall.v2 157/159] drivers/nvme/host/tcp.c:659:3: sparse: sparse: symbol 'fes_status' was not declared. Should it be static? kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).