* binfmt_elf.c EI_CLASS check patch
@ 2007-02-26 16:53 Chris Rohlf
0 siblings, 0 replies; only message in thread
From: Chris Rohlf @ 2007-02-26 16:53 UTC (permalink / raw)
To: linux-kernel
During some research of mine I realized most of my ELF analysis tools
break on ELF objects with an ELF header e_ident[EI_CLASS] not equal to
ELFCLASS32 or ELFCLASS64. These objects still work fine because the
ELF loader code does not check this value upon execution. So I wrote
a quick patch to do it.
--- binfmt_elf.c.or1 2007-02-25 18:46:29.000000000 -0500
+++ binfmt_elf.c 2007-02-25 17:35:29.000000000 -0500
@@ -573,6 +573,10 @@ static int load_elf_binary(struct linux_
if (!bprm->file->f_op||!bprm->file->f_op->mmap)
goto out;
+ if (loc->elf_ex.e_ident[EI_CLASS] != ELFCLASS32 &&
+ loc->elf_ex.e_ident[EI_CLASS] != ELFCLASS64)
+ goto out;
+
/* Now read in all of the header information */
if (loc->elf_ex.e_phentsize != sizeof(struct elf_phdr))
goto out;
I am not on the list, please CC replies to me.
Chris
--
http://em386.blogspot.com
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-02-26 16:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-26 16:53 binfmt_elf.c EI_CLASS check patch Chris Rohlf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.