Hello,

We have an issue with the kernel implementation :)

When lock debugging is enabled (MACH_LDEBUG set to 1 in configfrag.ac),
simple_lock uses _simple_lock to check using simple locks correctly.

It happens that vm_map_lock_read, i.e. lock_read, calls
check_simple_locks(): no simple lock is supposed to be taken.

So vm_map_lock_read can't come after simple_lock (&hbp->lock).

It seems we could just invert the locking, could you check on that?

Samuel

Reply via email to