handle 512 byte aligned gzip headers
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
@@ -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