[klibc] Re: [PATCH] initramfs: CPIO unpacking fix
jeff at garzik.org
Tue Mar 21 23:14:04 PST 2006
Michael Neuling wrote:
> Unlink files, symlinks, FIFOs, devices etc. (except directories) before
> writing them when extracting CPIOs. This stops weird behaviour like:
> 1) writing through symlinks created in earlier CPIOs. eg foo->bar in
> the first CPIO. Having foo as a non-link in a subsequent CPIO,
> results in bar being written and foo remaining as a symlink.
> 2) if the first version of file foo is larger than foo in a
> subsequent CPIO, we end up with a mix of the two. ie. neither
> the first or second version of /foo.
> 3) special files like devices, fifo etc. can't be overwritten in
> subsequent CPIOS.
> With this, the kernel will more closely replicate
> for i in *.cpio; do cpio --extract --unconditional < $i ; done
> This is a change but it's regarded as fixing broken functionality.
> Signed-off-by: Michael Neuling <mikey at neuling.org>
For the kernel, I would regard that as needless code... Coding for a
chain of CPIO archives overwriting each other seems like overengineering.
More information about the klibc