Re: [PATCH] ksmbd: validate share path for batch oplock reconnects
From: Namjae Jeon
Date: Wed Oct 07 2026 - 10:51:52 EST
> @@ -2489,9 +2489,10 @@ int smb2_check_durable_oplock(struct ksmbd_conn *conn,
> if (opinfo->level != SMB2_OPLOCK_LEVEL_BATCH) {
> pr_err("oplock level is not equal to SMB2_OPLOCK_LEVEL_BATCH\n");
> ret = -EBADF;
> + goto out;
> }
>
> - goto out;
> + goto validate_name;
SMB specification(MS-SMB2) explicitly skip path name validation. The
filename mismatch check applies only to lease-based opens
(opinfo->is_lease in ksmbd). This violates the reconnect semantics.
> }
>
> if (memcmp(conn->ClientGUID, fp->client_guid,
> @@ -2528,6 +2529,7 @@ int smb2_check_durable_oplock(struct ksmbd_conn *conn,
> goto out;
> }
>
> +validate_name:
> if (!ksmbd_inode_pending_delete(fp))
> ret = ksmbd_validate_name_reconnect(share, fp, name);
> out:
> --
> 2.43.0
>