Messages in this thread | | | Date | Wed, 31 Jan 2007 22:10:31 -0800 | From | "H. Peter Anvin" <> | Subject | Re: Linux 2.6.20-rc7 |
| |
Linus Torvalds wrote: > > On Wed, 31 Jan 2007, H. Peter Anvin wrote: >> It would be interesting to know what the inode numbers are in the image; also, >> what is the exact behaviour -- do you end up with a missing link, or do both >> entries end up getting hard-linked to an empty file? > > Judging by the > > request_module: runaway loop modprobe binfmt-0000 > > one or more of the hardlinked binaries (modprobe being one, but not > necessarily the one that initially triggers hits) will read all zeroes- > > Or at least bytes at offsets 2 and 3 will read as zero, causing it to not > be recognized as a proper binary, causing that "binfmt-0000" thing. >
Or perhaps not read at all, which would explain the problem.
cpio represents a hard link as who headers with the same type and the same file (inode) number and a link count that is > 1. Only the first one contains data; the subsequent ones have length 0. It's fairly easy for a bug in the decoder to truncate the file upon encountering the second header, since this is somewhat of a special case (it would have been better if the cpio format distinguished "hard link" explicitly, as tar does.)
I will look into this as soon as I can, but as I'm currently in the middle of job hunting it might take until the weekend.
-hpa - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |