* [PATCH] scripts: make_fit: propagate compressor failures
@ 2026-11-03 16:42 Hamdy Abou El Anein
0 siblings, 0 replies; only message in thread
From: Hamdy Abou El Anein @ 2026-11-03 16:42 UTC (permalink / raw)
To: sjg; +Cc: hamdy.aea, linux-arm-kernel, linux-kernel
From: Hamdy Abou El Anein <hamdy.aea@protonmail.com>
compress_data() ignores the compressor exit status and marks the
operation successful even if the tool wrote only partial output.
build_fit() can then place that truncated data into a FIT image.
Use check_call() so compressor failures abort image generation.
FileNotFoundError still allows trying the next supported executable.
Tested a compressor that writes partial output and exits with status
23: compression raises CalledProcessError and the CLI creates no FIT.
Also generated uncompressed and gzip FIT images with a real DTB and
ramdisk, and verified their payloads through libfdt and gzip.
AI assistance: ChatGPT/Codex identified the issue and prepared the
change, commit message and executable regression tests.
Fixes: 7a23b027ec17 ("arm64: boot: Support Flat Image Tree")
Signed-off-by: Hamdy Abou El Anein <hamdy.aea@protonmail.com>
---
scripts/make_fit.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/make_fit.py b/scripts/make_fit.py
index 9bd35aa7211..1a63364388c 100755
--- a/scripts/make_fit.py
+++ b/scripts/make_fit.py
@@ -214,7 +214,7 @@ def compress_data(inf, compress):
if tool in ('zstd', 'xz'):
cmd.extend(['-T0']) # Use all available cores
cmd.append('-c')
- subprocess.call(cmd, stdin=inf, stdout=outf)
+ subprocess.check_call(cmd, stdin=inf, stdout=outf)
done = True
break
except FileNotFoundError:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-11-03 16:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03 16:42 [PATCH] scripts: make_fit: propagate compressor failures Hamdy Abou El Anein
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®