Skip to contentSkip to conversation

handle 512 byte aligned gzip headers

PATCH New Olaf Hering 1 participant 1 message May 23, 2004 VFS

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 handle 512 byte aligned gzip headers

This one is from Al, maybe he sent it already. Some compressed initramfs cpio archive cant be uncompressed with current kernels.

 <viro>  olh: what happens does happen when the end of final header is well-aligned
 <viro>  olh: cpio does pad the sucker otherwise and that's enough to mask the bug in do_skip()
 <viro>  olh: if the end of header is on a multiple of 512, as it is in your case, it _is_ the last thing gunzip shoves into window
 <viro>  olh: and there's nothing past it
 <viro>  olh: fix is trivial - in do_skip() replace <= with <
init/initramfs.c +1 -1
diff -purNX /tmp/kernel_exclude.txt linux-2.6.7-rc1.orig/init/initramfs.c linux-2.6.7-rc1/init/initramfs.c
@@ -207,7 +207,7 @@ static int __init do_header(void)
 
 static int __init do_skip(void)
 {
-	if (this_header + count <= next_header) {
+	if (this_header + count < next_header) {
 		eat(count);
 		return 1;
 	} else {
Signature · 3 lines
USB is for mice, FireWire is for men!

sUse lINUX ag, nÜRNBERG