From 899bd0005f56dcc1e95c3988d41ab3f628bb15db Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 26 Jan 2010 16:51:57 -0800 Subject: Fix bug #7067 - Linux asynchronous IO (aio) can cause smbd to fail to respond to a read or write. Only works on Linux kernels 2.6.26 and above. Grants CAP_KILL capability to allow Linux threads under different euids to send signals to each other. Jeremy. --- source3/smbd/server.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source3/smbd') diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 09ad8d8ea5..fb0efd2ae5 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -1047,6 +1047,14 @@ extern void build_options(bool screen); gain_root_privilege(); gain_root_group_privilege(); + /* + * Ensure we have CAP_KILL capability set on Linux, + * where we need this to communicate with threads. + * This is inherited by new threads, but not by new + * processes across exec(). + */ + set_effective_capability(KILL_CAPABILITY); + fault_setup((void (*)(void *))exit_server_fault); dump_core_setup("smbd"); -- cgit