Commit 241f5987 authored by Xiang Zhang's avatar Xiang Zhang Committed by Wen Zhiwei
Browse files

scsi: iscsi: Fix redundant response for ISCSI_UEVENT_GET_HOST_STATS request

stable inclusion
from stable-v6.6.75
commit 44c485f0fcb254b07ba9d04a70089c78faae222c
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBSPQB

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



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

[ Upstream commit 63ca02221cc5aa0731fe2b0cc28158aaa4b84982 ]

The ISCSI_UEVENT_GET_HOST_STATS request is already handled in
iscsi_get_host_stats(). This fix ensures that redundant responses are
skipped in iscsi_if_rx().

 - On success: send reply and stats from iscsi_get_host_stats()
   within if_recv_msg().

 - On error: fall through.

Signed-off-by: default avatarXiang Zhang <hawkxiang.cpp@gmail.com>
Link: https://lore.kernel.org/r/20250107022432.65390-1-hawkxiang.cpp@gmail.com


Reviewed-by: default avatarMike Christie <michael.christie@oracle.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarWen Zhiwei <wenzhiwei@kylinos.cn>
parent 139abf8b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -4103,7 +4103,7 @@ iscsi_if_rx(struct sk_buff *skb)
		}
		do {
			/*
			 * special case for GET_STATS:
			 * special case for GET_STATS, GET_CHAP and GET_HOST_STATS:
			 * on success - sending reply and stats from
			 * inside of if_recv_msg(),
			 * on error - fall through.
@@ -4112,6 +4112,8 @@ iscsi_if_rx(struct sk_buff *skb)
				break;
			if (ev->type == ISCSI_UEVENT_GET_CHAP && !err)
				break;
			if (ev->type == ISCSI_UEVENT_GET_HOST_STATS && !err)
				break;
			err = iscsi_if_send_reply(portid, nlh->nlmsg_type,
						  ev, sizeof(*ev));
			if (err == -EAGAIN && --retries < 0) {