Hello Ivan Orlov, Commit 1026392d10af ("selftests: ALSA: Cover userspace-driven timers with test") from Aug 13, 2024 (linux-next), leads to the following Smatch static checker warning: tools/testing/selftests/alsa/utimer-test.c:135 timer_f_utimer() error: uninitialized symbol 'ticking_thread'. tools/testing/selftests/alsa/utimer-test.c 106 TEST_F(timer_f, utimer) { 107 char command[64]; 108 pthread_t ticking_thread; 109 int total_ticks = 0; 110 FILE *rfp; 111 char *buf = malloc(TIMER_OUTPUT_BUF_LEN); 112 113 ASSERT_NE(buf, NULL); 114 115 /* The timeout should be the ticks interval * count of ticks + some delta */ 116 sprintf(command, "./global-timer %d %d %d", SNDRV_TIMER_GLOBAL_UDRIVEN, 117 self->utimer_info->id, TICKS_COUNT * TIMER_FREQ_SEC + TICKS_RECORDING_DELTA); 118 119 rfp = popen(command, "r"); 120 while (fgets(buf, TIMER_OUTPUT_BUF_LEN, rfp)) { 121 buf[TIMER_OUTPUT_BUF_LEN - 1] = 0; 122 switch (parse_timer_output(buf)) { 123 case TIMER_APP_STARTED: 124 /* global-timer waits for timer to trigger, so start the ticking thread */ 125 pthread_create(&ticking_thread, NULL, ticking_func, ^^^^^^^^^^^^^^ ticking_thread is only initialized here, not on other paths. 126 &self->utimer_info->fd); 127 break; 128 case TIMER_APP_RESULT: 129 total_ticks = parse_timer_result(buf); 130 break; 131 case TIMER_NO_EVENT: 132 break; 133 } 134 } 135 pthread_join(ticking_thread, NULL); ^^^^^^^^^^^^^^ uninitialized. 136 ASSERT_EQ(total_ticks, TICKS_COUNT); 137 pclose(rfp); 138 } regards, dan carpenter