Print this page
11972 resync smatch

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/check_locking.c
          +++ new/usr/src/tools/smatch/src/check_locking.c
↓ open down ↓ 448 lines elided ↑ open up ↑
 449  449          if (is_unlocked)
 450  450                  return &unlocked;
 451  451          return &undefined;
 452  452  }
 453  453  
 454  454  static struct smatch_state *unmatched_state(struct sm_state *sm)
 455  455  {
 456  456          return &start_state;
 457  457  }
 458  458  
 459      -static void pre_merge_hook(struct sm_state *sm)
      459 +static void pre_merge_hook(struct sm_state *cur, struct sm_state *other)
 460  460  {
 461  461          if (is_impossible_path())
 462      -                set_state(my_id, sm->name, sm->sym, &impossible);
      462 +                set_state(my_id, cur->name, cur->sym, &impossible);
 463  463  }
 464  464  
 465  465  static bool nestable(const char *name)
 466  466  {
 467  467          if (strstr(name, "read_sem:"))
 468  468                  return true;
 469  469          if (strcmp(name, "bottom_half:") == 0)
 470  470                  return true;
 471  471          return false;
 472  472  }
↓ open down ↓ 526 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX