From: Christophe Leroy <christophe.leroy@c-s.fr>
To: Sven Schnelle <svens@stackframe.org>, kexec@lists.infradead.org
Cc: deller@gmx.de, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v3 5/7] kexec_elf: remove elf_addr_to_cpu macro
Date: Wed, 10 Jul 2019 17:09:29 +0200 [thread overview]
Message-ID: <49206784-009c-391b-5f9a-11e9b1de930b@c-s.fr> (raw)
In-Reply-To: <20190710142944.2774-6-svens@stackframe.org>
Le 10/07/2019 à 16:29, Sven Schnelle a écrit :
> It had only one definition, so just use the function directly.
It had only one definition because it was for ppc64 only.
But as far as I understand (at least from the name of the new file), you
want it to be generic, don't you ? Therefore I get on 32 bits it would
be elf32_to_cpu().
Christophe
>
> Signed-off-by: Sven Schnelle <svens@stackframe.org>
> ---
> kernel/kexec_elf.c | 20 +++++++++-----------
> 1 file changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/kernel/kexec_elf.c b/kernel/kexec_elf.c
> index 70d31b8feeae..99e6d63b5dfc 100644
> --- a/kernel/kexec_elf.c
> +++ b/kernel/kexec_elf.c
> @@ -8,8 +8,6 @@
> #include <linux/slab.h>
> #include <linux/types.h>
>
> -#define elf_addr_to_cpu elf64_to_cpu
> -
> #ifndef Elf_Rel
> #define Elf_Rel Elf64_Rel
> #endif /* Elf_Rel */
> @@ -143,9 +141,9 @@ static int elf_read_ehdr(const char *buf, size_t len, struct elfhdr *ehdr)
> ehdr->e_type = elf16_to_cpu(ehdr, buf_ehdr->e_type);
> ehdr->e_machine = elf16_to_cpu(ehdr, buf_ehdr->e_machine);
> ehdr->e_version = elf32_to_cpu(ehdr, buf_ehdr->e_version);
> - ehdr->e_entry = elf_addr_to_cpu(ehdr, buf_ehdr->e_entry);
> - ehdr->e_phoff = elf_addr_to_cpu(ehdr, buf_ehdr->e_phoff);
> - ehdr->e_shoff = elf_addr_to_cpu(ehdr, buf_ehdr->e_shoff);
> + ehdr->e_entry = elf64_to_cpu(ehdr, buf_ehdr->e_entry);
> + ehdr->e_phoff = elf64_to_cpu(ehdr, buf_ehdr->e_phoff);
> + ehdr->e_shoff = elf64_to_cpu(ehdr, buf_ehdr->e_shoff);
> ehdr->e_flags = elf32_to_cpu(ehdr, buf_ehdr->e_flags);
> ehdr->e_phentsize = elf16_to_cpu(ehdr, buf_ehdr->e_phentsize);
> ehdr->e_phnum = elf16_to_cpu(ehdr, buf_ehdr->e_phnum);
> @@ -190,18 +188,18 @@ static int elf_read_phdr(const char *buf, size_t len,
> buf_phdr = (struct elf_phdr *) pbuf;
>
> phdr->p_type = elf32_to_cpu(elf_info->ehdr, buf_phdr->p_type);
> - phdr->p_offset = elf_addr_to_cpu(elf_info->ehdr, buf_phdr->p_offset);
> - phdr->p_paddr = elf_addr_to_cpu(elf_info->ehdr, buf_phdr->p_paddr);
> - phdr->p_vaddr = elf_addr_to_cpu(elf_info->ehdr, buf_phdr->p_vaddr);
> + phdr->p_offset = elf64_to_cpu(elf_info->ehdr, buf_phdr->p_offset);
> + phdr->p_paddr = elf64_to_cpu(elf_info->ehdr, buf_phdr->p_paddr);
> + phdr->p_vaddr = elf64_to_cpu(elf_info->ehdr, buf_phdr->p_vaddr);
> phdr->p_flags = elf32_to_cpu(elf_info->ehdr, buf_phdr->p_flags);
>
> /*
> * The following fields have a type equivalent to Elf_Addr
> * both in 32 bit and 64 bit ELF.
> */
> - phdr->p_filesz = elf_addr_to_cpu(elf_info->ehdr, buf_phdr->p_filesz);
> - phdr->p_memsz = elf_addr_to_cpu(elf_info->ehdr, buf_phdr->p_memsz);
> - phdr->p_align = elf_addr_to_cpu(elf_info->ehdr, buf_phdr->p_align);
> + phdr->p_filesz = elf64_to_cpu(elf_info->ehdr, buf_phdr->p_filesz);
> + phdr->p_memsz = elf64_to_cpu(elf_info->ehdr, buf_phdr->p_memsz);
> + phdr->p_align = elf64_to_cpu(elf_info->ehdr, buf_phdr->p_align);
>
> return elf_is_phdr_sane(phdr, len) ? 0 : -ENOEXEC;
> }
>
next prev parent reply other threads:[~2019-07-10 15:23 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-10 14:29 [PATCH v3 0/7] kexec: add generic support for elf kernel images Sven Schnelle
2019-07-10 14:29 ` [PATCH v3 1/7] kexec: add KEXEC_ELF Sven Schnelle
2019-07-10 14:29 ` [PATCH v3 2/7] kexec_elf: change order of elf_*_to_cpu() functions Sven Schnelle
2019-07-10 14:29 ` [PATCH v3 3/7] kexec_elf: remove parsing of section headers Sven Schnelle
2019-07-10 14:29 ` [PATCH v3 4/7] kexec_elf: remove PURGATORY_STACK_SIZE Sven Schnelle
2019-07-10 14:29 ` [PATCH v3 5/7] kexec_elf: remove elf_addr_to_cpu macro Sven Schnelle
2019-07-10 15:09 ` Christophe Leroy [this message]
2019-07-10 18:05 ` Sven Schnelle
2019-07-11 11:08 ` Michael Ellerman
2019-07-15 7:24 ` Sven Schnelle
2019-07-19 14:06 ` Michael Ellerman
2019-07-10 14:29 ` [PATCH v3 6/7] kexec_elf: remove Elf_Rel macro Sven Schnelle
2019-07-10 15:02 ` Christophe Leroy
2019-07-10 14:29 ` [PATCH v3 7/7] kexec_elf: remove unused variable in kexec_elf_load() Sven Schnelle
2019-07-10 14:55 ` Christophe Leroy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49206784-009c-391b-5f9a-11e9b1de930b@c-s.fr \
--to=christophe.leroy@c-s.fr \
--cc=deller@gmx.de \
--cc=kexec@lists.infradead.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=svens@stackframe.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).