Re: [PATCH V5 17/21] riscv: compat: vdso: Add setup additional pages implementation

Guo Ren
2022-02-23T12:42:45Z

On Wed, Feb 23, 2022 at 8:19 PM Rolf Eike Beer <eb@emlix.com> wrote:
>
> > @@ -66,35 +68,35 @@ static int vdso_mremap(const struct vm_special_mapping
> > *sm, return 0;
> > }
> >
> > -static int __init __vdso_init(void)
> > +static int __init __vdso_init(struct __vdso_info *vdso_info)
> > {
> > unsigned int i;
> > struct page **vdso_pagelist;
> > unsigned long pfn;
> >
> > - if (memcmp(vdso_info.vdso_code_start, "\177ELF", 4)) {
> > + if (memcmp(vdso_info->vdso_code_start, "\177ELF", 4)) {
> > pr_err("vDSO is not a valid ELF object!\n");
> > return -EINVAL;
> > }
> >
>
> Does anyone actually guarantee that this is at least this 4 bytes long?

You can ref:
arch/arm64/kernel/vdso.c
arch/arm/kernel/vdso.c
arch/nds32/kernel/vdso.c

and in arch/powerpc/boot/elf.h:
arch/powerpc/kernel/fadump.c: memcpy(elf->e_ident, ELFMAG, SELFMAG);
arch/powerpc/boot/elf.h:#define ELFMAG0 0x7f /* EI_MAG */
arch/powerpc/boot/elf.h:#define ELFMAG1 'E'
arch/powerpc/boot/elf.h:#define ELFMAG2 'L'
arch/powerpc/boot/elf.h:#define ELFMAG3 'F'
arch/powerpc/boot/elf.h:#define ELFMAG "\177ELF"
arch/powerpc/boot/elf.h:#define SELFMAG 4

>
> Eike
> --
> Rolf Eike Beer, emlix GmbH, https://www.emlix.com
> Fon +49 551 30664-0, Fax +49 551 30664-11
> Gothaer Platz 3, 37083 Göttingen, Germany
> Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
> Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055
>
> emlix - smart embedded open source

--
Best Regards
Guo Ren

ML: https://lore.kernel.org/linux-csky/