From b9058fe020c289f7ba6cf3a303524c90072ffb68 Mon Sep 17 00:00:00 2001 From: Daniel Samson <12231216+daniel-samson@users.noreply.github.com> Date: Sun, 9 Aug 2026 19:40:39 +0100 Subject: [PATCH] file-system: the mount-failure log has no scratch buffer (orphaned bounds fix) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The mount-failure diagnostic wrote through a fixed [96]u8 bufPrint buffer, which the bounds gate flags as an undeclared ceiling. Three ring appends instead — no buffer, no fixed length to justify. This fix was made during the V2a bounds work but never git-added, so the committed harness still carried the flagged buffer; committing it now cleans the tip. --- library/kernel/file-system-harness.zig | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/library/kernel/file-system-harness.zig b/library/kernel/file-system-harness.zig index 80d629f..dce1706 100644 --- a/library/kernel/file-system-harness.zig +++ b/library/kernel/file-system-harness.zig @@ -310,8 +310,11 @@ pub fn Server(comptime Engine: type) type { // The failure diagnostic goes to the kernel ring directly, not // through std.log — the mount that failed may be /system/logs // itself, and a routed record would then have nowhere to land. - var line: [96]u8 = undefined; - _ = logging.write(std.fmt.bufPrint(&line, "file-system: could not mount {s}\n", .{m.prefix}) catch "file-system: a mount failed\n"); + // Three appends rather than a formatted line so there is no + // scratch buffer (and so no fixed length to justify). + _ = logging.write("file-system: could not mount "); + _ = logging.write(m.prefix); + _ = logging.write("\n"); } } mounted = true;