Re: [PATCH] give elf_check_arch() a chance for checking endian mismatch
From: Valdis . Kletnieks
Date: Sun Mar 23 2008 - 01:06:21 EST
On Thu, 20 Mar 2008 03:03:30 +0800, Roy Lee said:
(Sorry for late reply, catching up finally)
> I'd like to warn for endianess mismatch, or unsupported feature( hardware
> float point support) when loading an ELF file.
> - if (loc->elf_ex.e_type != ET_EXEC && loc->elf_ex.e_type != ET_DYN)
> - goto out;
> if (!elf_check_arch(&loc->elf_ex))
> goto out;
> + if (loc->elf_ex.e_type != ET_EXEC && loc->elf_ex.e_type != ET_DYN)
> + goto out;
It would seem to me that if it isn't an ET_EXEC or ET_DYN, the question of
whether it passes elf_check_arch() would be rather moot? In any case, you
don't get to actually *warn* for it, because you end up with a 'goto out'
in either case, and elf_check_arch is a pretty small macro on most archs.
Also, if you change the order there, do you want to also change the order
in load_elf_interp(), where the equivalent test is done?
Attachment:
pgp00000.pgp
Description: PGP signature