This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] deprecate libnsl/libnss_*
- From: Roland McGrath <roland at hack dot frob dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: Florian Weimer <fweimer at redhat dot com>, Thorsten Kukuk <kukuk at suse dot de>, <libc-alpha at sourceware dot org>
- Date: Fri, 8 Apr 2016 11:39:21 -0700 (PDT)
- Subject: Re: [PATCH] deprecate libnsl/libnss_*
- Authentication-results: sourceware.org; auth=none
- References: <20160404134356 dot GA20216 at suse dot de> <5702780D dot 7070208 at redhat dot com> <20160404142237 dot GA20583 at suse dot de> <57062C77 dot 1080103 at redhat dot com> <alpine dot DEB dot 2 dot 10 dot 1604071516070 dot 26336 at digraph dot polyomino dot org dot uk>
> If it's visible to an application what libraries were loaded by an NSS
> module, I'd consider that to be a bug (bug 16881, I think) - NSS modules
> should be loaded in such a way that this is not visible.
Bug 16881 is not entirely clear on what it's talking about. On the face of
it, it sounds like a problem that could only arise if something were using
RTLD_GLOBAL. If that's all it's talking about, then that should already
not be an issue.
The broader issue is much harder to address. Short of NSS modules being
loaded via a dlmopen-style mechanism, dependencies of NSS modules that are
also themselves dependencies of things used by the application itself
(including indirectly via other libraries it uses) will be loaded exactly
once and so depending on their initializer code and module-global state,
that might very well be visible to the application.