Print this page
11506 smatch resync

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/check_unwind.c
          +++ new/usr/src/tools/smatch/src/check_unwind.c
↓ open down ↓ 186 lines elided ↑ open up ↑
 187  187                  return;
 188  188          my_id = id;
 189  189  
 190  190          register_unwind_functions();
 191  191  
 192  192          return_implies_state("request_resource", 0, 0, &request_granted, INT_PTR(1));
 193  193          return_implies_state("request_resource", -EBUSY, -EBUSY, &request_denied, INT_PTR(1));
 194  194          add_function_hook("release_resource", &match_release, INT_PTR(0));
 195  195          release_function_indicator("release_resource");
 196  196  
 197      -        return_implies_state("__request_region", valid_ptr_min, valid_ptr_max, &request_granted, INT_PTR(1));
      197 +        return_implies_state_sval("__request_region", valid_ptr_min_sval, valid_ptr_max_sval, &request_granted, INT_PTR(1));
 198  198          return_implies_state("__request_region", 0, 0, &request_denied, INT_PTR(1));
 199  199          add_function_hook("__release_region", &match_release, INT_PTR(1));
 200  200          release_function_indicator("__release_region");
 201  201  
 202      -        return_implies_state("ioremap", valid_ptr_min, valid_ptr_max, &request_granted, INT_PTR(-1));
      202 +        return_implies_state_sval("ioremap", valid_ptr_min_sval, valid_ptr_max_sval, &request_granted, INT_PTR(-1));
 203  203          return_implies_state("ioremap", 0, 0, &request_denied, INT_PTR(-1));
 204  204          add_function_hook("iounmap", &match_release, INT_PTR(0));
 205  205  
 206      -        return_implies_state("pci_iomap", valid_ptr_min, valid_ptr_max, &request_granted, INT_PTR(-1));
      206 +        return_implies_state_sval("pci_iomap", valid_ptr_min_sval, valid_ptr_max_sval, &request_granted, INT_PTR(-1));
 207  207          return_implies_state("pci_iomap", 0, 0, &request_denied, INT_PTR(-1));
 208  208          add_function_hook("pci_iounmap", &match_release, INT_PTR(1));
 209  209          release_function_indicator("pci_iounmap");
 210  210  
 211      -        return_implies_state("__create_workqueue_key", valid_ptr_min, valid_ptr_max, &request_granted,
      211 +        return_implies_state_sval("__create_workqueue_key", valid_ptr_min_sval, valid_ptr_max_sval, &request_granted,
 212  212                          INT_PTR(-1));
 213  213          return_implies_state("__create_workqueue_key", 0, 0, &request_denied, INT_PTR(-1));
 214  214          add_function_hook("destroy_workqueue", &match_release, INT_PTR(0));
 215  215  
 216  216          return_implies_state("request_irq", 0, 0, &request_granted, INT_PTR(0));
 217  217          return_implies_state("request_irq", -MAX_ERRNO, -1, &request_denied, INT_PTR(0));
 218  218          add_function_hook("free_irq", &match_release, INT_PTR(0));
 219  219          release_function_indicator("free_irq");
 220  220  
 221  221          return_implies_state("register_netdev", 0, 0, &request_granted, INT_PTR(0));
 222  222          return_implies_state("register_netdev", -MAX_ERRNO, -1, &request_denied, INT_PTR(0));
 223  223          add_function_hook("unregister_netdev", &match_release, INT_PTR(0));
 224  224          release_function_indicator("unregister_netdev");
 225  225  
 226  226          return_implies_state("misc_register", 0, 0, &request_granted, INT_PTR(0));
 227  227          return_implies_state("misc_register", -MAX_ERRNO, -1, &request_denied, INT_PTR(0));
 228  228          add_function_hook("misc_deregister", &match_release, INT_PTR(0));
 229  229          release_function_indicator("misc_deregister");
 230  230  
 231      -
 232  231          add_hook(&match_return, RETURN_HOOK);
 233  232  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX