RE: [PATCH 4.4 06/28] cifs: Do not send echoes before Negotiate is complete

2017-05-25 Thread Pavel Shilovskiy
On Tu, May 9, 2017 6:01 PM, Pavel Shilovskiy wrote:
> On Tue, May 9, 2017 5:13 AM, Ben Hutchings wrote:
> > > commit 4fcd1813e640 ("Fix reconnect to not defer smb3 session 
> > > reconnect long after socket reconnect") added support for Negotiate 
> > > requests to be initiated by echo calls.
> > > 
> > > To avoid delays in calling echo after a reconnect, I added the patch 
> > > introduced by the commit b8c600120fc8 ("Call echo service 
> > > immediately after socket reconnect").
> > 
> > The second commit hasn't actually been applied to any stable branches (so 
> > this one didn't need to be).  Should it be?
> 
> Yes, 2nd commit hasn't been applied to stable branches, but the proposed fix 
> does the right thing anyway since it
> doesn't allow to call echo on connections before negotiate phase. The commit 
> b8c600120fc8 ("Call echo service 
> immediately after socket reconnect") just allows to trigger the wrong 
> behavior easily. So, I think it is better to have the 
> fix in stable branches.

The commit b8c600120fc8 ("Call echo service immediately after socket 
reconnect") does the right thing and fixes the problem with persistent handles 
reconnect, so, I suggest to take it to stable as well. I've just sent the 
backported version of the patch to stable@.

Best regards,
Pavel Shilovsky


RE: [PATCH 4.4 06/28] cifs: Do not send echoes before Negotiate is complete

2017-05-25 Thread Pavel Shilovskiy
On Tu, May 9, 2017 6:01 PM, Pavel Shilovskiy wrote:
> On Tue, May 9, 2017 5:13 AM, Ben Hutchings wrote:
> > > commit 4fcd1813e640 ("Fix reconnect to not defer smb3 session 
> > > reconnect long after socket reconnect") added support for Negotiate 
> > > requests to be initiated by echo calls.
> > > 
> > > To avoid delays in calling echo after a reconnect, I added the patch 
> > > introduced by the commit b8c600120fc8 ("Call echo service 
> > > immediately after socket reconnect").
> > 
> > The second commit hasn't actually been applied to any stable branches (so 
> > this one didn't need to be).  Should it be?
> 
> Yes, 2nd commit hasn't been applied to stable branches, but the proposed fix 
> does the right thing anyway since it
> doesn't allow to call echo on connections before negotiate phase. The commit 
> b8c600120fc8 ("Call echo service 
> immediately after socket reconnect") just allows to trigger the wrong 
> behavior easily. So, I think it is better to have the 
> fix in stable branches.

The commit b8c600120fc8 ("Call echo service immediately after socket 
reconnect") does the right thing and fixes the problem with persistent handles 
reconnect, so, I suggest to take it to stable as well. I've just sent the 
backported version of the patch to stable@.

Best regards,
Pavel Shilovsky


RE: [PATCH 4.4 06/28] cifs: Do not send echoes before Negotiate is complete

2017-05-09 Thread Pavel Shilovskiy
On Tue, May 9, 2017 5:13 AM, Ben Hutchings wrote:
> > commit 4fcd1813e640 ("Fix reconnect to not defer smb3 session 
> > reconnect long after socket reconnect") added support for Negotiate 
> > requests to be initiated by echo calls.
> > 
> > To avoid delays in calling echo after a reconnect, I added the patch 
> > introduced by the commit b8c600120fc8 ("Call echo service immediately 
> > after socket reconnect").
> 
> The second commit hasn't actually been applied to any stable branches (so 
> this one didn't need to be).  Should it be?

Yes, 2nd commit hasn't been applied to stable branches, but the proposed fix 
does the right thing anyway since it doesn't allow to call echo on connections 
before negotiate phase. The commit b8c600120fc8 ("Call echo service immediately 
after socket reconnect") just allows to trigger the wrong behavior easily. So, 
I think it is better to have the fix in stable branches.

Best regards,
Pavel Shilovsky


RE: [PATCH 4.4 06/28] cifs: Do not send echoes before Negotiate is complete

2017-05-09 Thread Pavel Shilovskiy
On Tue, May 9, 2017 5:13 AM, Ben Hutchings wrote:
> > commit 4fcd1813e640 ("Fix reconnect to not defer smb3 session 
> > reconnect long after socket reconnect") added support for Negotiate 
> > requests to be initiated by echo calls.
> > 
> > To avoid delays in calling echo after a reconnect, I added the patch 
> > introduced by the commit b8c600120fc8 ("Call echo service immediately 
> > after socket reconnect").
> 
> The second commit hasn't actually been applied to any stable branches (so 
> this one didn't need to be).  Should it be?

Yes, 2nd commit hasn't been applied to stable branches, but the proposed fix 
does the right thing anyway since it doesn't allow to call echo on connections 
before negotiate phase. The commit b8c600120fc8 ("Call echo service immediately 
after socket reconnect") just allows to trigger the wrong behavior easily. So, 
I think it is better to have the fix in stable branches.

Best regards,
Pavel Shilovsky


Re: [PATCH 4.4 06/28] cifs: Do not send echoes before Negotiate is complete

2017-05-09 Thread Ben Hutchings
On Tue, 2017-04-25 at 16:08 +0100, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.  If anyone has any objections, please let me know.
> 
> --
> 
> From: Sachin Prabhu 
> 
> commit 62a6cfddcc0a5313e7da3e8311ba16226fe0ac10 upstream.
> 
> commit 4fcd1813e640 ("Fix reconnect to not defer smb3 session reconnect
> long after socket reconnect") added support for Negotiate requests to
> be initiated by echo calls.
> 
> To avoid delays in calling echo after a reconnect, I added the patch
> introduced by the commit b8c600120fc8 ("Call echo service immediately
> after socket reconnect").

The second commit hasn't actually been applied to any stable branches
(so this one didn't need to be).  Should it be?

Ben.

> This has however caused a regression with cifs shares which do not have
> support for echo calls to trigger Negotiate requests. On connections
> which need to call Negotiation, the echo calls trigger an error which
> triggers a reconnect which in turn triggers another echo call. This
> results in a loop which is only broken when an operation is performed on
> the cifs share. For an idle share, it can DOS a server.
[...]

-- 
Ben Hutchings
Software Developer, Codethink Ltd.




Re: [PATCH 4.4 06/28] cifs: Do not send echoes before Negotiate is complete

2017-05-09 Thread Ben Hutchings
On Tue, 2017-04-25 at 16:08 +0100, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.  If anyone has any objections, please let me know.
> 
> --
> 
> From: Sachin Prabhu 
> 
> commit 62a6cfddcc0a5313e7da3e8311ba16226fe0ac10 upstream.
> 
> commit 4fcd1813e640 ("Fix reconnect to not defer smb3 session reconnect
> long after socket reconnect") added support for Negotiate requests to
> be initiated by echo calls.
> 
> To avoid delays in calling echo after a reconnect, I added the patch
> introduced by the commit b8c600120fc8 ("Call echo service immediately
> after socket reconnect").

The second commit hasn't actually been applied to any stable branches
(so this one didn't need to be).  Should it be?

Ben.

> This has however caused a regression with cifs shares which do not have
> support for echo calls to trigger Negotiate requests. On connections
> which need to call Negotiation, the echo calls trigger an error which
> triggers a reconnect which in turn triggers another echo call. This
> results in a loop which is only broken when an operation is performed on
> the cifs share. For an idle share, it can DOS a server.
[...]

-- 
Ben Hutchings
Software Developer, Codethink Ltd.