diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2024-03-19 13:03:52 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2024-03-19 13:03:52 -0400 |
commit | f004c1ade8d617a82cea2fe249434cccb47a2358 (patch) | |
tree | 34571e76039cf2ee2fee93c3f1bdb1bc6d2de5f6 /arch/x86_64/elf.c | |
parent | dd5d9e1d48396cbc226ff14fe557a55613c91fcb (diff) | |
download | jove-kernel-f004c1ade8d617a82cea2fe249434cccb47a2358.tar.gz jove-kernel-f004c1ade8d617a82cea2fe249434cccb47a2358.tar.bz2 jove-kernel-f004c1ade8d617a82cea2fe249434cccb47a2358.zip |
rename abi to sys. better memory allocation
Diffstat (limited to 'arch/x86_64/elf.c')
-rw-r--r-- | arch/x86_64/elf.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/x86_64/elf.c b/arch/x86_64/elf.c index 60b8f13..969cbf0 100644 --- a/arch/x86_64/elf.c +++ b/arch/x86_64/elf.c @@ -37,7 +37,15 @@ elf_load(const void *data, size_t len) struct ELF_phdr *phdr = &phdrs[phdri]; void *pdata = (void*)phdr->p_vaddr; - mem_ensure_range(phdr->p_vaddr, phdr->p_vaddr + phdr->p_memsz, true, true); + mem_ensure_range( + phdr->p_vaddr, + phdr->p_vaddr + phdr->p_memsz, + (page_flags_t) { + .present = true, + .writeable = true, + .useraccess = true, + .executable = true + }); if(phdr->p_type == PT_LOAD) { memcpy(pdata, (void*)((uintptr_t)data + phdr->p_offset), phdr->p_filesz); |