Re: [PATCH] initramfs: Fix initramfs to work with hardlinked init

From: H. Peter Anvin
Date: Mon Apr 06 2009 - 20:02:38 EST


Randy Robertson wrote:
> Change cb6ff208076b5f434db1b8c983429269d719cef5 seems to have broken
> booting from initramfs with /sbin/init being a hardlink. It seems like
> the logic required for XIP on nommu, i.e. ftruncate to reported cpio
> header file size (body_len) is broken for hardlinks, which have
> a reported size of 0, and the truncate thus nukes the contents of the
> file (in my case busybox), making boot impossible and ending with runaway
> loop modprobe binfmt-0000 - and of course 0000 is not a valid binary format.
>
> My fix is to only call ftruncate if size is non-zero which fixes things
> for me, but I'm not certain whether this will break XIP for those files
> on nommu systems, although I would guess not.
>
> This update adds David's ack and fixes whitespace.
>
> Signed-off-by: Randy Robertson <rmrobert@xxxxxxxxxx>
> Acked-by: David Howells <dhowells@xxxxxxxxxx>

Looks right to me.

Acked-by: H. Peter Anvin <hpa@xxxxxxxxx>

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/