Fuzz introspector: fuzz-udev-rules
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
146 333 path_startswith_full call site: {node_id} pid_get_cmdline_strv
119 567 free_many call site: {node_id} read_full_file
69 203 read_line_full call site: {node_id} get_proc_field
52 482 page_size call site: {node_id} pid_get_comm
45 1072 udev_rule_line_free call site: {node_id} udev_check_rule_line
43 769 log_open call site: {node_id} log_open_syslog
36 81 cunescape_one call site: {node_id} detect_container
23 1010 strcmp_ptr call site: {node_id} strstrip
22 49 safe_atou_full call site: {node_id} proc_cmdline_parse
19 749 stderr_is_journal call site: {node_id} extract_first_word
18 283 path_find_first_component call site: {node_id} path_find_last_component
18 990 utf8_is_valid_n call site: {node_id} string_is_safe

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 _cleanup_ [function] [call site] 00001
1 _cleanup_ [function] [call site] 00002
1 outside_size_range [function] [call site] 00003
1 fuzz_setup_logging [function] [call site] 00004
2 log_set_assert_return_is_critical [function] [call site] 00005
2 log_set_max_level [function] [call site] 00006
3 log_level_is_valid [function] [call site] 00008
3 setlogmask [function] [call site] 00009
3 assert_cc [function] [call site] 00011
2 log_setup [function] [call site] 00013
3 log_parse_environment [function] [call site] 00017
4 should_parse_proc_cmdline [function] [call site] 00018
5 getpid_cached [function] [call site] 00019
6 __atomic_compare_exchange_n [function] [call site] 00020
6 pthread_atfork [function] [call site] 00022
5 invoked_by_systemd [function] [call site] 00024
6 parse_pid [function] [call site] 00026
7 safe_atolu [function] [call site] 00028
8 safe_atolu_full [function] [call site] 00029
9 assert_cc [function] [call site] 00030
9 safe_atou_full [function] [call site] 00031
10 SAFE_ATO_MASK_FLAGS [function] [call site] 00034
10 FLAGS_SET [function] [call site] 00035
10 FLAGS_SET [function] [call site] 00038
10 FLAGS_SET [function] [call site] 00040
10 mangle_base [function] [call site] 00042
11 SAFE_ATO_MASK_FLAGS [function] [call site] 00045
11 STARTSWITH_SET [function] [call site] 00046
11 STARTSWITH_SET [function] [call site] 00047
10 SAFE_ATO_MASK_FLAGS [function] [call site] 00049
7 pid_is_valid [function] [call site] 00050
6 log_debug_errno [function] [call site] 00051
6 getpid_cached [function] [call site] 00052
4 proc_cmdline_parse [function] [call site] 00053
5 proc_cmdline_strv_internal [function] [call site] 00056
6 secure_getenv [function] [call site] 00058
6 detect_container [function] [call site] 00095
7 log_debug_errno [function] [call site] 00097
7 log_debug_errno [function] [call site] 00099
7 read_one_line_file [function] [call site] 00100
8 read_one_line_file_at [function] [call site] 00101
9 fopen_unlocked_at [function] [call site] 00105
10 xfopenat_full [function] [call site] 00106
11 FLAGS_SET [function] [call site] 00133
11 xfopenat_unix_socket [function] [call site] 00134
12 connect_unix_path [function] [call site] 00150
13 connect_unix_inode [function] [call site] 00153
14 connect_unix_path_simple [function] [call site] 00156
14 FORMAT_PROC_FD_PATH [function] [call site] 00167
13 sizeof_field [function] [call site] 00170
13 connect_unix_path_simple [function] [call site] 00171
13 connect_unix_inode [function] [call site] 00173
12 shutdown [function] [call site] 00174
12 take_fdopen [function] [call site] 00175
11 FLAGS_SET [function] [call site] 00177
11 __fsetlocking [function] [call site] 00178
7 log_debug_errno [function] [call site] 00204
7 get_proc_field [function] [call site] 00207
8 fopen_unlocked [function] [call site] 00210
9 fopen_unlocked_at [function] [call site] 00211
8 proc_mounted [function] [call site] 00212
9 path_is_fs_type [function] [call site] 00213
10 is_fs_type_at [function] [call site] 00214
11 xstatfsat [function] [call site] 00215
12 xopenat [function] [call site] 00219
13 xopenat_full [function] [call site] 00220
14 FLAGS_SET [function] [call site] 00223
14 FLAGS_SET [function] [call site] 00224
14 FLAGS_SET [function] [call site] 00227
14 FLAGS_SET [function] [call site] 00228
14 fd_verify_regular [function] [call site] 00229
14 fd_reopen [function] [call site] 00242
15 FLAGS_SET [function] [call site] 00245
15 FLAGS_SET [function] [call site] 00246
15 FLAGS_SET [function] [call site] 00247
15 RET_NERRNO [function] [call site] 00248
15 proc_fd_enoent_errno [function] [call site] 00250
16 proc_mounted [function] [call site] 00251
14 FLAGS_SET [function] [call site] 00252
14 FLAGS_SET [function] [call site] 00253
14 FLAGS_SET [function] [call site] 00256
14 FLAGS_SET [function] [call site] 00257
14 FLAGS_SET [function] [call site] 00258
14 btrfs_subvol_make_fallback [function] [call site] 00259
15 btrfs_subvol_make [function] [call site] 00263
16 extract_subvolume_name [function] [call site] 00267
17 path_extract_filename [function] [call site] 00270
18 path_is_valid [function] [call site] 00271
19 path_is_valid_full [function] [call site] 00272
20 path_find_first_component [function] [call site] 00274
21 skip_slash_or_dot [function] [call site] 00276
22 startswith [function] [call site] 00278
21 strchrnul [function] [call site] 00281
21 skip_slash_or_dot [function] [call site] 00282
18 path_find_last_component [function] [call site] 00284
19 skip_slash_or_dot_backward [function] [call site] 00289
19 PTR_SUB1 [function] [call site] 00294
19 skip_slash_or_dot_backward [function] [call site] 00296
18 TAKE_PTR [function] [call site] 00298
17 btrfs_validate_subvolume_name [function] [call site] 00300
18 filename_is_valid [function] [call site] 00301
19 dot_or_dot_dot [function] [call site] 00303
19 filename_part_is_valid [function] [call site] 00304
20 strchrnul [function] [call site] 00305
17 TAKE_PTR [function] [call site] 00307
16 path_extract_directory [function] [call site] 00308
17 path_find_last_component [function] [call site] 00309
17 strdup_to [function] [call site] 00311
17 path_simplify [function] [call site] 00313
18 path_simplify_full [function] [call site] 00314
19 FLAGS_SET [function] [call site] 00316
19 path_is_absolute [function] [call site] 00323
19 path_find_first_component [function] [call site] 00324
19 path_startswith [function] [call site] 00325
20 path_startswith_full [function] [call site] 00326
21 path_find_first_component [function] [call site] 00329
21 FLAGS_SET [function] [call site] 00330
21 path_find_first_component [function] [call site] 00331
21 FLAGS_SET [function] [call site] 00332
21 FLAGS_SET [function] [call site] 00333
17 path_is_valid [function] [call site] 00338
17 TAKE_PTR [function] [call site] 00339
16 fd_reopen_condition [function] [call site] 00340
16 RET_NERRNO [function] [call site] 00348
15 ERRNO_IS_NOT_SUPPORTED [function] [call site] 00351
14 RET_NERRNO [function] [call site] 00353
14 FLAGS_SET [function] [call site] 00355
14 FLAGS_SET [function] [call site] 00356
14 FLAGS_SET [function] [call site] 00357
14 fd_verify_regular [function] [call site] 00359
14 FLAGS_SET [function] [call site] 00360
14 FLAGS_SET [function] [call site] 00363
14 fd_verify_regular [function] [call site] 00365
14 fd_reopen [function] [call site] 00366
14 openat_report_new [function] [call site] 00367
14 label_ops_post [function] [call site] 00374
14 FLAGS_SET [function] [call site] 00376
14 chattr_fd [function] [call site] 00377
15 chattr_full [function] [call site] 00378
16 ERRNO_IS_IOCTL_NOT_SUPPORTED [function] [call site] 00387
16 FLAGS_SET [function] [call site] 00388
16 UPDATE_FLAG [function] [call site] 00389
16 FLAGS_SET [function] [call site] 00390
16 ERRNO_IS_IOCTL_NOT_SUPPORTED [function] [call site] 00392
16 log_full_errno [function] [call site] 00393
16 FLAGS_SET [function] [call site] 00394
16 ERRNO_IS_IOCTL_NOT_SUPPORTED [function] [call site] 00396
16 ERRNO_IS_IOCTL_NOT_SUPPORTED [function] [call site] 00398
14 ERRNO_IS_IOCTL_NOT_SUPPORTED [function] [call site] 00399
14 label_ops_post [function] [call site] 00401
14 unlinkat [function] [call site] 00402
12 RET_NERRNO [function] [call site] 00403
11 is_fs_type [function] [call site] 00405
12 assert_cc [function] [call site] 00407
12 F_TYPE_EQUAL [function] [call site] 00408
8 read_line [function] [call site] 00409
7 log_debug_errno [function] [call site] 00410
7 parse_pid [function] [call site] 00412
7 log_debug_errno [function] [call site] 00413
7 procfs_file_alloca [function] [call site] 00414
7 read_one_line_file [function] [call site] 00415
7 log_debug_errno [function] [call site] 00416
7 startswith [function] [call site] 00417
7 read_one_line_file [function] [call site] 00418
7 log_debug_errno [function] [call site] 00420
7 getpid_cached [function] [call site] 00421
7 read_one_line_file [function] [call site] 00424
7 log_debug_errno [function] [call site] 00426
7 getenv_for_pid [function] [call site] 00427
8 getpid_cached [function] [call site] 00431
8 strdup_to_full [function] [call site] 00432
8 pid_is_valid [function] [call site] 00434
8 procfs_file_alloca [function] [call site] 00435
8 fopen_unlocked [function] [call site] 00436
8 read_nul_string [function] [call site] 00437
9 read_line_full [function] [call site] 00438
8 startswith [function] [call site] 00439
8 strdup_to_full [function] [call site] 00440
7 log_debug_errno [function] [call site] 00441
7 detect_container_files [function] [call site] 00442
8 log_debug_errno [function] [call site] 00444
7 running_in_pidns [function] [call site] 00445
8 log_debug_errno [function] [call site] 00452
7 log_debug [function] [call site] 00453
7 detect_container_files [function] [call site] 00455
7 container_from_string [function] [call site] 00456
7 log_debug [function] [call site] 00457
7 virtualization_to_string [function] [call site] 00458
6 pid_get_cmdline_strv [function] [call site] 00459
7 pid_get_cmdline_nulstr [function] [call site] 00463
8 procfs_file_alloca [function] [call site] 00464
6 proc_cmdline_filter_pid1_args [function] [call site] 00539
7 STRV_FOREACH [function] [call site] 00544
7 strv_skip [function] [call site] 00545
8 strv_isempty [function] [call site] 00546
8 strv_isempty [function] [call site] 00547
7 strv_extend [function] [call site] 00548
8 strv_extend_with_size [function] [call site] 00549
9 strv_consume_with_size [function] [call site] 00551
10 strv_push_with_size [function] [call site] 00552
11 strv_length [function] [call site] 00553
12 STRV_FOREACH [function] [call site] 00554
7 strv_extend_strv [function] [call site] 00556
7 strv_skip [function] [call site] 00568
6 read_full_file [function] [call site] 00572
7 read_full_file_full [function] [call site] 00573
8 FLAGS_SET [function] [call site] 00576
8 xfopenat_full [function] [call site] 00577
8 read_full_stream_full [function] [call site] 00578
9 FLAGS_SET [function] [call site] 00582
9 FLAGS_SET [function] [call site] 00584
9 FLAGS_SET [function] [call site] 00588
9 warn_file_is_world_accessible [function] [call site] 00589
10 log_syntax [function] [call site] 00591
10 log_warning [function] [call site] 00592
9 FLAGS_SET [function] [call site] 00593
9 FLAGS_SET [function] [call site] 00595
9 memcpy_safe [function] [call site] 00597
9 explicit_bzero_safe [function] [call site] 00598
10 explicit_bzero [function] [call site] 00599
9 MALLOC_SIZEOF_SAFE [function] [call site] 00602
9 errno_or_else [function] [call site] 00606
9 FLAGS_SET [function] [call site] 00608
9 FLAGS_SET [function] [call site] 00611
9 unbase64mem_full [function] [call site] 00613
10 CLEANUP_ERASE_PTR [function] [call site] 00617
10 unbase64_next [function] [call site] 00626
10 unbase64_next [function] [call site] 00627
10 unbase64_next [function] [call site] 00628
10 TAKE_PTR [function] [call site] 00630
9 explicit_bzero_safe [function] [call site] 00644
9 free_and_replace [function] [call site] 00645
9 FLAGS_SET [function] [call site] 00646
9 explicit_bzero_safe [function] [call site] 00649
6 strv_split_full [function] [call site] 00650
4 log_parse_environment_variables [function] [call site] 00687
5 log_set_target_from_string [function] [call site] 00689
6 log_target_from_string [function] [call site] 00690
6 log_set_target [function] [call site] 00691
5 log_warning [function] [call site] 00692
5 log_set_max_level_from_string [function] [call site] 00694
6 extract_first_word [function] [call site] 00695
6 log_level_from_string [function] [call site] 00697
6 log_set_max_level [function] [call site] 00698
6 log_target_from_string [function] [call site] 00700
6 log_level_from_string [function] [call site] 00701
5 log_warning_errno [function] [call site] 00702
5 getenv_bool [function] [call site] 00703
6 parse_boolean [function] [call site] 00705
5 log_warning_errno [function] [call site] 00706
5 log_set_max_level [function] [call site] 00707
5 log_show_color_from_string [function] [call site] 00709
6 parse_boolean [function] [call site] 00710
6 log_show_color [function] [call site] 00711
5 log_warning [function] [call site] 00712
5 log_show_location_from_string [function] [call site] 00714
6 parse_boolean [function] [call site] 00715
6 log_show_location [function] [call site] 00716
5 log_warning [function] [call site] 00717
5 log_show_time_from_string [function] [call site] 00719
6 parse_boolean [function] [call site] 00720
6 log_show_time [function] [call site] 00721
5 log_warning [function] [call site] 00722
5 log_show_tid_from_string [function] [call site] 00724
6 parse_boolean [function] [call site] 00725
6 log_show_tid [function] [call site] 00726
5 log_warning [function] [call site] 00727
5 log_set_ratelimit_kmsg_from_string [function] [call site] 00729
6 parse_boolean [function] [call site] 00730
5 log_warning [function] [call site] 00731
3 log_open [function] [call site] 00732
4 log_close_syslog [function] [call site] 00740
4 log_close_console [function] [call site] 00743
5 safe_close_above_stdio [function] [call site] 00744
6 safe_close [function] [call site] 00745
4 getpid_cached [function] [call site] 00747
4 stderr_is_journal [function] [call site] 00748
5 extract_first_word [function] [call site] 00750
5 safe_atou64 [function] [call site] 00751
6 assert_cc [function] [call site] 00752
6 safe_atollu [function] [call site] 00753
7 safe_atollu_full [function] [call site] 00754
5 safe_atou64 [function] [call site] 00767
4 log_open_journal [function] [call site] 00771
5 create_log_socket [function] [call site] 00772
6 fd_inc_sndbuf [function] [call site] 00780
7 fd_set_sndbuf [function] [call site] 00781
8 getsockopt [function] [call site] 00782
8 setsockopt_int [function] [call site] 00783
9 setsockopt [function] [call site] 00784
8 getsockopt [function] [call site] 00785
8 setsockopt_int [function] [call site] 00786
6 getpid_cached [function] [call site] 00787
6 timeval_store [function] [call site] 00788
6 timeval_store [function] [call site] 00790
6 setsockopt [function] [call site] 00791
5 connect_unix_path [function] [call site] 00792
5 log_close_journal [function] [call site] 00793
4 log_close_syslog [function] [call site] 00794
4 log_close_console [function] [call site] 00795
4 log_open_syslog [function] [call site] 00797
5 create_log_socket [function] [call site] 00798
5 connect_unix_path [function] [call site] 00799
5 safe_close [function] [call site] 00800
5 create_log_socket [function] [call site] 00801
5 connect_unix_path [function] [call site] 00802
5 log_close_syslog [function] [call site] 00803
4 log_close_journal [function] [call site] 00804
4 log_close_console [function] [call site] 00805
4 log_open_kmsg [function] [call site] 00807
5 fd_move_above_stdio [function] [call site] 00809
4 log_close_journal [function] [call site] 00810
4 log_close_syslog [function] [call site] 00811
4 log_close_console [function] [call site] 00812
4 log_close_journal [function] [call site] 00813
4 log_close_syslog [function] [call site] 00814
4 log_open_console [function] [call site] 00815
5 open_terminal [function] [call site] 00816
6 usleep_safe [function] [call site] 00819
7 clock_nanosleep [function] [call site] 00820
7 TIMESPEC_STORE [function] [call site] 00821
6 isatty_safe [function] [call site] 00822
5 fd_move_above_stdio [function] [call site] 00824
3 log_on_console [function] [call site] 00825
3 log_show_color [function] [call site] 00827
1 assert_se [function] [call site] 00828
1 fmkostemp_safe [function] [call site] 00829
2 mkostemp_safe [function] [call site] 00830
3 BLOCK_WITH_UMASK [function] [call site] 00832
3 RET_NERRNO [function] [call site] 00833
2 take_fdopen [function] [call site] 00835
1 assert_se [function] [call site] 00836
1 assert_se [function] [call site] 00839
1 udev_rules_new [function] [call site] 00840
1 udev_rules_parse_file [function] [call site] 00842
2 _cleanup_ [function] [call site] 00843
2 log_warning_errno [function] [call site] 00847
2 log_warning_errno [function] [call site] 00850
2 log_debug [function] [call site] 00855
2 hashmap_put_stats_by_path [function] [call site] 00856
3 hashmap_ensure_put [function] [call site] 00862
4 hashmap_ensure_allocated [function] [call site] 00863
5 hashmap_base_ensure_allocated [function] [call site] 00864
4 hashmap_put [function] [call site] 00899
5 bucket_hash [function] [call site] 00901
5 bucket_scan [function] [call site] 00902
5 plain_bucket_at [function] [call site] 00903
6 bucket_at [function] [call site] 00904
7 CAST_ALIGN_PTR [function] [call site] 00905
7 storage_ptr [function] [call site] 00906
6 HASHMAP_BASE [function] [call site] 00907
5 bucket_at_swap [function] [call site] 00908
5 hashmap_put_boldly [function] [call site] 00909
2 log_warning_errno [function] [call site] 00913
2 fd_warn_permissions [function] [call site] 00914
2 log_debug [function] [call site] 00927
2 LIST_APPEND [function] [call site] 00932
2 read_line [function] [call site] 00933
2 skip_leading_chars [function] [call site] 00934
2 strextend [function] [call site] 00938
2 log_file_error [function] [call site] 00943
2 rule_add_line [function] [call site] 00944
3 _cleanup_ [function] [call site] 00945
3 LIST_APPEND [function] [call site] 00953
3 check_token_delimiters [function] [call site] 00955
4 log_line_notice [function] [call site] 00959
4 log_line_notice [function] [call site] 00961
4 log_line_notice [function] [call site] 00962
4 log_line_notice [function] [call site] 00963
4 log_line_notice [function] [call site] 00964
4 log_line_notice [function] [call site] 00965
4 log_line_notice [function] [call site] 00966
3 parse_line [function] [call site] 00967
4 strstrip [function] [call site] 00972
5 delete_trailing_chars [function] [call site] 00973
5 skip_leading_chars [function] [call site] 00975
4 utf8_is_valid [function] [call site] 00977
5 utf8_is_valid_n [function] [call site] 00978
6 _unlikely_ [function] [call site] 00980
6 utf8_encoded_valid_unichar [function] [call site] 00981
7 utf8_encoded_expected_len [function] [call site] 00984
7 utf8_encoded_to_unichar [function] [call site] 00985
8 utf8_encoded_expected_len [function] [call site] 00987
7 utf8_unichar_to_encoded_len [function] [call site] 00988
7 unichar_is_valid [function] [call site] 00989
6 _unlikely_ [function] [call site] 00990
4 log_syntax_invalid_utf8 [function] [call site] 00991
4 log_syntax [function] [call site] 00994
4 SYNTHETIC_ERRNO [function] [call site] 00995
4 string_is_safe [function] [call site] 00998
4 log_syntax [function] [call site] 01000
4 SYNTHETIC_ERRNO [function] [call site] 01001
4 nulstr_contains [function] [call site] 01002
5 nulstr_get [function] [call site] 01003
6 NULSTR_FOREACH [function] [call site] 01004
4 startswith [function] [call site] 01006
4 NULSTR_FOREACH [function] [call site] 01007
4 startswith [function] [call site] 01012
4 log_syntax [function] [call site] 01013
4 free_and_replace [function] [call site] 01015
4 log_syntax [function] [call site] 01016
4 log_syntax [function] [call site] 01018
4 log_syntax [function] [call site] 01019
3 log_line_error_errno [function] [call site] 01034
3 log_line_warning [function] [call site] 01037
3 check_tokens_order [function] [call site] 01038
4 LIST_FOREACH [function] [call site] 01040
4 log_line_warning [function] [call site] 01041
3 sort_tokens [function] [call site] 01042
4 LIST_FOREACH [function] [call site] 01045
4 LIST_REMOVE [function] [call site] 01046
4 LIST_APPEND [function] [call site] 01047
2 log_file_error [function] [call site] 01050
2 rule_resolve_goto [function] [call site] 01051
3 LIST_FOREACH [function] [call site] 01053
3 FLAGS_SET [function] [call site] 01054
3 LIST_FOREACH [function] [call site] 01055
3 streq_ptr [function] [call site] 01056
3 log_line_error [function] [call site] 01058
3 log_line_warning [function] [call site] 01060
3 udev_rule_line_clear_tokens [function] [call site] 01061
4 LIST_FOREACH [function] [call site] 01063
4 udev_rule_token_free [function] [call site] 01064
3 udev_rule_line_free [function] [call site] 01067
4 udev_rule_line_clear_tokens [function] [call site] 01068
4 LIST_REMOVE [function] [call site] 01069
2 LIST_FOREACH [function] [call site] 01073
2 udev_check_rule_line [function] [call site] 01074
3 udev_check_unused_labels [function] [call site] 01075
4 FLAGS_SET [function] [call site] 01077
4 FLAGS_SET [function] [call site] 01078
4 log_line_notice [function] [call site] 01079
3 udev_check_conflicts_duplicates [function] [call site] 01080
4 LIST_FOREACH [function] [call site] 01082
4 LIST_FOREACH [function] [call site] 01083
4 tokens_eq [function] [call site] 01084
5 token_type_and_value_eq [function] [call site] 01087
6 type_has_nulstr_value [function] [call site] 01091
6 nulstr_eq [function] [call site] 01092
7 NULSTR_FOREACH [function] [call site] 01093
7 nulstr_contains [function] [call site] 01094
7 NULSTR_FOREACH [function] [call site] 01095
7 nulstr_contains [function] [call site] 01096
6 streq_ptr [function] [call site] 01097
5 token_type_and_data_eq [function] [call site] 01098
4 conflicting_op [function] [call site] 01104
4 nulstr_tokens_conflict [function] [call site] 01105
5 type_has_nulstr_value [function] [call site] 01108
5 token_type_and_data_eq [function] [call site] 01109
5 NULSTR_FOREACH [function] [call site] 01110
5 nulstr_contains [function] [call site] 01111
5 NULSTR_FOREACH [function] [call site] 01112
5 NULSTR_FOREACH [function] [call site] 01113
4 log_line_warning [function] [call site] 01116
4 log_line_error [function] [call site] 01117
1 log_info_errno [function] [call site] 01119
1 assert_se [function] [call site] 01120