mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-30 18:00:46 +00:00
three smb3 server fixes
-----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAmbX21YACgkQiiy9cAdy T1Hp9gv/dX8tAaYOAE6h5FpzI7kYWsOD0AqEEboZm17rP1M0ihqWhj+tXTjqa5Tb T31Kyl/yZ0lRLe6B9cuAWVJCo+1cFnM1sdnL99yE/WlxZzZ3C3exntNlOkcUanCM FeyFnVaxWDhZ53mroOX1KBJ1r9LOkGL7czjBwgyhpDu4Q63H4ZsgXJDIu/TJVf4t TZkreFoBvn/WocpPl1VXxapILqcW7v5hzfof4MEvAPsHJwP3ZlN0LJuHe6YaBfff p8jMZeFfdQc02jjAgL+7KZxlppvRzrZsm+5DZ6C9HyLLJmMJpvGODFG9hVNA8wHT xLdekOCgekVx0UlSOzkivSu5FW4XJHPuycr4ak+XI0n20LglGbyA8bT0X5kuslSt ejjZbx+uSlT4jjTSJsateTd8B14UO0iIrAaPumOwvBGGtcDenH0/cQ8ktWY79x97 Pc19JEPSAK2usViFonD4WUEwlg1sFFpV1TCu/HM8VJv6XOb0QzCyZgF7k7o78ztz Fp51C0LQ =yxks -----END PGP SIGNATURE----- Merge tag 'v6.11-rc6-server-fixes' of git://git.samba.org/ksmbd Pull smb server fixes from Steve French: - Fix crash in session setup - Fix locking bug - Improve access bounds checking * tag 'v6.11-rc6-server-fixes' of git://git.samba.org/ksmbd: ksmbd: Unlock on in ksmbd_tcp_set_interfaces() ksmbd: unset the binding mark of a reused connection smb: Annotate struct xattr_smb_acl with __counted_by()
This commit is contained in:
commit
d8abb73f58
@ -1690,6 +1690,8 @@ int smb2_sess_setup(struct ksmbd_work *work)
|
|||||||
rc = ksmbd_session_register(conn, sess);
|
rc = ksmbd_session_register(conn, sess);
|
||||||
if (rc)
|
if (rc)
|
||||||
goto out_err;
|
goto out_err;
|
||||||
|
|
||||||
|
conn->binding = false;
|
||||||
} else if (conn->dialect >= SMB30_PROT_ID &&
|
} else if (conn->dialect >= SMB30_PROT_ID &&
|
||||||
(server_conf.flags & KSMBD_GLOBAL_FLAG_SMB3_MULTICHANNEL) &&
|
(server_conf.flags & KSMBD_GLOBAL_FLAG_SMB3_MULTICHANNEL) &&
|
||||||
req->Flags & SMB2_SESSION_REQ_FLAG_BINDING) {
|
req->Flags & SMB2_SESSION_REQ_FLAG_BINDING) {
|
||||||
@ -1768,6 +1770,8 @@ int smb2_sess_setup(struct ksmbd_work *work)
|
|||||||
sess = NULL;
|
sess = NULL;
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
conn->binding = false;
|
||||||
}
|
}
|
||||||
work->sess = sess;
|
work->sess = sess;
|
||||||
|
|
||||||
|
|||||||
@ -624,9 +624,11 @@ int ksmbd_tcp_set_interfaces(char *ifc_list, int ifc_list_sz)
|
|||||||
for_each_netdev(&init_net, netdev) {
|
for_each_netdev(&init_net, netdev) {
|
||||||
if (netif_is_bridge_port(netdev))
|
if (netif_is_bridge_port(netdev))
|
||||||
continue;
|
continue;
|
||||||
if (!alloc_iface(kstrdup(netdev->name, GFP_KERNEL)))
|
if (!alloc_iface(kstrdup(netdev->name, GFP_KERNEL))) {
|
||||||
|
rtnl_unlock();
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
rtnl_unlock();
|
rtnl_unlock();
|
||||||
bind_additional_ifaces = 1;
|
bind_additional_ifaces = 1;
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@ -76,7 +76,7 @@ struct xattr_acl_entry {
|
|||||||
struct xattr_smb_acl {
|
struct xattr_smb_acl {
|
||||||
int count;
|
int count;
|
||||||
int next;
|
int next;
|
||||||
struct xattr_acl_entry entries[];
|
struct xattr_acl_entry entries[] __counted_by(count);
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 64bytes hash in xattr_ntacl is computed with sha256 */
|
/* 64bytes hash in xattr_ntacl is computed with sha256 */
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user