summaryrefslogtreecommitdiff
path: root/nscd
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-05-15 20:48:08 -0700
committerPetr Baudis <pasky@suse.cz>2009-05-22 04:49:43 +0200
commit6dca80c9c771c5c4728a8c335861300bce93f8a0 (patch)
treeb3112337893ee8def2e16f7c8af74c089be7685b /nscd
parent6b23316e66ec3d2f1417896e1fa25c24a8ae32d3 (diff)
Don't try to cleanup libselinux and libaudit.
Because we are not shutting down the other threads first another thread might work on a query before the process shuts down. In this case the now uninitialized libselinux and libaudit might be used. Just don't free the resources. It's not necessary anyway because the process is about to terminate. (cherry picked from commit 9e471dad8e173806cbbfb704875d5ae40e36fa34) (fixed ChangeLog entry by pasky)
Diffstat (limited to 'nscd')
-rw-r--r--nscd/nscd.c4
-rw-r--r--nscd/selinux.c13
-rw-r--r--nscd/selinux.h5
3 files changed, 2 insertions, 20 deletions
diff --git a/nscd/nscd.c b/nscd/nscd.c
index 3265ea8973..b9035f2131 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -488,10 +488,6 @@ termination_handler (int signum)
msync (dbs[cnt].head, dbs[cnt].memsize, MS_ASYNC);
}
- /* Shutdown the SELinux AVC. */
- if (selinux_enabled)
- nscd_avc_destroy ();
-
_exit (EXIT_SUCCESS);
}
diff --git a/nscd/selinux.c b/nscd/selinux.c
index 9a167ec14d..e07a454bf8 100644
--- a/nscd/selinux.c
+++ b/nscd/selinux.c
@@ -1,5 +1,5 @@
/* SELinux access controls for nscd.
- Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Matthew Rickard <mjricka@epoch.ncsc.mil>, 2004.
@@ -418,15 +418,4 @@ nscd_avc_print_stats (struct avc_cache_stats *cstats)
cstats->cav_probes, cstats->cav_misses);
}
-
-/* Clean up the AVC before exiting. */
-void
-nscd_avc_destroy (void)
-{
- avc_destroy ();
-#ifdef HAVE_LIBAUDIT
- audit_close (audit_fd);
-#endif
-}
-
#endif /* HAVE_SELINUX */
diff --git a/nscd/selinux.h b/nscd/selinux.h
index 27afcd6e86..67d981bb06 100644
--- a/nscd/selinux.h
+++ b/nscd/selinux.h
@@ -1,5 +1,5 @@
/* Header for nscd SELinux access controls.
- Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Matthew Rickard <mjricka@epoch.ncsc.mil>, 2004.
@@ -35,8 +35,6 @@ struct avc_cache_stats;
/* Initialize the userspace AVC. */
extern void nscd_avc_init (void);
-/* Destroy the userspace AVC. */
-extern void nscd_avc_destroy (void);
/* Determine if we are running on an SELinux kernel. */
extern void nscd_selinux_enabled (int *selinux_enabled);
/* Check if the client has permission for the request type. */
@@ -55,7 +53,6 @@ extern void install_real_capabilities (cap_t new_caps);
#else
# define selinux_enabled 0
# define nscd_avc_init() (void) 0
-# define nscd_avc_destroy() (void) 0
# define nscd_selinux_enabled(selinux_enabled) (void) 0
# define nscd_request_avc_has_perm(fd, req) 0
# define nscd_avc_cache_stats(cstats) (void) 0