Thread (8 messages) flat view 8 messages, 3 authors, 2021-11-10

Re: [PATCH v4 2/4] initramfs: print helpful cpio error on "crc" magic

From: Matthew Wilcox <willy@infradead.org>
Date: 2021-11-10 17:30:58
Also in: linux-fsdevel

On Wed, Nov 10, 2021 at 01:38:48PM +0100, David Disseldorp wrote:
Contrary to the buffer-format.rst documentation, initramfs cpio
extraction does not support "crc" archives, which carry "070702"
header magic. Make it a little clearer that "newc" (magic="070701") is
the only supported cpio format, by extending the POSIX.1 ASCII
(magic="070707") specific error message to also cover "crc" magic.
Wouldn't it be easier to just add support?  As far as I can tell from
looking at documentation, the "crc" format is the same as newc, except
that it uses some reserved bits to store the crc.  Since we ignore those
bits, we could just check for either 070701 or 070702.
quoted hunk ↗ jump to hunk
Signed-off-by: David Disseldorp <redacted>
---
 init/initramfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/init/initramfs.c b/init/initramfs.c
index 2f79b3ec0b40..44e692ae4646 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -258,7 +258,7 @@ static int __init do_collect(void)
 static int __init do_header(void)
 {
 	if (memcmp(collected, "070701", 6)) {
-		if (memcmp(collected, "070707", 6) == 0)
+		if (memcmp(collected, "0707", 4) == 0)
 			error("incorrect cpio method used: use -H newc option");
 		else
 			error("no cpio magic");
-- 
2.31.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help