tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
pending-5.10
head: e3d89d0e410ff27d877acf10e021bc9b39dba75f
commit: 9f305ad1a00d0deaa2a04aa8fe06142314d973c8 [39/433] RDMA/rtrs: Change
MAX_SESS_QUEUE_DEPTH
config: mips-randconfig-r033-20210718 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
5d5b08761f944d5b9822d582378333cc4b36a0a7)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
#
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.10
git checkout 9f305ad1a00d0deaa2a04aa8fe06142314d973c8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> drivers/infiniband/ulp/rtrs/rtrs-clt.c:1725:19: warning: result
of comparison of constant 'MAX_SESS_QUEUE_DEPTH' (65536) with expression of type
'u16' (aka 'unsigned short') is always false
[-Wtautological-constant-out-of-range-compare]
if (queue_depth
> MAX_SESS_QUEUE_DEPTH) {
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +1725 drivers/infiniband/ulp/rtrs/rtrs-clt.c
6a98d71daea186 Jack Wang 2020-05-11 1689
6a98d71daea186 Jack Wang 2020-05-11 1690 static int
rtrs_rdma_conn_established(struct rtrs_clt_con *con,
6a98d71daea186 Jack Wang 2020-05-11 1691 struct rdma_cm_event *ev)
6a98d71daea186 Jack Wang 2020-05-11 1692 {
6a98d71daea186 Jack Wang 2020-05-11 1693 struct rtrs_clt_sess *sess =
to_clt_sess(con->c.sess);
6a98d71daea186 Jack Wang 2020-05-11 1694 struct rtrs_clt *clt = sess->clt;
6a98d71daea186 Jack Wang 2020-05-11 1695 const struct rtrs_msg_conn_rsp *msg;
6a98d71daea186 Jack Wang 2020-05-11 1696 u16 version, queue_depth;
6a98d71daea186 Jack Wang 2020-05-11 1697 int errno;
6a98d71daea186 Jack Wang 2020-05-11 1698 u8 len;
6a98d71daea186 Jack Wang 2020-05-11 1699
6a98d71daea186 Jack Wang 2020-05-11 1700 msg = ev->param.conn.private_data;
6a98d71daea186 Jack Wang 2020-05-11 1701 len =
ev->param.conn.private_data_len;
6a98d71daea186 Jack Wang 2020-05-11 1702 if (len < sizeof(*msg)) {
6a98d71daea186 Jack Wang 2020-05-11 1703 rtrs_err(clt, "Invalid RTRS
connection response\n");
6a98d71daea186 Jack Wang 2020-05-11 1704 return -ECONNRESET;
6a98d71daea186 Jack Wang 2020-05-11 1705 }
6a98d71daea186 Jack Wang 2020-05-11 1706 if (le16_to_cpu(msg->magic) !=
RTRS_MAGIC) {
6a98d71daea186 Jack Wang 2020-05-11 1707 rtrs_err(clt, "Invalid RTRS
magic\n");
6a98d71daea186 Jack Wang 2020-05-11 1708 return -ECONNRESET;
6a98d71daea186 Jack Wang 2020-05-11 1709 }
6a98d71daea186 Jack Wang 2020-05-11 1710 version = le16_to_cpu(msg->version);
6a98d71daea186 Jack Wang 2020-05-11 1711 if (version >> 8 !=
RTRS_PROTO_VER_MAJOR) {
6a98d71daea186 Jack Wang 2020-05-11 1712 rtrs_err(clt, "Unsupported major
RTRS version: %d, expected %d\n",
6a98d71daea186 Jack Wang 2020-05-11 1713 version >> 8,
RTRS_PROTO_VER_MAJOR);
6a98d71daea186 Jack Wang 2020-05-11 1714 return -ECONNRESET;
6a98d71daea186 Jack Wang 2020-05-11 1715 }
6a98d71daea186 Jack Wang 2020-05-11 1716 errno = le16_to_cpu(msg->errno);
6a98d71daea186 Jack Wang 2020-05-11 1717 if (errno) {
6a98d71daea186 Jack Wang 2020-05-11 1718 rtrs_err(clt, "Invalid RTRS
message: errno %d\n",
6a98d71daea186 Jack Wang 2020-05-11 1719 errno);
6a98d71daea186 Jack Wang 2020-05-11 1720 return -ECONNRESET;
6a98d71daea186 Jack Wang 2020-05-11 1721 }
6a98d71daea186 Jack Wang 2020-05-11 1722 if (con->c.cid == 0) {
6a98d71daea186 Jack Wang 2020-05-11 1723 queue_depth =
le16_to_cpu(msg->queue_depth);
6a98d71daea186 Jack Wang 2020-05-11 1724
6a98d71daea186 Jack Wang 2020-05-11 @1725 if (queue_depth >
MAX_SESS_QUEUE_DEPTH) {
6a98d71daea186 Jack Wang 2020-05-11 1726 rtrs_err(clt, "Invalid RTRS
message: queue=%d\n",
6a98d71daea186 Jack Wang 2020-05-11 1727 queue_depth);
6a98d71daea186 Jack Wang 2020-05-11 1728 return -ECONNRESET;
6a98d71daea186 Jack Wang 2020-05-11 1729 }
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1730 if (sess->queue_depth > 0
&& queue_depth != sess->queue_depth) {
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1731 rtrs_err(clt, "Error: queue depth
changed\n");
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1732
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1733 /*
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1734 * Stop any more reconnection attempts
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1735 */
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1736 sess->reconnect_attempts = -1;
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1737 rtrs_err(clt,
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1738 "Disabling auto-reconnect.
Trigger a manual reconnect after issue is resolved\n");
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1739 return -ECONNRESET;
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1740 }
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1741
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1742 if (!sess->rbufs) {
6a98d71daea186 Jack Wang 2020-05-11 1743 kfree(sess->rbufs);
6a98d71daea186 Jack Wang 2020-05-11 1744 sess->rbufs = kcalloc(queue_depth,
sizeof(*sess->rbufs),
6a98d71daea186 Jack Wang 2020-05-11 1745 GFP_KERNEL);
6a98d71daea186 Jack Wang 2020-05-11 1746 if (!sess->rbufs)
6a98d71daea186 Jack Wang 2020-05-11 1747 return -ENOMEM;
6a98d71daea186 Jack Wang 2020-05-11 1748 }
6a98d71daea186 Jack Wang 2020-05-11 1749 sess->queue_depth = queue_depth;
6a98d71daea186 Jack Wang 2020-05-11 1750 sess->max_hdr_size =
le32_to_cpu(msg->max_hdr_size);
6a98d71daea186 Jack Wang 2020-05-11 1751 sess->max_io_size =
le32_to_cpu(msg->max_io_size);
6a98d71daea186 Jack Wang 2020-05-11 1752 sess->flags =
le32_to_cpu(msg->flags);
6a98d71daea186 Jack Wang 2020-05-11 1753 sess->chunk_size =
sess->max_io_size + sess->max_hdr_size;
6a98d71daea186 Jack Wang 2020-05-11 1754
6a98d71daea186 Jack Wang 2020-05-11 1755 /*
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1756 * Global IO size is always a minimum.
6a98d71daea186 Jack Wang 2020-05-11 1757 * If while a reconnection server sends
us a value a bit
6a98d71daea186 Jack Wang 2020-05-11 1758 * higher - client does not care and
uses cached minimum.
6a98d71daea186 Jack Wang 2020-05-11 1759 *
6a98d71daea186 Jack Wang 2020-05-11 1760 * Since we can have several sessions
(paths) restablishing
6a98d71daea186 Jack Wang 2020-05-11 1761 * connections in parallel, use lock.
6a98d71daea186 Jack Wang 2020-05-11 1762 */
6a98d71daea186 Jack Wang 2020-05-11 1763 mutex_lock(&clt->paths_mutex);
6569ae1deb6c37 Md Haris Iqbal 2021-05-28 1764 clt->queue_depth =
sess->queue_depth;
6a98d71daea186 Jack Wang 2020-05-11 1765 clt->max_io_size =
min_not_zero(sess->max_io_size,
6a98d71daea186 Jack Wang 2020-05-11 1766 clt->max_io_size);
6a98d71daea186 Jack Wang 2020-05-11 1767 mutex_unlock(&clt->paths_mutex);
6a98d71daea186 Jack Wang 2020-05-11 1768
6a98d71daea186 Jack Wang 2020-05-11 1769 /*
6a98d71daea186 Jack Wang 2020-05-11 1770 * Cache the hca_port and hca_name for
sysfs
6a98d71daea186 Jack Wang 2020-05-11 1771 */
6a98d71daea186 Jack Wang 2020-05-11 1772 sess->hca_port =
con->c.cm_id->port_num;
6a98d71daea186 Jack Wang 2020-05-11 1773 scnprintf(sess->hca_name,
sizeof(sess->hca_name),
6a98d71daea186 Jack Wang 2020-05-11 1774 sess->s.dev->ib_dev->name);
6a98d71daea186 Jack Wang 2020-05-11 1775 sess->s.src_addr =
con->c.cm_id->route.addr.src_addr;
c6f81f3a9c40b0 Md Haris Iqbal 2021-02-12 1776 /* set for_new_clt, to allow future
reconnect on any path */
c6f81f3a9c40b0 Md Haris Iqbal 2021-02-12 1777 sess->for_new_clt = 1;
6a98d71daea186 Jack Wang 2020-05-11 1778 }
6a98d71daea186 Jack Wang 2020-05-11 1779
6a98d71daea186 Jack Wang 2020-05-11 1780 return 0;
6a98d71daea186 Jack Wang 2020-05-11 1781 }
6a98d71daea186 Jack Wang 2020-05-11 1782
:::::: The code at line 1725 was first introduced by commit
:::::: 6a98d71daea186247005099758af549e6afdd244 RDMA/rtrs: client: main functionality
:::::: TO: Jack Wang <jinpu.wang(a)cloud.ionos.com>
:::::: CC: Jason Gunthorpe <jgg(a)mellanox.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org