Skip to content

Commit d8abb73

Browse files
committed
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()
2 parents 4356ab3 + 844436e commit d8abb73

3 files changed

Lines changed: 8 additions & 2 deletions

File tree

fs/smb/server/smb2pdu.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1690,6 +1690,8 @@ int smb2_sess_setup(struct ksmbd_work *work)
16901690
rc = ksmbd_session_register(conn, sess);
16911691
if (rc)
16921692
goto out_err;
1693+
1694+
conn->binding = false;
16931695
} else if (conn->dialect >= SMB30_PROT_ID &&
16941696
(server_conf.flags & KSMBD_GLOBAL_FLAG_SMB3_MULTICHANNEL) &&
16951697
req->Flags & SMB2_SESSION_REQ_FLAG_BINDING) {
@@ -1768,6 +1770,8 @@ int smb2_sess_setup(struct ksmbd_work *work)
17681770
sess = NULL;
17691771
goto out_err;
17701772
}
1773+
1774+
conn->binding = false;
17711775
}
17721776
work->sess = sess;
17731777

fs/smb/server/transport_tcp.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -624,8 +624,10 @@ int ksmbd_tcp_set_interfaces(char *ifc_list, int ifc_list_sz)
624624
for_each_netdev(&init_net, netdev) {
625625
if (netif_is_bridge_port(netdev))
626626
continue;
627-
if (!alloc_iface(kstrdup(netdev->name, GFP_KERNEL)))
627+
if (!alloc_iface(kstrdup(netdev->name, GFP_KERNEL))) {
628+
rtnl_unlock();
628629
return -ENOMEM;
630+
}
629631
}
630632
rtnl_unlock();
631633
bind_additional_ifaces = 1;

fs/smb/server/xattr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ struct xattr_acl_entry {
7676
struct xattr_smb_acl {
7777
int count;
7878
int next;
79-
struct xattr_acl_entry entries[];
79+
struct xattr_acl_entry entries[] __counted_by(count);
8080
};
8181

8282
/* 64bytes hash in xattr_ntacl is computed with sha256 */

0 commit comments

Comments
 (0)