Re: [PATCH 0/3] lockdep: liblockdep: Prevent chain_key collisions

From: Sasha Levin
Date: Tue Feb 16 2016 - 11:39:24 EST


On 02/10/2016 06:33 PM, Alfredo Alvarez Fernandez wrote:
> This patch series prevents possible collisions in the chain_key
> hashing macro iterate_chain_key(key1, key2) that can lead to lockdep
> not detecting very simple deadlocks such as AA or ABBA.
>
> The problem only affects the first allocated lock classes. That could
> explain why it was not seen while running lockdep's test suite, since
> by the time the test suite runs there are already registered lock
> classes and the indexes allocated for the lock classes under test are
> high enough to avoid collisions.
>
> The patch series also extends the tools/liblockdep test suite with
> tests covering the offending cases.
>
> I came across the problem while testing a simple AA deadlock scenario
> in userspace using a pthread_mutex and tools/liblockdep. In that
> context it is fairly easy to have a clean and deterministic initial
> state where the problem can be reproduced.
>
> The proposed solution was tested with the newly introduced tests and
> also with lockdep's test suite:
> [ 0.000000] Good, all 253 testcases passed! |

Thanks Alfredo, I'll grab the first two.

Peter/Ingo, will you take the lockdep one or do you want it to go through
my tree?


Thanks,
Sasha