Commit ce843bd9 authored by Jack Wang's avatar Jack Wang Committed by Zheng Zengkai
Browse files

RDMA/rtrs: Avoid Wtautological-constant-out-of-range-compare

stable inclusion
from stable-v5.10.137
commit 50a249ad1db7330d1ee2d728091f8046835f541d
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I60PLB

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=50a249ad1db7330d1ee2d728091f8046835f541d

--------------------------------

[ Upstream commit 0e855847 ]

drivers/infiniband/ulp/rtrs/rtrs-clt.c:1786: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]

To fix it, limit MAX_SESS_QUEUE_DEPTH to u16 max, which is 65535, and
drop the check in rtrs-clt, as it's the type u16 max.

Link: https://lore.kernel.org/r/20210531122835.58329-1-jinpu.wang@ionos.com


Signed-off-by: default avatarJack Wang <jinpu.wang@ionos.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
Reviewed-by: default avatarWei Li <liwei391@huawei.com>
parent 893351be
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -1728,11 +1728,6 @@ static int rtrs_rdma_conn_established(struct rtrs_clt_con *con,
	if (con->c.cid == 0) {
		queue_depth = le16_to_cpu(msg->queue_depth);

		if (queue_depth > MAX_SESS_QUEUE_DEPTH) {
			rtrs_err(clt, "Invalid RTRS message: queue=%d\n",
				  queue_depth);
			return -ECONNRESET;
		}
		if (sess->queue_depth > 0 && queue_depth != sess->queue_depth) {
			rtrs_err(clt, "Error: queue depth changed\n");

+2 −2
Original line number Diff line number Diff line
@@ -53,9 +53,9 @@ enum {
	 * But mempool_create, create_qp and ib_post_send fail with
	 * "cannot allocate memory" error if sess_queue_depth is too big.
	 * Therefore the pratical max value of sess_queue_depth is
	 * somewhere between 1 and 65536 and it depends on the system.
	 * somewhere between 1 and 65534 and it depends on the system.
	 */
	MAX_SESS_QUEUE_DEPTH = 65536,
	MAX_SESS_QUEUE_DEPTH = 65535,
	MIN_CHUNK_SIZE = 8192,

	RTRS_HB_INTERVAL_MS = 5000,