X-Git-Url: https://git.stricted.de/?a=blobdiff_plain;f=fs%2Fbinfmt_elf.c;h=469666df91da296f8ca0e18688a2fcc4308a5459;hb=2b7ed20a8df7e6e8b12c21c984e1ac65042ce11a;hp=73b01e474fdc630bcc71e6c883d59b5009b64502;hpb=c0a3a64e723324ae6dda53214061a71de63808c3;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 73b01e474fdc..469666df91da 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -1235,9 +1235,8 @@ static int load_elf_library(struct file *file) goto out_free_ph; } - len = ELF_PAGESTART(eppnt->p_filesz + eppnt->p_vaddr + - ELF_MIN_ALIGN - 1); - bss = eppnt->p_memsz + eppnt->p_vaddr; + len = ELF_PAGEALIGN(eppnt->p_filesz + eppnt->p_vaddr); + bss = ELF_PAGEALIGN(eppnt->p_memsz + eppnt->p_vaddr); if (bss > len) { error = vm_brk(len, bss - len); if (error) @@ -1726,7 +1725,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t, const struct user_regset *regset = &view->regsets[i]; do_thread_regset_writeback(t->task, regset); if (regset->core_note_type && regset->get && - (!regset->active || regset->active(t->task, regset))) { + (!regset->active || regset->active(t->task, regset) > 0)) { int ret; size_t size = regset->n * regset->size; void *data = kmalloc(size, GFP_KERNEL);