elf: fix epstein related bugs
Signed-off-by: kaguya3311 <kaguya3311@national.shitposting.agency>
This commit is contained in:
+2
-4
@@ -149,9 +149,7 @@ uint64_t module_load(const char *path) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ehdr->e_ident[EI_CLASS] != ELFCLASS64 ||
|
if (ehdr->e_ident[EI_CLASS] != ELFCLASS64 || ehdr->e_ident[EI_DATA] != ELFDATA2LSB || (ehdr->e_ident[EI_OSABI] != ELFOSABI_NONE && ehdr->e_ident[EI_OSABI] != ELFOSABI_LINUX) || ehdr->e_machine != EM_X86_64) {
|
||||||
ehdr->e_ident[EI_DATA] != ELFDATA2LSB || ehdr->e_ident[EI_OSABI] != 0 ||
|
|
||||||
ehdr->e_machine != EM_X86_64) {
|
|
||||||
kprintf("This ELF isn't for us\n");
|
kprintf("This ELF isn't for us\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -404,7 +402,7 @@ bool elf_load(struct pagemap *pagemap, struct resource *res, uint64_t load_base,
|
|||||||
|
|
||||||
if (header.e_ident[EI_CLASS] != ELFCLASS64 ||
|
if (header.e_ident[EI_CLASS] != ELFCLASS64 ||
|
||||||
header.e_ident[EI_DATA] != ELFDATA2LSB ||
|
header.e_ident[EI_DATA] != ELFDATA2LSB ||
|
||||||
header.e_ident[EI_OSABI] != 0 || header.e_machine != EM_X86_64) {
|
(header.e_ident[EI_OSABI] != ELFOSABI_NONE && header.e_ident[EI_OSABI] != ELFOSABI_LINUX) || header.e_machine != EM_X86_64) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user