]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
lockdep: fix follows/follows_bt resize() size 40070/head
authorXiubo Li <xiubli@redhat.com>
Fri, 12 Mar 2021 15:39:21 +0000 (23:39 +0800)
committerXiubo Li <xiubli@redhat.com>
Fri, 12 Mar 2021 15:43:13 +0000 (23:43 +0800)
Without this the size of follows/follows_bt won't ever change, and
if the total lock number larger than 4094 it will cause crash in
lockdep_will_lock().

Signed-off-by: Xiubo Li <xiubli@redhat.com>
src/common/lockdep.cc

index 241e2ea3c140c1d7cd02c94f9fb7eabae34baab1..18d0cde09c8894738dea7f29b6268088e8bf49d7 100644 (file)
@@ -172,8 +172,8 @@ static int _lockdep_register(const char *name)
     if (current_maxid <= (unsigned)id) {
       current_maxid = (unsigned)id + 1;
       if (current_maxid == follows.size()) {
-        follows.resize(current_maxid);
-        follows_bt.resize(current_maxid);
+        follows.resize(current_maxid + 1);
+        follows_bt.resize(current_maxid + 1);
       }
     }
     lock_ids[name] = id;