The branch, v4-23-test has been updated
via 36f0300cda5 s3:winbindd fix race condition in terminate_child
via 5085b8c1d66 s4/dlz: add support for bind 9.20
from 8b9278941c8 vfs_ceph_new: use vfs_ceph_iget/vfs_ceph_iput in
vfs_ceph_disk_free
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-23-test
- Log -----------------------------------------------------------------
commit 36f0300cda5989c948801fba0f8b0b64066f54a9
Author: Gary Lockyer <[email protected]>
Date: Wed Jan 7 10:23:33 2026 +1300
s3:winbindd fix race condition in terminate_child
Fixes:
winbindd[306061]: Bad talloc magic value - unknown value
winbindd[306061]:
=========================================================
winbindd[306061]: INTERNAL ERROR: Bad talloc magic value - unknown value
in
winbindd () () pid
A race condition in source3/windbindd/winbindd_util.c::terminate_child
between the child socket closing, and the destructor de-registering the
child socket from epoll.
If the socket closes before it is de-registered from epoll, the event
is added to the epoll rdllink and will be retrieved when epoll_wait
is next called. However monitor_fde has been deallocated and we get the
observed failure.
Moving the TALLOC_FREE before the kill ensures that the child socket has
been
de-registered from epoll before it closes.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15937
Signed-off-by: Gary Lockyer <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
Autobuild-User(master): Stefan Metzmacher <[email protected]>
Autobuild-Date(master): Tue Jan 13 14:50:20 UTC 2026 on atb-devel-224
(cherry picked from commit a3684a2284cdf421090d6064b720b81b05b6eae6)
Autobuild-User(v4-23-test): Björn Jacke <[email protected]>
Autobuild-Date(v4-23-test): Thu Jan 15 13:38:20 UTC 2026 on atb-devel-224
commit 5085b8c1d660a87e8b73fdc8c956a2d6acff3d9d
Author: Michael Tokarev <[email protected]>
Date: Tue Jun 3 09:41:57 2025 +0300
s4/dlz: add support for bind 9.20
bind dlz interface does not change much, yet we build
dlz_bind9_NN for every bind9 version NN we support -
despite many of them differ only in soversion, with
the code being identical.
For bind9_20, use dlz_bind9_18.so which we already have.
It'd be nice to extract actual bind9 version string in
sambadns.py and use it in more direct way.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=15790
Signed-off-by: Michael Tokarev <[email protected]>
Reviewed-by: Douglas Bagnall <[email protected]>
Reviewed-by: Samuel Cabrero <[email protected]>
Autobuild-User(master): Douglas Bagnall <[email protected]>
Autobuild-Date(master): Wed Dec 10 22:46:11 UTC 2025 on atb-devel-224
(cherry picked from commit 6488787d65ef02cc97b4b79587da6155ff369ac0)
-----------------------------------------------------------------------
Summary of changes:
python/samba/provision/sambadns.py | 3 ++-
source3/winbindd/winbindd_util.c | 2 +-
source4/setup/named.conf.dlz | 4 ++--
3 files changed, 5 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/python/samba/provision/sambadns.py
b/python/samba/provision/sambadns.py
index 952e875c862..a3515bbe37b 100644
--- a/python/samba/provision/sambadns.py
+++ b/python/samba/provision/sambadns.py
@@ -1030,7 +1030,8 @@ def create_named_conf(paths, realm, dnsdomain,
dns_backend, logger):
bind9_14 = ''
elif bind_info.upper().find('BIND 9.16') != -1:
bind9_16 = ''
- elif bind_info.upper().find('BIND 9.18') != -1:
+ elif bind_info.upper().find('BIND 9.18') != -1 \
+ or bind_info.upper().find('BIND 9.20') != -1:
bind9_18 = ''
elif bind_info.upper().find('BIND 9.7') != -1:
raise ProvisioningError("DLZ option incompatible with BIND 9.7.")
diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c
index 3c991425dd9..566794b86a0 100644
--- a/source3/winbindd/winbindd_util.c
+++ b/source3/winbindd/winbindd_util.c
@@ -971,13 +971,13 @@ static void terminate_child(struct tevent_req *subreq)
TALLOC_FREE(subreq);
if (c->pid != 0) {
+ TALLOC_FREE(c->monitor_fde);
kill(c->pid, SIGTERM);
c->pid = 0;
if (c->sock != -1) {
close(c->sock);
}
c->sock = -1;
- TALLOC_FREE(c->monitor_fde);
}
c = NULL;
diff --git a/source4/setup/named.conf.dlz b/source4/setup/named.conf.dlz
index cbe7d805f58..9753cdc503b 100644
--- a/source4/setup/named.conf.dlz
+++ b/source4/setup/named.conf.dlz
@@ -30,8 +30,8 @@ dlz "AD DNS Zone" {
# For BIND 9.16.x
${BIND9_16} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_16.so";
- #
- # For BIND 9.18.x
+
+ # For BIND 9.18.x and 9.20.x
${BIND9_18} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_18.so";
};
--
Samba Shared Repository