From 39b6c4a2734da6eb87070af08e1f460ed02d6023 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Wed, 7 Sep 2022 12:42:21 +0200 Subject: [PATCH] zdump: introduce `ELF_NOTE_ROUNDUP` macro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduce and use `ELF_NOTE_ROUNDUP` macro. Signed-off-by: Marc Hartmayer Reviewed-by: Steffen Eiden Reviewed-by: Alexander Egorenkov Signed-off-by: Jan Höppner --- zdump/df_elf.c | 4 ++-- zdump/df_elf.h | 2 ++ zdump/dfi_elf.c | 7 +++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/zdump/df_elf.c b/zdump/df_elf.c index caee970a..60002613 100644 --- a/zdump/df_elf.c +++ b/zdump/df_elf.c @@ -57,10 +57,10 @@ void *nt_init(void *buf, Elf64_Word type, const void *desc, int d_len, len = sizeof(Elf64_Nhdr); memcpy(buf + len, name, note->n_namesz); - len = ROUNDUP(len + note->n_namesz, 4); + len = ELF_NOTE_ROUNDUP(len + note->n_namesz); memcpy(buf + len, desc, note->n_descsz); - len = ROUNDUP(len + note->n_descsz, 4); + len = ELF_NOTE_ROUNDUP(len + note->n_descsz); return PTR_ADD(buf, len); } diff --git a/zdump/df_elf.h b/zdump/df_elf.h index f65f8ecf..7b52c436 100644 --- a/zdump/df_elf.h +++ b/zdump/df_elf.h @@ -69,6 +69,8 @@ #define NT_S390_VXRS_HIGH 0x30a #endif +#define ELF_NOTE_ROUNDUP(size) ROUNDUP(size, 4) + /* * prstatus ELF Note */ diff --git a/zdump/dfi_elf.c b/zdump/dfi_elf.c index 53ae6d20..63d531fb 100644 --- a/zdump/dfi_elf.c +++ b/zdump/dfi_elf.c @@ -87,13 +87,13 @@ static int nt_read(const Elf64_Nhdr *note, void *buf, size_t buf_len) if (note->n_descsz < buf_len) return -EINVAL; /* Skip note's name and position file at note's descriptor */ - zg_seek_cur(g.fh, ROUNDUP(note->n_namesz, 4), ZG_CHECK); + zg_seek_cur(g.fh, ELF_NOTE_ROUNDUP(note->n_namesz), ZG_CHECK); /* Read note's descriptor */ nread = zg_read(g.fh, buf, buf_len, ZG_CHECK_ERR); if (nread < 0 || (size_t)nread != buf_len) return -EINVAL; /* Skip the rest of note's descriptor until the next note */ - zg_seek_cur(g.fh, ROUNDUP(note->n_descsz, 4) - buf_len, ZG_CHECK); + zg_seek_cur(g.fh, ELF_NOTE_ROUNDUP(note->n_descsz) - buf_len, ZG_CHECK); return 0; } @@ -103,8 +103,7 @@ static int nt_read(const Elf64_Nhdr *note, void *buf, size_t buf_len) static void nt_skip(const Elf64_Nhdr *note) { /* Skip note's name + descriptor and position file at the next note */ - zg_seek_cur(g.fh, - ROUNDUP(note->n_namesz, 4) + ROUNDUP(note->n_descsz, 4), + zg_seek_cur(g.fh, ELF_NOTE_ROUNDUP(note->n_namesz) + ELF_NOTE_ROUNDUP(note->n_descsz), ZG_CHECK); }