mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
nsswitch: do not reload if "/" changes
https://sourceware.org/bugzilla/show_bug.cgi?id=27077 Before reloading nsswitch.conf, verify that the root directory hasn't changed - if it has, it's likely that we've entered a container and should not trust the nsswitch inside the container nor load any shared objects therein. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
@ -349,6 +349,19 @@ __nss_disable_nscd (void (*cb) (size_t, struct traced_file *))
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Block attempts to dlopen any module we haven't already opened. */
|
||||
void
|
||||
__nss_module_disable_loading (void)
|
||||
{
|
||||
__libc_lock_lock (nss_module_list_lock);
|
||||
|
||||
for (struct nss_module *p = nss_module_list; p != NULL; p = p->next)
|
||||
if (p->state == nss_module_uninitialized)
|
||||
p->state = nss_module_failed;
|
||||
|
||||
__libc_lock_unlock (nss_module_list_lock);
|
||||
}
|
||||
|
||||
void __libc_freeres_fn_section
|
||||
__nss_module_freeres (void)
|
||||
{
|
||||
|
Reference in New Issue
Block a user