All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Rohit Chavan <roheetchavan@gmail.com>,
	kbusch@kernel.org, axboe@kernel.dk, hch@lst.de, sagi@grimberg.me
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org,
	Rohit Chavan <roheetchavan@gmail.com>
Subject: Re: [PATCH] nvme: use str_enabled_disabled() for digest mismatch messages
Date: Fri, 15 May 2026 05:25:18 +0800	[thread overview]
Message-ID: <202605150537.AqXMjMVu-lkp@intel.com> (raw)
In-Reply-To: <20260504123555.1741525-1-roheetchavan@gmail.com>

Hi Rohit,

kernel test robot noticed the following build errors:

[auto build test ERROR on axboe/for-next]
[also build test ERROR on linus/master v7.1-rc3 next-20260508]
[cannot apply to linux-nvme/for-next hch-configfs/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Rohit-Chavan/nvme-use-str_enabled_disabled-for-digest-mismatch-messages/20260514-220734
base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git for-next
patch link:    https://lore.kernel.org/r/20260504123555.1741525-1-roheetchavan%40gmail.com
patch subject: [PATCH] nvme: use str_enabled_disabled() for digest mismatch messages
config: powerpc64-randconfig-002-20260515 (https://download.01.org/0day-ci/archive/20260515/202605150537.AqXMjMVu-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 5bac06718f502014fade905512f1d26d578a18f3)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260515/202605150537.AqXMjMVu-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605150537.AqXMjMVu-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/nvme/host/tcp.c:1576:3: error: unterminated function-like macro invocation
    1576 |                 pr_err("queue %d: header digest mismatch host: %s ctrl: %s\n",
         |                 ^
   include/linux/printk.h:553:9: note: macro 'pr_err' defined here
     553 | #define pr_err(fmt, ...) \
         |         ^
>> drivers/nvme/host/tcp.c:3089:26: error: expected '}'
    3089 | MODULE_ALIAS("nvme-tcp");
         |                          ^
   drivers/nvme/host/tcp.c:1575:42: note: to match this '{'
    1575 |             (!queue->hdr_digest && ctrl_hdgst)) {
         |                                                 ^
>> drivers/nvme/host/tcp.c:3089:26: error: expected '}'
    3089 | MODULE_ALIAS("nvme-tcp");
         |                          ^
   drivers/nvme/host/tcp.c:1475:1: note: to match this '{'
    1475 | {
         | ^
>> drivers/nvme/host/tcp.c:1493:8: error: use of undeclared label 'free_icreq'
    1493 |                 goto free_icreq;
         |                      ^
>> drivers/nvme/host/tcp.c:1514:8: error: use of undeclared label 'free_icresp'
    1514 |                 goto free_icresp;
         |                      ^
   5 errors generated.


vim +1576 drivers/nvme/host/tcp.c

3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1473  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1474  static int nvme_tcp_init_connection(struct nvme_tcp_queue *queue)
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1475  {
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1476  	struct nvme_tcp_icreq_pdu *icreq;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1477  	struct nvme_tcp_icresp_pdu *icresp;
2837966ab2a8117 Hannes Reinecke     2023-08-24  1478  	char cbuf[CMSG_LEN(sizeof(char))] = {};
2837966ab2a8117 Hannes Reinecke     2023-08-24  1479  	u8 ctype;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1480  	struct msghdr msg = {};
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1481  	struct kvec iov;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1482  	bool ctrl_hdgst, ctrl_ddgst;
c2700d2886a87f8 Varun Prakash       2022-01-22  1483  	u32 maxh2cdata;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1484  	int ret;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1485  
bf4afc53b77aeaa Linus Torvalds      2026-02-21  1486  	icreq = kzalloc_obj(*icreq);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1487  	if (!icreq)
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1488  		return -ENOMEM;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1489  
bf4afc53b77aeaa Linus Torvalds      2026-02-21  1490  	icresp = kzalloc_obj(*icresp);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1491  	if (!icresp) {
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1492  		ret = -ENOMEM;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03 @1493  		goto free_icreq;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1494  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1495  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1496  	icreq->hdr.type = nvme_tcp_icreq;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1497  	icreq->hdr.hlen = sizeof(*icreq);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1498  	icreq->hdr.pdo = 0;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1499  	icreq->hdr.plen = cpu_to_le32(icreq->hdr.hlen);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1500  	icreq->pfv = cpu_to_le16(NVME_TCP_PFV_1_0);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1501  	icreq->maxr2t = 0; /* single inflight r2t supported */
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1502  	icreq->hpda = 0; /* no alignment constraint */
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1503  	if (queue->hdr_digest)
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1504  		icreq->digest |= NVME_TCP_HDR_DIGEST_ENABLE;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1505  	if (queue->data_digest)
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1506  		icreq->digest |= NVME_TCP_DATA_DIGEST_ENABLE;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1507  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1508  	iov.iov_base = icreq;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1509  	iov.iov_len = sizeof(*icreq);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1510  	ret = kernel_sendmsg(queue->sock, &msg, &iov, 1, iov.iov_len);
e4f4aabb6f66177 Hannes Reinecke     2023-08-24  1511  	if (ret < 0) {
e4f4aabb6f66177 Hannes Reinecke     2023-08-24  1512  		pr_warn("queue %d: failed to send icreq, error %d\n",
e4f4aabb6f66177 Hannes Reinecke     2023-08-24  1513  			nvme_tcp_queue_id(queue), ret);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03 @1514  		goto free_icresp;
e4f4aabb6f66177 Hannes Reinecke     2023-08-24  1515  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1516  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1517  	memset(&msg, 0, sizeof(msg));
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1518  	iov.iov_base = icresp;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1519  	iov.iov_len = sizeof(*icresp);
363895767fbfa05 Hannes Reinecke     2024-07-22  1520  	if (nvme_tcp_queue_tls(queue)) {
2837966ab2a8117 Hannes Reinecke     2023-08-24  1521  		msg.msg_control = cbuf;
2837966ab2a8117 Hannes Reinecke     2023-08-24  1522  		msg.msg_controllen = sizeof(cbuf);
2837966ab2a8117 Hannes Reinecke     2023-08-24  1523  	}
578539e0969028f Caleb Sander Mateos 2025-01-24  1524  	msg.msg_flags = MSG_WAITALL;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1525  	ret = kernel_recvmsg(queue->sock, &msg, &iov, 1,
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1526  			iov.iov_len, msg.msg_flags);
528361c49962708 Dan Carpenter       2025-03-05  1527  	if (ret >= 0 && ret < sizeof(*icresp))
528361c49962708 Dan Carpenter       2025-03-05  1528  		ret = -ECONNRESET;
528361c49962708 Dan Carpenter       2025-03-05  1529  	if (ret < 0) {
e4f4aabb6f66177 Hannes Reinecke     2023-08-24  1530  		pr_warn("queue %d: failed to receive icresp, error %d\n",
e4f4aabb6f66177 Hannes Reinecke     2023-08-24  1531  			nvme_tcp_queue_id(queue), ret);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1532  		goto free_icresp;
e4f4aabb6f66177 Hannes Reinecke     2023-08-24  1533  	}
0e32fdd7968eb9a Christophe JAILLET  2023-10-30  1534  	ret = -ENOTCONN;
363895767fbfa05 Hannes Reinecke     2024-07-22  1535  	if (nvme_tcp_queue_tls(queue)) {
2837966ab2a8117 Hannes Reinecke     2023-08-24  1536  		ctype = tls_get_record_type(queue->sock->sk,
2837966ab2a8117 Hannes Reinecke     2023-08-24  1537  					    (struct cmsghdr *)cbuf);
2837966ab2a8117 Hannes Reinecke     2023-08-24  1538  		if (ctype != TLS_RECORD_TYPE_DATA) {
2837966ab2a8117 Hannes Reinecke     2023-08-24  1539  			pr_err("queue %d: unhandled TLS record %d\n",
2837966ab2a8117 Hannes Reinecke     2023-08-24  1540  			       nvme_tcp_queue_id(queue), ctype);
0e32fdd7968eb9a Christophe JAILLET  2023-10-30  1541  			goto free_icresp;
2837966ab2a8117 Hannes Reinecke     2023-08-24  1542  		}
2837966ab2a8117 Hannes Reinecke     2023-08-24  1543  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1544  	ret = -EINVAL;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1545  	if (icresp->hdr.type != nvme_tcp_icresp) {
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1546  		pr_err("queue %d: bad type returned %d\n",
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1547  			nvme_tcp_queue_id(queue), icresp->hdr.type);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1548  		goto free_icresp;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1549  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1550  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1551  	if (le32_to_cpu(icresp->hdr.plen) != sizeof(*icresp)) {
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1552  		pr_err("queue %d: bad pdu length returned %d\n",
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1553  			nvme_tcp_queue_id(queue), icresp->hdr.plen);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1554  		goto free_icresp;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1555  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1556  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1557  	if (icresp->pfv != NVME_TCP_PFV_1_0) {
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1558  		pr_err("queue %d: bad pfv returned %d\n",
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1559  			nvme_tcp_queue_id(queue), icresp->pfv);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1560  		goto free_icresp;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1561  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1562  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1563  	ctrl_ddgst = !!(icresp->digest & NVME_TCP_DATA_DIGEST_ENABLE);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1564  	if ((queue->data_digest && !ctrl_ddgst) ||
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1565  	    (!queue->data_digest && ctrl_ddgst)) {
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1566  		pr_err("queue %d: data digest mismatch host: %s ctrl: %s\n",
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1567  			nvme_tcp_queue_id(queue),
7a36402bd09e72c Rohit Chavan        2026-05-04  1568  			str_enabled_disabled(queue->data_digest),
7a36402bd09e72c Rohit Chavan        2026-05-04  1569  			str_enabled_disabled(ctrl_ddgst));
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1570  		goto free_icresp;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1571  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1572  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1573  	ctrl_hdgst = !!(icresp->digest & NVME_TCP_HDR_DIGEST_ENABLE);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1574  	if ((queue->hdr_digest && !ctrl_hdgst) ||
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03 @1575  	    (!queue->hdr_digest && ctrl_hdgst)) {
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03 @1576  		pr_err("queue %d: header digest mismatch host: %s ctrl: %s\n",
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1577  			nvme_tcp_queue_id(queue),
7a36402bd09e72c Rohit Chavan        2026-05-04  1578  			str_enabled_disabled(queue->hdr_digest),
7a36402bd09e72c Rohit Chavan        2026-05-04  1579  			str_enabled_disabled(ctrl_hdgst);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1580  		goto free_icresp;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1581  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1582  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1583  	if (icresp->cpda != 0) {
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1584  		pr_err("queue %d: unsupported cpda returned %d\n",
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1585  			nvme_tcp_queue_id(queue), icresp->cpda);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1586  		goto free_icresp;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1587  	}
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1588  
c2700d2886a87f8 Varun Prakash       2022-01-22  1589  	maxh2cdata = le32_to_cpu(icresp->maxdata);
c2700d2886a87f8 Varun Prakash       2022-01-22  1590  	if ((maxh2cdata % 4) || (maxh2cdata < NVME_TCP_MIN_MAXH2CDATA)) {
c2700d2886a87f8 Varun Prakash       2022-01-22  1591  		pr_err("queue %d: invalid maxh2cdata returned %u\n",
c2700d2886a87f8 Varun Prakash       2022-01-22  1592  		       nvme_tcp_queue_id(queue), maxh2cdata);
c2700d2886a87f8 Varun Prakash       2022-01-22  1593  		goto free_icresp;
c2700d2886a87f8 Varun Prakash       2022-01-22  1594  	}
c2700d2886a87f8 Varun Prakash       2022-01-22  1595  	queue->maxh2cdata = maxh2cdata;
c2700d2886a87f8 Varun Prakash       2022-01-22  1596  
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1597  	ret = 0;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1598  free_icresp:
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1599  	kfree(icresp);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1600  free_icreq:
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1601  	kfree(icreq);
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1602  	return ret;
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1603  }
3f2304f8c6d6ed9 Sagi Grimberg       2018-12-03  1604  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      parent reply	other threads:[~2026-05-14 21:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-04 12:35 [PATCH] nvme: use str_enabled_disabled() for digest mismatch messages Rohit Chavan
2026-05-07  5:32 ` Christoph Hellwig
2026-05-08  9:47   ` Rohit Chavan
2026-05-11  8:14     ` Christoph Hellwig
2026-05-14 20:21 ` kernel test robot
2026-05-14 20:42 ` kernel test robot
2026-05-14 21:25 ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202605150537.AqXMjMVu-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=roheetchavan@gmail.com \
    --cc=sagi@grimberg.me \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.