[Gluster-devel] catching unitialized structures

Anand Avati anand.avati at gmail.com
Tue Apr 30 03:17:53 UTC 2013

On Mon, Apr 29, 2013 at 7:53 PM, Emmanuel Dreyfus <manu at netbsd.org> wrote:

> Vijay Bellur <vbellur at redhat.com> wrote:
> > There are a lot of places where we make an implicit assumption that
> > GF_CALLOC and the likes memset the memory area to zero.
> The problem I refer to is that on current Linux systems,
> pthread_mutex_lock() will work on a zero'ed area where
> pthread_mutex_init() was not called. That behavior should not be taken
> for granted in the future on Linux, and it is likely to break on any non
> Linux system.

Right. What Vijay said is that GF_CALLOC is the wrong place to initialize
memory with magic values, as it is _expected_ to strictly zero-fill the
allocated buffer just like calloc(). Detecting a missed pthread_mutex_init
of a mutex within a calloc'ed structure requires a more complex technique.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20130429/d89cc39a/attachment-0001.html>

More information about the Gluster-devel mailing list