Blob Blame History Raw
From: Shyam Prasad N <sprasad@microsoft.com>
Date: Mon, 19 Jul 2021 14:04:11 +0000
Subject: [PATCH] cifs: add WARN_ON for when chan_count goes below minimum
Git-commit: 2e0fa298d149e07005504350358066f380f72b52
References: bsc#1193629
Patch-mainline: v5.16

chan_count keeps track of the total number of channels.
Since at least the primary channel will always be connected,
this value can never go below 1. Warn if that happens.

Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Acked-by: Enzo Matsumiya <ematsumiya@suse.de>
---
 fs/cifs/sess.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c
index b121a2591e69..61fc8cb1ec8f 100644
--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -347,6 +347,11 @@ cifs_ses_add_channel(struct cifs_sb_info *cifs_sb, struct cifs_ses *ses,
 		/* we rely on all bits beyond chan_count to be clear */
 		cifs_chan_clear_need_reconnect(ses, chan->server);
 		ses->chan_count--;
+		/*
+		 * chan_count should never reach 0 as at least the primary
+		 * channel is always allocated
+		 */
+		WARN_ON(ses->chan_count < 1);
 		spin_unlock(&ses->chan_lock);
 	}
 
-- 
2.36.1