From: Rajasi Mandal Date: Mon, 22 Sep 2025 08:24:16 +0000 (+0000) Subject: cifs: client: force multichannel=off when max_channels=1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=37e263e68c5e27d5f1fbc1377f64f9373dc5bf15;p=thirdparty%2Fkernel%2Fstable.git cifs: client: force multichannel=off when max_channels=1 Previously, specifying both multichannel and max_channels=1 as mount options would leave multichannel enabled, even though it is not meaningful when only one channel is allowed. This led to confusion and inconsistent behavior, as the client would advertise multichannel capability but never establish secondary channels. Fix this by forcing multichannel to false whenever max_channels=1, ensuring the mount configuration is consistent and matches user intent. This prevents the client from advertising or attempting multichannel support when it is not possible. Signed-off-by: Rajasi Mandal Signed-off-by: Steve French --- diff --git a/fs/smb/client/fs_context.c b/fs/smb/client/fs_context.c index 072383899e81..43552b44f613 100644 --- a/fs/smb/client/fs_context.c +++ b/fs/smb/client/fs_context.c @@ -1820,6 +1820,13 @@ static int smb3_fs_context_parse_param(struct fs_context *fc, goto cifs_parse_mount_err; } + /* + * Multichannel is not meaningful if max_channels is 1. + * Force multichannel to false to ensure consistent configuration. + */ + if (ctx->multichannel && ctx->max_channels == 1) + ctx->multichannel = false; + return 0; cifs_parse_mount_err: