summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2006-12-06 20:37:19 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 08:39:36 -0800
commit2e591bbc0d563e12f5a260fbbca0df7d5810910e (patch)
treec113397d49285808aaa750cf76e0961649f9f4f7
parentf6337e2af42f9ea9ce296cfa18966dcf4f045f7d (diff)
downloadlinux-2e591bbc0d563e12f5a260fbbca0df7d5810910e.tar.bz2
[PATCH] Make initramfs printk a warning on incorrect cpio type
It turns out that the "-c" option of cpio is highly unportable even between distros let alone unix variants, and may actually make the wrong type of cpio archive. I just wasted quite some time on this, and the kernel can detect this and warn about it (it's __init memory so it gets thrown away and thus there is no runtime overhead) Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--init/initramfs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/init/initramfs.c b/init/initramfs.c
index d28c1094d7e5..85f04037ade1 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -182,6 +182,10 @@ static int __init do_collect(void)
static int __init do_header(void)
{
+ if (memcmp(collected, "070707", 6)==0) {
+ error("incorrect cpio method used: use -H newc option");
+ return 1;
+ }
if (memcmp(collected, "070701", 6)) {
error("no cpio magic");
return 1;