Print this page
smatch: check libld_* allocation functions


 894                 add_allocation_function("kcalloc", &match_calloc, 0);
 895                 add_allocation_function("kmalloc_array", &match_calloc, 0);
 896                 add_allocation_function("drm_malloc_ab", &match_calloc, 0);
 897                 add_allocation_function("drm_calloc_large", &match_calloc, 0);
 898                 add_allocation_function("sock_kmalloc", &match_alloc, 1);
 899                 add_allocation_function("kmemdup", &match_alloc, 1);
 900                 add_allocation_function("kmemdup_user", &match_alloc, 1);
 901                 add_allocation_function("dma_alloc_attrs", &match_alloc, 1);
 902                 add_allocation_function("pci_alloc_consistent", &match_alloc, 1);
 903                 add_allocation_function("pci_alloc_coherent", &match_alloc, 1);
 904                 add_allocation_function("devm_kmalloc", &match_alloc, 1);
 905                 add_allocation_function("devm_kzalloc", &match_alloc, 1);
 906                 add_allocation_function("krealloc", &match_alloc, 1);
 907                 add_allocation_function("__alloc_bootmem", &match_alloc, 0);
 908                 add_allocation_function("alloc_bootmem", &match_alloc, 0);
 909                 add_allocation_function("kmap", &match_page, 0);
 910                 add_allocation_function("get_zeroed_page", &match_page, 0);
 911                 add_allocation_function("alloc_pages", &match_alloc_pages, 1);
 912                 add_allocation_function("alloc_pages_current", &match_alloc_pages, 1);
 913                 add_allocation_function("__get_free_pages", &match_alloc_pages, 1);




 914         }
 915 
 916         add_allocation_function("strndup", match_strndup, 0);
 917         if (option_project == PROJ_KERNEL)
 918                 add_allocation_function("kstrndup", match_strndup, 0);
 919 
 920         add_modification_hook(my_size_id, &set_size_undefined);
 921 
 922         add_merge_hook(my_size_id, &merge_size_func);
 923 
 924         if (option_info)
 925                 add_hook(record_global_size, BASE_HOOK);
 926 }
 927 
 928 void register_buf_size_late(int id)
 929 {
 930         /* has to happen after match_alloc() */
 931         add_hook(&match_array_assignment, ASSIGNMENT_HOOK);
 932 
 933         add_hook(&match_call, FUNCTION_CALL_HOOK);


 894                 add_allocation_function("kcalloc", &match_calloc, 0);
 895                 add_allocation_function("kmalloc_array", &match_calloc, 0);
 896                 add_allocation_function("drm_malloc_ab", &match_calloc, 0);
 897                 add_allocation_function("drm_calloc_large", &match_calloc, 0);
 898                 add_allocation_function("sock_kmalloc", &match_alloc, 1);
 899                 add_allocation_function("kmemdup", &match_alloc, 1);
 900                 add_allocation_function("kmemdup_user", &match_alloc, 1);
 901                 add_allocation_function("dma_alloc_attrs", &match_alloc, 1);
 902                 add_allocation_function("pci_alloc_consistent", &match_alloc, 1);
 903                 add_allocation_function("pci_alloc_coherent", &match_alloc, 1);
 904                 add_allocation_function("devm_kmalloc", &match_alloc, 1);
 905                 add_allocation_function("devm_kzalloc", &match_alloc, 1);
 906                 add_allocation_function("krealloc", &match_alloc, 1);
 907                 add_allocation_function("__alloc_bootmem", &match_alloc, 0);
 908                 add_allocation_function("alloc_bootmem", &match_alloc, 0);
 909                 add_allocation_function("kmap", &match_page, 0);
 910                 add_allocation_function("get_zeroed_page", &match_page, 0);
 911                 add_allocation_function("alloc_pages", &match_alloc_pages, 1);
 912                 add_allocation_function("alloc_pages_current", &match_alloc_pages, 1);
 913                 add_allocation_function("__get_free_pages", &match_alloc_pages, 1);
 914         } else if (option_project == PROJ_ILLUMOS_USER) {
 915                 add_allocation_function("libld_malloc", &match_alloc, 0);
 916                 add_allocation_function("libld_realloc", &match_alloc, 1);
 917                 add_allocation_function("libld_calloc", &match_calloc, 0);
 918         }
 919 
 920         add_allocation_function("strndup", match_strndup, 0);
 921         if (option_project == PROJ_KERNEL)
 922                 add_allocation_function("kstrndup", match_strndup, 0);
 923 
 924         add_modification_hook(my_size_id, &set_size_undefined);
 925 
 926         add_merge_hook(my_size_id, &merge_size_func);
 927 
 928         if (option_info)
 929                 add_hook(record_global_size, BASE_HOOK);
 930 }
 931 
 932 void register_buf_size_late(int id)
 933 {
 934         /* has to happen after match_alloc() */
 935         add_hook(&match_array_assignment, ASSIGNMENT_HOOK);
 936 
 937         add_hook(&match_call, FUNCTION_CALL_HOOK);