1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/source3
Volker Lendecke ed058f4dc3 s3: Fix a winbind race leading to 100% CPU
This fixes a race condition that leads to the winbindd_children list becoming
corrupted. It happens when on a busy winbind SIGCHLD is a bit late.

Imagine a winbind with multiple requests in the queue for a single child. Child
dies, and before the SIGCHLD handler is called we find the socket to be dead.
wb_child_request_done is called, receiving an error from wb_simple_trans_recv.
It closes the socket. Then immediately the wb_child_request_trigger will do
another fork_domain_child before the signal handler is called. This means that
we do another fork_domain_child, we have child->sock==-1 at this point.
fork_domain_child will do a DLIST_ADD(winbindd_children, child) a second time
where the child is already part of that list. This corrupts the list. Then the
signal handler kicks in, spinning in

for (child = winbindd_children; child != NULL; child = child->next) {

forever. Not good. This patch makes sure that both conditions (sock==-1 and not
part of the list) for a winbindd_child struct match up.

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Fri Aug 26 18:51:24 CEST 2011 on sn-devel-104
2011-08-26 18:51:24 +02:00
..
auth s3-ntlmssp Remove a level of nesting in if/else statement 2011-08-03 18:48:05 +10:00
build s3-waf: remove s3-waf specific dynconfig. 2011-06-28 17:54:41 +02:00
client s3:client: make use of cli_state_protocol() 2011-08-02 04:54:29 +02:00
exports
groupdb s3:dbwrap: move all .c and .h files of dbwrap to lib/dbwrap/ 2011-07-29 13:34:22 +02:00
include passdb: Add a function to read secrets db from a specified path 2011-08-13 10:25:06 +10:00
intl source3/intl/lang_tdb.h: fix licence/copyright 2011-06-10 15:12:11 +02:00
lib s3:dbwrap_tdb: correctly catch the error from the return code of tdb_parse in db_tdb_fetch() 2011-08-25 23:55:06 +02:00
libads If "ldap timeout" is non-zero, set the local search timeout to 2011-08-19 18:43:51 -07:00
libgpo s3-libgpo/gpo_filesync.c: return on read error 2011-07-23 09:18:27 +02:00
libnet s3:dbwrap: move all .c and .h files of dbwrap to lib/dbwrap/ 2011-07-29 13:34:22 +02:00
librpc s3-id_cache: Use better names for id cache management ops 2011-08-21 09:08:25 -04:00
libsmb s/event_context/tevent_context/ in smbsock_any_connect 2011-08-23 18:21:58 +02:00
locale s3:net fix a typo 2011-06-09 17:12:24 +02:00
locking s3:dbwrap: move all .c and .h files of dbwrap to lib/dbwrap/ 2011-07-29 13:34:22 +02:00
m4 s3:build(autoconf): fix bug #8369: remove irritating "." targets when recent system libs exist 2011-08-11 13:26:27 +02:00
modules s3: Fix the build of vfs_aixacl2.c 2011-08-25 23:06:11 +02:00
nmbd s3: Fix some nonempty blank lines 2011-08-25 21:36:18 +02:00
pam_smbpass s3:pam_smbpass: use lp_load_client() in pam_smbpass 2011-07-28 11:17:29 +02:00
param s3-param: Allocate talloc stackframe before calling s3 param routines 2011-08-26 14:06:07 +02:00
passdb s3-passdb: Allocate talloc stackframe before calling pdb_get_group_sid() 2011-08-26 14:06:07 +02:00
pkgconfig
po
printing s3-spoolss: Remove useless check 2011-08-21 09:05:06 -04:00
profile
registry s3:registry: fix the v2_to_v3 upgrade code so that it does not create value list security records for the INFO/version key ... 2011-08-25 23:55:06 +02:00
rpc_client s3:rpc_transport_tstream: only use tstream_cli_np_use_trans() for sync requests 2011-08-05 22:31:12 +02:00
rpc_server s3: Fix an uninitialized variable 2011-08-24 00:34:04 +02:00
rpcclient s3-ntlmssp Remove rpccli_get_pwd_hash and auth_ntlmssp_get_nt_hash 2011-08-03 18:48:03 +10:00
script s3-test: Added new testsuites for test net [rpc] conf 2011-08-22 14:01:48 +02:00
selftest s3-test: Added net conf tests to tests.py 2011-08-22 14:02:20 +02:00
services s3-auth Use the common auth_session_info 2011-07-20 09:17:13 +10:00
smbd s3:smbd: remove an unused variable in dptr_create() 2011-08-25 23:55:06 +02:00
stf s3-selftest Remove unused and unimplemented info3cache test 2011-05-18 16:12:08 +02:00
tests
torture Replace calls to sid_equal with calls to dom_sid_equal 2011-08-17 12:30:08 +02:00
utils s3-net: Added documentation for net_rpc_conf functions 2011-08-22 17:08:15 +02:00
web s3:web/swat: use strtoll() instead of atoi/atol/atoll 2011-08-06 11:55:45 +02:00
winbindd s3: Fix a winbind race leading to 100% CPU 2011-08-26 18:51:24 +02:00
.clang_complete s3: Added missing includes to .clang_complete. 2011-06-22 11:15:56 +02:00
.dmallocrc
.indent.pro
autogen-waf.sh
autogen.sh
change-log
config.guess
config.sub
configure.developer
configure.in s3:build(autoconf): fix bug #8369: remove irritating "." targets when recent system libs exist 2011-08-11 13:26:27 +02:00
Doxyfile
install-sh
mainpage.dox
Makefile-smbtorture4 s3-build: Move generated config.h and config.h.in to include/autoconf 2011-05-09 11:21:09 +02:00
Makefile.in s3-net: Added the command rpc conf to the net binary. 2011-08-22 13:59:24 +02:00
smbadduser.in
VERSION
wscript s3-waf: Fix build on FreeBSD when sunacl.h is found 2011-08-08 04:34:35 +02:00
wscript_build s3-net: Added the command rpc conf to the net binary. 2011-08-22 13:59:24 +02:00