cifsd: Do not use 0 or 0xFFFFFFFF for TreeID
authorMarios Makassikis <mmakassikis@freebox.fr>
Tue, 18 May 2021 01:29:25 +0000 (10:29 +0900)
committerNamjae Jeon <namjae.jeon@samsung.com>
Tue, 18 May 2021 01:31:03 +0000 (10:31 +0900)
commit8602c3e2ceef5f50f5718e8442a8ea17530101b4
tree5a44fcb506fa1d4279a976b4f0f4e338284d28e8
parent50bf80a553ccb5eca0bc2426e5a082eaf65cb602
cifsd: Do not use 0 or 0xFFFFFFFF for TreeID

Returning TreeID=0 is valid behaviour according to [MS-SMB2] 2.2.1.2:

  TreeId (4 bytes): Uniquely identifies the tree connect for the command.
  This MUST be 0 for the SMB2 TREE_CONNECT Request. The TreeId can be
  any unsigned 32-bit integer that is received from a previous
  SMB2 TREE_CONNECT Response. TreeId SHOULD be set to 0 for the
  following commands:
   [...]

However, some client implementations reject it as invalid. Windows10
assigns ids starting from 1, and samba4 returns a random uint32_t
which suggests there may be other clients that consider it is
invalid behaviour.

Signed-off-by: Marios Makassikis <mmakassikis@freebox.fr>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifsd/mgmt/ksmbd_ida.c