Arjan van de Ven wrote:
> Pavel Emelianov wrote:
>> This causes constructions like
>>
>> down_write(&mm1->mmap_sem);
>> if (down_write_trylock(&mm2->mmap_sem)) {
>> ...
>> up_write(&mm2->mmap_sem);
>> }
>> up_write(&mm1->mmap_sem);
>>
>> generate a lockdep warning about circular locking dependence.
>
> please show me why this is safe, especially if you intermix it with
> down_read()'s... like copy_to_user and co may do.
This is safe as once the task locks the mm1->mmap_sem and gets
into '...' place it is *running* and will release booth semaphores
for sure.
> this feels like a very unsafe construct to me...
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]