RFC: bug in load_elf_binary?
From: Chris Friesen
Date: Wed Sep 12 2007 - 14:36:23 EST
No responses in a couple days so I'm resending. I've CC'd a few people
who've touched binfmt_elf.c recently.
We've got an unusual elf binary and we seem to be running into a bug in
the elf loader. I'm not an elf expert, so my apologies if I get the
terminology wrong.
The elf spec says that PT_LOAD segments must be ordered by vaddr. We
want to have a segment at a relatively low fixed vaddr. The exact
address is not important, except that it's lower than the standard elf
headers and so it must be the first segment in the elf file.
However, this segment also has no size in the file...it's basically all
statically allocated at runtime.
In the kernel elf loader, the p_vaddr and p_offset of the first segment
are used to determine the load_addr for use with the rest of the
segments. In the case of this elf file, the first segment does not
actually have a valid p_offset.
Anyone have any suggestions on how to deal with this? One crude hack we
considered was to simply not set the load_addr if the first segment
doesn't have a valid p_offset, but that doesn't solve the general case.
Thanks,
Chris
-
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/