[cifs-protocol] 119100224002125 SMB3 LockSequence

Edgar Olougouna edgaro at microsoft.com
Wed Oct 2 15:29:29 UTC 2019


Metze,
It was great meeting the team and working with you, once more. Thank you for reaching out this SMB3 LockSequence topic. Following our conversations in Redmond, I have looked into this a bit further. I will follow-up soon. I took note of the two things you are asking about.

Regards,
Edgar

-----Original Message-----
From: Sreekanth Nadendla <srenaden at microsoft.com> 
Sent: Wednesday, October 2, 2019 9:33 AM
To: Stefan Metzmacher <metze at samba.org>; cifs-protocol at lists.samba.org
Cc: support <support at mail.support.microsoft.com>
Subject: 119100224002125 SMB3 LockSequence

Dochelp in Bcc
Casemail in Cc

Hello Stefan, thank you for your inquiry about MS-SMB2 specification. We have created incident 119100224002125 to investigate this issue. 

Regards,
Sreekanth Nadendla
Microsoft Windows Open Specifications

-----Original Message-----
From: Stefan Metzmacher <metze at samba.org> 
Sent: Wednesday, October 2, 2019 10:19 AM
To: Interoperability Documentation Help <dochelp at microsoft.com>; Edgar Olougouna <edgaro at microsoft.com>; cifs-protocol at lists.samba.org
Subject: SMB3 LockSequence

Hi Edgar,

we discussed the topic in Redmond...

Even Windows Server 2019 only implements lock sequence checking only for resilient and persistent handles as a server.
While its client side uses lock sequence checking if it negotiated multichannel with the server.

 [MS-SMB2] 3.3.5.14 Receiving an SMB2 LOCK Request

 ...

 If the LockSequence value in the SMB2 LOCK Request (section 2.2.26) is  not zero, and either one of the following conditions is TRUE, the  server SHOULD verify whether the lock/unlock request with that  LockSequence value has been successfully processed before:
 * Connection.Dialect is "2.1" and Open.IsResilient is TRUE.
 * Connection.Dialect belongs to the SMB 3.x dialect family.<318>

 ...

 <318> Section 3.3.5.14: Windows 8, Windows Server 2012, Windows 8.1,
       and Windows Server 2012 R2 do not verify the LockSequence value
       in the SMB2 LOCK Request (section 2.2.26) when both
       Open.IsResilient and Open.IsPersistent are FALSE.

Note <318> also applies to Windows Server 2016 and 2019 (any current version).

It would be great if the documentation can be adjusted.

But the more important question would be that the Windows Server behavior will be changed to just use the SMB 3.x dialect to turn the LockSequence checking on.
Would it be possible to get a commitment from Microsoft that this will be fixed in future releases?
Backports would also be nice.

Thanks!
metze



More information about the cifs-protocol mailing list