]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ksmbd: normalize ungrantable lease states
authorNamjae Jeon <linkinjeon@kernel.org>
Sun, 21 Jun 2026 10:50:12 +0000 (19:50 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 23 Jun 2026 01:15:06 +0000 (20:15 -0500)
commit43f21349427dc964bfc7aa450e7e560f292698bb
treeba78f1ab984c77b8d1145c9ab099efa1936b6468
parent854b4f8f80f879aceead300028faeda8c90b4b91
ksmbd: normalize ungrantable lease states

smb2.lease.request verifies which SMB2 lease state combinations are granted
by the server.  Requests for H-only, W-only, and HW leases are valid lease
state bitmasks, but they are not grantable combinations and should be
returned as lease state none.

ksmbd only checked that the requested bits were inside the SMB2 lease state
mask.  As a result it could grant H-only, W-only, or HW requests and return
non-zero lease states where the client expects no lease.

Keep the bitmask validation, but normalize ungrantable combinations to zero
before allocating or looking up the lease.  The grantable combinations
remain unchanged: R, RH, RW, and RHW.

Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/oplock.c