mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 23:00:21 +00:00
two ksmbd server fixes, both for stable
-----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAmZRUpIACgkQiiy9cAdy T1FIeQwAhZbsWGN/zwAP2tLbfrCpX0kFXfWIesOLZW53+6vnEXHUDHP7iN3Au1OA EDyeH4Sh1YcgP80mIzR+9iN3jY1FDY9G+dxfY5XdE4tSPQIIORko5B1GiumDHAZU NJivgLawK8OOvO01RgR5V/jyElZf0W+P2gaC/RWx4W7rGvzs9J+2uZnciTdmAGH0 gF7zqgzM3lp7BTGD0zuaGU32W/4gcrAxVdqTkqR+i4n5/Jr9eJJWbHcxsKSun1HY 75/BEvEJAHwQ4kMkR329pJwySyp3Zgzs7m4HAZwHKOUDzYLAnR7w2WNVNdY88T3/ b0dQxY4V1cONaxiSN9MycoMMv59/P7VVnhvZIMhd5e7hBd4AgxUFj2c11okssGOf 9P5BpTPGlAFYNAYR2p0uv0i3Xh6WF1Kor2SCdoIh2OkyCmhtertw+AqkqkOCiFGM ttwardj7+KuCKaKG7wl5UDfwnol04v6d4xoeh76jQx14euBpEfpED+ENS5fbdLu8 F5I++L3M =JStz -----END PGP SIGNATURE----- Merge tag '6.10-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd Pull smb server fixes from Steve French: "Two ksmbd server fixes, both for stable" * tag '6.10-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd: ksmbd: ignore trailing slashes in share paths ksmbd: avoid to send duplicate oplock break notifications
This commit is contained in:
commit
6c8b1a2dca
@ -165,8 +165,12 @@ static struct ksmbd_share_config *share_config_request(struct unicode_map *um,
|
||||
|
||||
share->path = kstrndup(ksmbd_share_config_path(resp), path_len,
|
||||
GFP_KERNEL);
|
||||
if (share->path)
|
||||
if (share->path) {
|
||||
share->path_sz = strlen(share->path);
|
||||
while (share->path_sz > 1 &&
|
||||
share->path[share->path_sz - 1] == '/')
|
||||
share->path[--share->path_sz] = '\0';
|
||||
}
|
||||
share->create_mask = resp->create_mask;
|
||||
share->directory_mask = resp->directory_mask;
|
||||
share->force_create_mode = resp->force_create_mode;
|
||||
|
@ -610,19 +610,24 @@ static int oplock_break_pending(struct oplock_info *opinfo, int req_op_level)
|
||||
if (opinfo->op_state == OPLOCK_CLOSING)
|
||||
return -ENOENT;
|
||||
else if (opinfo->level <= req_op_level) {
|
||||
if (opinfo->is_lease &&
|
||||
opinfo->o_lease->state !=
|
||||
(SMB2_LEASE_HANDLE_CACHING_LE |
|
||||
SMB2_LEASE_READ_CACHING_LE))
|
||||
if (opinfo->is_lease == false)
|
||||
return 1;
|
||||
|
||||
if (opinfo->o_lease->state !=
|
||||
(SMB2_LEASE_HANDLE_CACHING_LE |
|
||||
SMB2_LEASE_READ_CACHING_LE))
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (opinfo->level <= req_op_level) {
|
||||
if (opinfo->is_lease &&
|
||||
opinfo->o_lease->state !=
|
||||
(SMB2_LEASE_HANDLE_CACHING_LE |
|
||||
SMB2_LEASE_READ_CACHING_LE)) {
|
||||
if (opinfo->is_lease == false) {
|
||||
wake_up_oplock_break(opinfo);
|
||||
return 1;
|
||||
}
|
||||
if (opinfo->o_lease->state !=
|
||||
(SMB2_LEASE_HANDLE_CACHING_LE |
|
||||
SMB2_LEASE_READ_CACHING_LE)) {
|
||||
wake_up_oplock_break(opinfo);
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user