Print this page
smatch: check libld_* allocation functions

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/smatch_buf_comparison.c
          +++ new/usr/src/tools/smatch/src/smatch_buf_comparison.c
↓ open down ↓ 578 lines elided ↑ open up ↑
 579  579                  add_allocation_function("kmemdup_user", &match_alloc, 1);
 580  580                  add_allocation_function("dma_alloc_attrs", &match_alloc, 1);
 581  581                  add_allocation_function("pci_alloc_consistent", &match_alloc, 1);
 582  582                  add_allocation_function("pci_alloc_coherent", &match_alloc, 1);
 583  583                  add_allocation_function("devm_kmalloc", &match_alloc, 1);
 584  584                  add_allocation_function("devm_kzalloc", &match_alloc, 1);
 585  585                  add_allocation_function("kcalloc", &match_calloc, 0);
 586  586                  add_allocation_function("devm_kcalloc", &match_calloc, 1);
 587  587                  add_allocation_function("kmalloc_array", &match_calloc, 0);
 588  588                  add_allocation_function("krealloc", &match_alloc, 1);
      589 +        } else if (option_project == PROJ_ILLUMOS_USER) {
      590 +                add_allocation_function("libld_malloc", &match_alloc, 0);
      591 +                add_allocation_function("libld_calloc", &match_calloc, 0);
      592 +                add_allocation_function("libld_realloc", &match_calloc, 1);
 589  593          }
 590  594  
 591  595          add_hook(&array_check, OP_HOOK);
 592  596          add_hook(&array_check_data_info, OP_HOOK);
 593  597  
 594  598          add_hook(&match_call, FUNCTION_CALL_HOOK);
 595  599          select_caller_info_hook(set_param_compare, ARRAY_LEN);
 596  600          select_caller_info_hook(set_arraysize_arg, ARRAYSIZE_ARG);
 597  601          add_hook(&munge_start_states, AFTER_DEF_HOOK);
 598  602  }
 599  603  
 600  604  void register_buf_comparison_links(int id)
 601  605  {
 602  606          link_id = id;
 603  607          add_merge_hook(link_id, &merge_links);
 604  608          add_modification_hook(link_id, &match_link_modify);
 605  609  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX