|
|
Log in / Subscribe / Register

stalld v1.28.1

From:  Clark Williams <clrkwllms-AT-kernel.org>
To:  wander-AT-redhat.com, debarbos-AT-redhat.com, juri.lelli-AT-redhat.com, marco.chiappero-AT-suse.com, chris.friesen-AT-windriver.com, luochunsheng-AT-ustc.edu, luffyluo-AT-tencent.com, davidlt-AT-rivosinc.com, clrkwllms-AT-kernel.org, williams-AT-redhat.com, linux-rt-users-AT-vger.kernel.org
Subject:  [ANNOUNCE] stalld v1.28.1
Date:  Wed, 17 Jun 2026 17:16:03 -0500
Message-ID:  <ajMco4CZyWrgwnNs@lysander>
Archive-link:  Article

Hello,

stalld v1.28.1 is available at:

  https://git.kernel.org/pub/scm/utils/stalld/stalld.git

  tag: v1.28.1

This is a hardening and test reliability release. It contains 17 bug
fixes addressing buffer safety, data races, signal safety, type
correctness, and a logic error in starvation timing. There is one
behavioral change (--force_fifo rejection in single-threaded mode), one
BPF performance improvement (hash map replaces linear scan), and a
major test suite overhaul for reliability and speed.

Changes since v1.27.1:

Bug Fixes — stalld core:

  Memory safety & buffer handling:
  - Fix buffer underflow in read_proc_stat and sched_debug_get
  - Fix uninitialized buffer use in find_debugfs_mount_point
  - Fix missing null-termination in is_runnable
  - Fix snprintf truncation check in is_runnable
  - Remove NULL deref in fill_waiting_task error handler

  Type correctness:
  - Fix format string type mismatch for time_t
  - Fix format string type mismatch in set_cpu_affinity
  - Fix type mismatches in detect_task_format

  Concurrency & signal safety:
  - Fix data race on config_buffer_size
  - Fix data race on thread_running
  - Remove async-signal-unsafe calls from signal handler
  - Check pthread_create return in both aggressive_main and
    conservative_main

  Logic fixes:
  - Fix signed integer overflow in set_reservation
  - Fix error return in queue_track_get_cpu
  - Fix inverted DAEMON_UMASK value
  - Guard nextline() returns in sched_debug parsing
  - Use CLOCK_MONOTONIC for starvation detection

New behavior:
  - Reject --force_fifo in single-threaded mode (runtime validation)

BPF:
  - Replace linear task scan with hash map

Test infrastructure overhaul:

  New helpers and assertions:
  - assert_success(), assert_log_contains(), assert_stalld_rejects()
  - find_starved_child(), cleanup_scenario(), test_section()
  - wait_for_process_exit, process helpers, starvation/boost asserts
  - init_functional_test() consolidation

  Reliability fixes:
  - Fix subshell swallowing test results
  - Fix boost verification in runtime and duration tests
  - Fix journal flush race in logging destinations test
  - Fix async-signal-unsafe handler in tests
  - Fix repeated log match finding same line
  - Fix CPU selection grep substring matches
  - Fix task exit timing in test_boost_restoration

  Cleanup & speed:
  - Remove dead code, redundant sleeps, weak/assertion-free test blocks
  - Replace sleep-based waits with event waits
  - Reduce starvation_gen durations and default wait timeouts
  - Abort immediately on test failure

Chore:
  - Remove legacy test infrastructure and stale docs

 57 files changed, 969 insertions(+), 10781 deletions(-)

Contributors:
  Clark Williams (2):
        tests: Fix journal flush race in logging destinations test
        stalld: bump version to 1.28.1

  Wander Lairson Costa (52):
        stalld: Reject --force_fifo in single-threaded mode
        bpf: Replace linear task scan with hash map
        stalld: 16 bug fixes (see above)
        tests: 30 test infrastructure commits
        chore: Remove legacy test infrastructure and stale docs

Clark
-- 
The United States Coast Guard
Ruining Natural Selection since 1790



Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds