diff options
author | Peter Zijlstra <peterz@infradead.org> | 2020-03-13 11:56:38 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2020-03-20 15:06:25 +0300 |
commit | 10476e6304222ced7df9b3d5fb0a043b3c2a1ad8 (patch) | |
tree | ffabb7c1514caad90cace22b593c01300d05a7a8 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | 25016bd7f4caf5fc983bbab7403d08e64cba3004 (diff) | |
download | linux-10476e6304222ced7df9b3d5fb0a043b3c2a1ad8.tar.xz |
locking/lockdep: Fix bad recursion pattern
There were two patterns for lockdep_recursion:
Pattern-A:
if (current->lockdep_recursion)
return
current->lockdep_recursion = 1;
/* do stuff */
current->lockdep_recursion = 0;
Pattern-B:
current->lockdep_recursion++;
/* do stuff */
current->lockdep_recursion--;
But a third pattern has emerged:
Pattern-C:
current->lockdep_recursion = 1;
/* do stuff */
current->lockdep_recursion = 0;
And while this isn't broken per-se, it is highly dangerous because it
doesn't nest properly.
Get rid of all Pattern-C instances and shore up Pattern-A with a
warning.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200313093325.GW12561@hirez.programming.kicks-ass.net
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions