lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 8 Feb 2013 10:43:18 +0000
From:	Jamie Iles <jamie.iles@...cle.com>
To:	Sasha Levin <sasha.levin@...cle.com>
Cc:	Jamie Iles <jamie.iles@...cle.com>, mingo@...nel.org,
	peterz@...radead.org, penberg@...nel.org, acme@...stprotocols.net,
	paulus@...ba.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 09/11] liblockdep: support using LD_PRELOAD

On Thu, Feb 07, 2013 at 09:31:22AM -0500, Sasha Levin wrote:
> On 02/07/2013 05:28 AM, Jamie Iles wrote:
> >> +int pthread_rwlock_init(pthread_rwlock_t *rwlock,
> >> > +			const pthread_rwlockattr_t *attr)
> >> > +{
> >> > +	if (ll_pthread_rwlock_init == NULL)
> >> > +		init_preload();
> > Why is this one special, doesn't init_preload being a constructor make 
> > this redundant?
> 
> I was testing it on different things, and stumbled on an interesting case:
> when pthread_mutex was taken from the constructor of a different module.
> 
> In that case, the other constructor would try to init the mutex and take
> a lock, but we would segfault because we haven't resolved the pthread
> symbols yet ourselves (since our constructor was yet to be called).

Okay, that makes sense, but shouldn't we do this for all of the lock 
operations?  pthread locks can be statically initialized and they are 
initializaed lazily on the first access so I think that this could 
happen on any of the lock operations.

Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ