diff options
| author | Alexei Starovoitov <[email protected]> | 2024-03-29 10:14:39 -0700 |
|---|---|---|
| committer | Andrii Nakryiko <[email protected]> | 2024-03-29 11:10:41 -0700 |
| commit | 59f2f841179aa6a0899cb9cf53659149a35749b7 (patch) | |
| tree | 6062529deb60350ea15098e82d721feda3661b6a /tools/perf/scripts/python/bin | |
| parent | 201874fc064ef14c26ea87a890b3f58296750d2d (diff) | |
bpf: Avoid kfree_rcu() under lock in bpf_lpm_trie.
syzbot reported the following lock sequence:
cpu 2:
grabs timer_base lock
spins on bpf_lpm lock
cpu 1:
grab rcu krcp lock
spins on timer_base lock
cpu 0:
grab bpf_lpm lock
spins on rcu krcp lock
bpf_lpm lock can be the same.
timer_base lock can also be the same due to timer migration.
but rcu krcp lock is always per-cpu, so it cannot be the same lock.
Hence it's a false positive.
To avoid lockdep complaining move kfree_rcu() after spin_unlock.
Reported-by: [email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions