Commit edf5f054 authored by Jakob Koschel's avatar Jakob Koschel Committed by Steve French
Browse files

ksmbd: replace usage of found with dedicated list iterator variable

To move the list iterator variable into the list_for_each_entry_*()
macro in the future it should be avoided to use the list iterator
variable after the loop body.

To *never* use the list iterator variable after the loop it was
concluded to use a separate iterator variable instead of a
found boolean [1].

This removes the need to use a found variable and simply checking if
the variable was set, can determine if the break/goto was hit.

Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/


Signed-off-by: default avatarJakob Koschel <jakobkoschel@gmail.com>
Reviewed-by: default avatarHyunchul Lee <hyc.lee@gmail.com>
Acked-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 56b401fb
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -6618,8 +6618,7 @@ int smb2_cancel(struct ksmbd_work *work)
	struct ksmbd_conn *conn = work->conn;
	struct smb2_hdr *hdr = smb2_get_msg(work->request_buf);
	struct smb2_hdr *chdr;
	struct ksmbd_work *cancel_work = NULL;
	int canceled = 0;
	struct ksmbd_work *cancel_work = NULL, *iter;
	struct list_head *command_list;

	ksmbd_debug(SMB, "smb2 cancel called on mid %llu, async flags 0x%x\n",
@@ -6629,11 +6628,11 @@ int smb2_cancel(struct ksmbd_work *work)
		command_list = &conn->async_requests;

		spin_lock(&conn->request_lock);
		list_for_each_entry(cancel_work, command_list,
		list_for_each_entry(iter, command_list,
				    async_request_entry) {
			chdr = smb2_get_msg(cancel_work->request_buf);
			chdr = smb2_get_msg(iter->request_buf);

			if (cancel_work->async_id !=
			if (iter->async_id !=
			    le64_to_cpu(hdr->Id.AsyncId))
				continue;

@@ -6641,7 +6640,7 @@ int smb2_cancel(struct ksmbd_work *work)
				    "smb2 with AsyncId %llu cancelled command = 0x%x\n",
				    le64_to_cpu(hdr->Id.AsyncId),
				    le16_to_cpu(chdr->Command));
			canceled = 1;
			cancel_work = iter;
			break;
		}
		spin_unlock(&conn->request_lock);
@@ -6649,24 +6648,24 @@ int smb2_cancel(struct ksmbd_work *work)
		command_list = &conn->requests;

		spin_lock(&conn->request_lock);
		list_for_each_entry(cancel_work, command_list, request_entry) {
			chdr = smb2_get_msg(cancel_work->request_buf);
		list_for_each_entry(iter, command_list, request_entry) {
			chdr = smb2_get_msg(iter->request_buf);

			if (chdr->MessageId != hdr->MessageId ||
			    cancel_work == work)
			    iter == work)
				continue;

			ksmbd_debug(SMB,
				    "smb2 with mid %llu cancelled command = 0x%x\n",
				    le64_to_cpu(hdr->MessageId),
				    le16_to_cpu(chdr->Command));
			canceled = 1;
			cancel_work = iter;
			break;
		}
		spin_unlock(&conn->request_lock);
	}

	if (canceled) {
	if (cancel_work) {
		cancel_work->state = KSMBD_WORK_CANCELLED;
		if (cancel_work->cancel_fn)
			cancel_work->cancel_fn(cancel_work->cancel_argv);