diff mbox series

[v4,1/7] dump: Replace tswapN() -> cpu_to_dumpN()

Message ID 20230223231755.81633-2-philmd@linaro.org
State Superseded
Headers show
Series dump: Make most of it target agnostic (build once) | expand

Commit Message

Philippe Mathieu-Daudé Feb. 23, 2023, 11:17 p.m. UTC
All uses of tswap in that file are wrong, and should be using
cpu_to_dumpN, which correctly tests the endianness of the output.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 dump/dump.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Richard Henderson Feb. 23, 2023, 11:29 p.m. UTC | #1
On 2/23/23 13:17, Philippe Mathieu-Daudé wrote:
> All uses of tswap in that file are wrong, and should be using
> cpu_to_dumpN, which correctly tests the endianness of the output.
> 
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   dump/dump.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~
Thomas Huth Feb. 24, 2023, 7 a.m. UTC | #2
On 24/02/2023 00.17, Philippe Mathieu-Daudé wrote:
> All uses of tswap in that file are wrong, and should be using
> cpu_to_dumpN, which correctly tests the endianness of the output.
> 
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   dump/dump.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/dump/dump.c b/dump/dump.c
> index 279b07f09b..7101169ecb 100644
> --- a/dump/dump.c
> +++ b/dump/dump.c
> @@ -907,13 +907,13 @@ static void get_note_sizes(DumpState *s, const void *note,
>       if (dump_is_64bit(s)) {
>           const Elf64_Nhdr *hdr = note;
>           note_head_sz = sizeof(Elf64_Nhdr);
> -        name_sz = tswap64(hdr->n_namesz);
> -        desc_sz = tswap64(hdr->n_descsz);
> +        name_sz = cpu_to_dump64(s, hdr->n_namesz);
> +        desc_sz = cpu_to_dump64(s, hdr->n_descsz);
>       } else {
>           const Elf32_Nhdr *hdr = note;
>           note_head_sz = sizeof(Elf32_Nhdr);
> -        name_sz = tswap32(hdr->n_namesz);
> -        desc_sz = tswap32(hdr->n_descsz);
> +        name_sz = cpu_to_dump32(s, hdr->n_namesz);
> +        desc_sz = cpu_to_dump32(s, hdr->n_descsz);
>       }

Those tswaps looked suspiciuous indeed.

Reviewed-by: Thomas Huth <thuth@redhat.com>
diff mbox series

Patch

diff --git a/dump/dump.c b/dump/dump.c
index 279b07f09b..7101169ecb 100644
--- a/dump/dump.c
+++ b/dump/dump.c
@@ -907,13 +907,13 @@  static void get_note_sizes(DumpState *s, const void *note,
     if (dump_is_64bit(s)) {
         const Elf64_Nhdr *hdr = note;
         note_head_sz = sizeof(Elf64_Nhdr);
-        name_sz = tswap64(hdr->n_namesz);
-        desc_sz = tswap64(hdr->n_descsz);
+        name_sz = cpu_to_dump64(s, hdr->n_namesz);
+        desc_sz = cpu_to_dump64(s, hdr->n_descsz);
     } else {
         const Elf32_Nhdr *hdr = note;
         note_head_sz = sizeof(Elf32_Nhdr);
-        name_sz = tswap32(hdr->n_namesz);
-        desc_sz = tswap32(hdr->n_descsz);
+        name_sz = cpu_to_dump32(s, hdr->n_namesz);
+        desc_sz = cpu_to_dump32(s, hdr->n_descsz);
     }
 
     if (note_head_size) {