This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][BZ #13724] Do not segfault in pthread_setname_np (x, NULL)


On 10/09/13 12:02, Carlos O'Donell wrote:
On 10/09/2013 01:57 PM, Jeff Law wrote:
On 10/09/13 11:53, Carlos O'Donell wrote:
On 10/08/2013 03:04 PM, Jeff Law wrote:
It seems incredibly useful to enable the asserts and trigger
these violations as early as possible. If you don't care you
can disable the asserts?
Another approach would be similar to what we're doing with
memstomp. ie, build a set of wrappers which check for these
argument goofs and allow users to dl-preload DSOs with the
wrappers.

When I first proposed the idea for these sanity checking
dl-preload libraries for Fedora I envisioned that we could go
beyond just checking for overlapping memory areas in the mem* and
str* functions. There could be a set of pthread wrapper functions
that check for whatever invariants we can in the pthread*
functions without a huge performance hit.

Right, you could wrap everything up and check all inputs against
non-NULL where the headers say __attribute__ ((__nonnull__
params)) or __nonnull(params) (short-hand in glibc).
But using the attributes are compile-time checks only.  Using an
LD_PRELOAD provides runtime checking

I agree, what I want to say was that to automatically generate the
wrappers and check against null parameters you can parse the public
headers and look for glibc's __nonnull markups?
Oh, yea, I guess that could be done.  Never thought of that.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]