summaryrefslogtreecommitdiff
path: root/usr/src/lib
diff options
context:
space:
mode:
authorDan McDonald <danmcd@mnx.io>2022-09-28 10:19:14 -0400
committerDan McDonald <danmcd@mnx.io>2022-09-28 10:19:14 -0400
commit65793f4241a4a0b002c42e1829d92d40ea106762 (patch)
tree4e6d5d9abd4d8fe2977b0ba420ca4fb37efa3e59 /usr/src/lib
parentbb0d659b0a94180f35fcf17ee3372f90a8f9d0a2 (diff)
parent48e2dbe9fb92ee91dbf11fbf095e75288ece7e40 (diff)
downloadillumos-joyent-65793f4241a4a0b002c42e1829d92d40ea106762.tar.gz
[illumos-gate merge]
commit 48e2dbe9fb92ee91dbf11fbf095e75288ece7e40 14988 smb: panic in smb_common_open after pool export commit b78b1474704201201beac8045bbedb34d2361aae 14998 smbd domain cache broken commit 430c9d1e782015aefcb7cc52c7bc34674735c9c8 15010 September 2022 hwdata update commit fff4a95698f012e39591174e3bcfcbb5d83f7034 15009 Update tzdata to 2022d Conflicts: manifest
Diffstat (limited to 'usr/src/lib')
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/smb_domain.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/usr/src/lib/smbsrv/libsmb/common/smb_domain.c b/usr/src/lib/smbsrv/libsmb/common/smb_domain.c
index d920fccb01..5b4a15a08f 100644
--- a/usr/src/lib/smbsrv/libsmb/common/smb_domain.c
+++ b/usr/src/lib/smbsrv/libsmb/common/smb_domain.c
@@ -23,6 +23,7 @@
* Use is subject to license terms.
*
* Copyright 2017 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2022 RackTop Systems, Inc.
*/
/*
@@ -397,10 +398,14 @@ smb_domain_update(smb_domainex_t *dxi)
}
}
+ dxi->d_primary.di_type = SMB_DOMAIN_PRIMARY;
if (smb_dcache_add(&dxi->d_primary) == SMB_DOMAIN_SUCCESS) {
- for (i = 0; i < dxi->d_trusted.td_num; i++)
- (void) smb_dcache_add(&dxi->d_trusted.td_domains[i]);
-
+ for (i = 0, dcnode = dxi->d_trusted.td_domains;
+ i < dxi->d_trusted.td_num;
+ i++, dcnode++) {
+ dcnode->di_type = SMB_DOMAIN_TRUSTED;
+ (void) smb_dcache_add(dcnode);
+ }
smb_dcache_setdc(&dxi->d_dci);
}
@@ -748,6 +753,8 @@ smb_dcache_add(smb_domain_t *di)
{
smb_domain_t *dcnode;
+ assert(di->di_type != 0);
+
if ((dcnode = malloc(sizeof (smb_domain_t))) == NULL)
return (SMB_DOMAIN_NO_MEMORY);