stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* FAILED: patch "[PATCH] CIFS: remove bad_network_name flag" failed to apply to 4.10-stable tree
@ 2017-04-18 12:24 gregkh
  2017-04-19 17:43 ` Germano Percossi
  2017-04-19 17:43 ` [PATCH] CIFS: remove bad_network_name flag Germano Percossi
  0 siblings, 2 replies; 4+ messages in thread
From: gregkh @ 2017-04-18 12:24 UTC (permalink / raw)
  To: germano.percossi, pshilov, smfrench, stable; +Cc: stable


The patch below does not apply to the 4.10-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

>From a0918f1ce6a43ac980b42b300ec443c154970979 Mon Sep 17 00:00:00 2001
From: Germano Percossi <germano.percossi@citrix.com>
Date: Fri, 7 Apr 2017 12:29:37 +0100
Subject: [PATCH] CIFS: remove bad_network_name flag

STATUS_BAD_NETWORK_NAME can be received during node failover,
causing the flag to be set and making the reconnect thread
always unsuccessful, thereafter.

Once the only place where it is set is removed, the remaining
bits are rendered moot.

Removing it does not prevent "mount" from failing when a non
existent share is passed.

What happens when the share really ceases to exist while the
share is mounted is undefined now as much as it was before.

Signed-off-by: Germano Percossi <germano.percossi@citrix.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Steve French <smfrench@gmail.com>

diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index d07f13a63369..37f5a41cc50c 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -948,7 +948,6 @@ struct cifs_tcon {
 	bool use_persistent:1; /* use persistent instead of durable handles */
 #ifdef CONFIG_CIFS_SMB2
 	bool print:1;		/* set if connection to printer share */
-	bool bad_network_name:1; /* set if ret status STATUS_BAD_NETWORK_NAME */
 	__le32 capabilities;
 	__u32 share_flags;
 	__u32 maximal_access;
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
index d09e98bb8584..1bd5d3033fc8 100644
--- a/fs/cifs/smb2pdu.c
+++ b/fs/cifs/smb2pdu.c
@@ -1171,9 +1171,6 @@ SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree,
 	else
 		return -EIO;
 
-	if (tcon && tcon->bad_network_name)
-		return -ENOENT;
-
 	unc_path = kmalloc(MAX_SHARENAME_LENGTH * 2, GFP_KERNEL);
 	if (unc_path == NULL)
 		return -ENOMEM;
@@ -1277,8 +1274,6 @@ SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree,
 tcon_error_exit:
 	if (rsp->hdr.sync_hdr.Status == STATUS_BAD_NETWORK_NAME) {
 		cifs_dbg(VFS, "BAD_NETWORK_NAME: %s\n", tree);
-		if (tcon)
-			tcon->bad_network_name = true;
 	}
 	goto tcon_exit;
 }

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* FAILED: patch "[PATCH] CIFS: remove bad_network_name flag" failed to apply to 4.10-stable tree
  2017-04-18 12:24 FAILED: patch "[PATCH] CIFS: remove bad_network_name flag" failed to apply to 4.10-stable tree gregkh
@ 2017-04-19 17:43 ` Germano Percossi
  2017-04-21  8:38   ` Greg KH
  2017-04-19 17:43 ` [PATCH] CIFS: remove bad_network_name flag Germano Percossi
  1 sibling, 1 reply; 4+ messages in thread
From: Germano Percossi @ 2017-04-19 17:43 UTC (permalink / raw)
  To: stable, gregkh; +Cc: pshilov, smfrench, germano.percossi

This is the backport of the original patch that did not apply cleanly.

It works for 4.10-stable, 4.9-stable and 4.4-stable.

Hope I sent it in the right format

Germano

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] CIFS: remove bad_network_name flag
  2017-04-18 12:24 FAILED: patch "[PATCH] CIFS: remove bad_network_name flag" failed to apply to 4.10-stable tree gregkh
  2017-04-19 17:43 ` Germano Percossi
@ 2017-04-19 17:43 ` Germano Percossi
  1 sibling, 0 replies; 4+ messages in thread
From: Germano Percossi @ 2017-04-19 17:43 UTC (permalink / raw)
  To: stable, gregkh; +Cc: pshilov, smfrench, germano.percossi

commit a0918f1ce6a43ac980b42b300ec443c154970979 upstream

STATUS_BAD_NETWORK_NAME can be received during node failover,
causing the flag to be set and making the reconnect thread
always unsuccessful, thereafter.

Once the only place where it is set is removed, the remaining
bits are rendered moot.

Removing it does not prevent "mount" from failing when a non
existent share is passed.

What happens when the share really ceases to exist while the
share is mounted is undefined now as much as it was before.

Signed-off-by: Germano Percossi <germano.percossi@citrix.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Steve French <smfrench@gmail.com>
---
 fs/cifs/cifsglob.h | 1 -
 fs/cifs/smb2pdu.c  | 5 -----
 2 files changed, 6 deletions(-)

diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 7ea8a33..54a7d07 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -933,7 +933,6 @@ struct cifs_tcon {
 	bool use_persistent:1; /* use persistent instead of durable handles */
 #ifdef CONFIG_CIFS_SMB2
 	bool print:1;		/* set if connection to printer share */
-	bool bad_network_name:1; /* set if ret status STATUS_BAD_NETWORK_NAME */
 	__le32 capabilities;
 	__u32 share_flags;
 	__u32 maximal_access;
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
index bdd3292..2f9bcb0 100644
--- a/fs/cifs/smb2pdu.c
+++ b/fs/cifs/smb2pdu.c
@@ -1084,9 +1084,6 @@ SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree,
 	else
 		return -EIO;
 
-	if (tcon && tcon->bad_network_name)
-		return -ENOENT;
-
 	if ((tcon && tcon->seal) &&
 	    ((ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION) == 0)) {
 		cifs_dbg(VFS, "encryption requested but no server support");
@@ -1188,8 +1185,6 @@ SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree,
 tcon_error_exit:
 	if (rsp->hdr.Status == STATUS_BAD_NETWORK_NAME) {
 		cifs_dbg(VFS, "BAD_NETWORK_NAME: %s\n", tree);
-		if (tcon)
-			tcon->bad_network_name = true;
 	}
 	goto tcon_exit;
 }
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: FAILED: patch "[PATCH] CIFS: remove bad_network_name flag" failed to apply to 4.10-stable tree
  2017-04-19 17:43 ` Germano Percossi
@ 2017-04-21  8:38   ` Greg KH
  0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2017-04-21  8:38 UTC (permalink / raw)
  To: Germano Percossi; +Cc: stable, pshilov, smfrench

On Wed, Apr 19, 2017 at 06:43:30PM +0100, Germano Percossi wrote:
> This is the backport of the original patch that did not apply cleanly.
> 
> It works for 4.10-stable, 4.9-stable and 4.4-stable.
> 
> Hope I sent it in the right format

That worked, thanks!

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-04-21  8:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-18 12:24 FAILED: patch "[PATCH] CIFS: remove bad_network_name flag" failed to apply to 4.10-stable tree gregkh
2017-04-19 17:43 ` Germano Percossi
2017-04-21  8:38   ` Greg KH
2017-04-19 17:43 ` [PATCH] CIFS: remove bad_network_name flag Germano Percossi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).