All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Martin <Dave.Martin@arm.com>
To: Akihiko Odaki <akihiko.odaki@daynix.com>
Cc: Eric Biederman <ebiederm@xmission.com>,
	Kees Cook <kees@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Mark Brown <broonie@kernel.org>, Baoquan He <bhe@redhat.com>,
	Vivek Goyal <vgoyal@redhat.com>, Dave Young <dyoung@redhat.com>,
	LEROY Christophe <christophe.leroy2@cs-soprasteria.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	kexec@lists.infradead.org, binutils@sourceware.org,
	devel@daynix.com
Subject: Re: [PATCH v4 2/6] binfmt_elf: Use note name macros
Date: Tue, 14 Jan 2025 12:22:48 +0000	[thread overview]
Message-ID: <Z4ZXGN6C9J/jibD4@e133380.arm.com> (raw)
In-Reply-To: <20250111-elf-v4-2-b3841fa0dcd9@daynix.com>

On Sat, Jan 11, 2025 at 02:48:45PM +0900, Akihiko Odaki wrote:
> Use note name macros to match with the userspace's expectation.
> 
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> Acked-by: Baoquan He <bhe@redhat.com>

Reviewed-by: Dave Martin <Dave.Martin@arm.com>

> ---
>  fs/binfmt_elf.c       | 21 ++++++++++-----------
>  fs/binfmt_elf_fdpic.c |  8 ++++----
>  2 files changed, 14 insertions(+), 15 deletions(-)
> 
> diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
> index 106f0e8af177..5b4a92e5e508 100644
> --- a/fs/binfmt_elf.c
> +++ b/fs/binfmt_elf.c
> @@ -762,8 +762,7 @@ static int parse_elf_property(const char *data, size_t *off, size_t datasz,
>  }
>  
>  #define NOTE_DATA_SZ SZ_1K
> -#define GNU_PROPERTY_TYPE_0_NAME "GNU"
> -#define NOTE_NAME_SZ (sizeof(GNU_PROPERTY_TYPE_0_NAME))
> +#define NOTE_NAME_SZ (sizeof(NN_GNU_PROPERTY_TYPE_0))
>  
>  static int parse_elf_properties(struct file *f, const struct elf_phdr *phdr,
>  				struct arch_elf_state *arch)
> @@ -800,7 +799,7 @@ static int parse_elf_properties(struct file *f, const struct elf_phdr *phdr,
>  	if (note.nhdr.n_type != NT_GNU_PROPERTY_TYPE_0 ||
>  	    note.nhdr.n_namesz != NOTE_NAME_SZ ||
>  	    strncmp(note.data + sizeof(note.nhdr),
> -		    GNU_PROPERTY_TYPE_0_NAME, n - sizeof(note.nhdr)))
> +		    NN_GNU_PROPERTY_TYPE_0, n - sizeof(note.nhdr)))
>  		return -ENOEXEC;
>  
>  	off = round_up(sizeof(note.nhdr) + NOTE_NAME_SZ,
> @@ -1603,14 +1602,14 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm)
>  	do
>  		i += 2;
>  	while (auxv[i - 2] != AT_NULL);
> -	fill_note(note, "CORE", NT_AUXV, i * sizeof(elf_addr_t), auxv);
> +	fill_note(note, NN_AUXV, NT_AUXV, i * sizeof(elf_addr_t), auxv);
>  }
>  
>  static void fill_siginfo_note(struct memelfnote *note, user_siginfo_t *csigdata,
>  		const kernel_siginfo_t *siginfo)
>  {
>  	copy_siginfo_to_external(csigdata, siginfo);
> -	fill_note(note, "CORE", NT_SIGINFO, sizeof(*csigdata), csigdata);
> +	fill_note(note, NN_SIGINFO, NT_SIGINFO, sizeof(*csigdata), csigdata);
>  }
>  
>  /*
> @@ -1706,7 +1705,7 @@ static int fill_files_note(struct memelfnote *note, struct coredump_params *cprm
>  	}
>  
>  	size = name_curpos - (char *)data;
> -	fill_note(note, "CORE", NT_FILE, size, data);
> +	fill_note(note, NN_FILE, NT_FILE, size, data);
>  	return 0;
>  }
>  
> @@ -1767,7 +1766,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t,
>  	regset_get(t->task, &view->regsets[0],
>  		   sizeof(t->prstatus.pr_reg), &t->prstatus.pr_reg);
>  
> -	fill_note(&t->notes[0], "CORE", NT_PRSTATUS,
> +	fill_note(&t->notes[0], NN_PRSTATUS, NT_PRSTATUS,
>  		  PRSTATUS_SIZE, &t->prstatus);
>  	info->size += notesize(&t->notes[0]);
>  
> @@ -1801,7 +1800,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t,
>  		if (is_fpreg)
>  			SET_PR_FPVALID(&t->prstatus);
>  
> -		fill_note(&t->notes[note_iter], is_fpreg ? "CORE" : "LINUX",
> +		fill_note(&t->notes[note_iter], is_fpreg ? NN_PRFPREG : "LINUX",
>  			  note_type, ret, data);
>  
>  		info->size += notesize(&t->notes[note_iter]);
> @@ -1821,7 +1820,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t,
>  	fill_prstatus(&t->prstatus.common, p, signr);
>  	elf_core_copy_task_regs(p, &t->prstatus.pr_reg);
>  
> -	fill_note(&t->notes[0], "CORE", NT_PRSTATUS, sizeof(t->prstatus),
> +	fill_note(&t->notes[0], NN_PRSTATUS, NT_PRSTATUS, sizeof(t->prstatus),
>  		  &(t->prstatus));
>  	info->size += notesize(&t->notes[0]);
>  
> @@ -1832,7 +1831,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t,
>  	}
>  
>  	t->prstatus.pr_fpvalid = 1;
> -	fill_note(&t->notes[1], "CORE", NT_PRFPREG, sizeof(*fpu), fpu);
> +	fill_note(&t->notes[1], NN_PRFPREG, NT_PRFPREG, sizeof(*fpu), fpu);
>  	info->size += notesize(&t->notes[1]);
>  
>  	return 1;
> @@ -1852,7 +1851,7 @@ static int fill_note_info(struct elfhdr *elf, int phdrs,
>  	psinfo = kmalloc(sizeof(*psinfo), GFP_KERNEL);
>  	if (!psinfo)
>  		return 0;
> -	fill_note(&info->psinfo, "CORE", NT_PRPSINFO, sizeof(*psinfo), psinfo);
> +	fill_note(&info->psinfo, NN_PRPSINFO, NT_PRPSINFO, sizeof(*psinfo), psinfo);
>  
>  #ifdef CORE_DUMP_USE_REGSET
>  	view = task_user_regset_view(dump_task);
> diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
> index f1a7c4875c4a..96bd9d2f23d7 100644
> --- a/fs/binfmt_elf_fdpic.c
> +++ b/fs/binfmt_elf_fdpic.c
> @@ -1397,7 +1397,7 @@ static struct elf_thread_status *elf_dump_thread_status(long signr, struct task_
>  	regset_get(p, &view->regsets[0],
>  		   sizeof(t->prstatus.pr_reg), &t->prstatus.pr_reg);
>  
> -	fill_note(&t->notes[0], "CORE", NT_PRSTATUS, sizeof(t->prstatus),
> +	fill_note(&t->notes[0], NN_PRSTATUS, NT_PRSTATUS, sizeof(t->prstatus),
>  		  &t->prstatus);
>  	t->num_notes++;
>  	*sz += notesize(&t->notes[0]);
> @@ -1415,7 +1415,7 @@ static struct elf_thread_status *elf_dump_thread_status(long signr, struct task_
>  	}
>  
>  	if (t->prstatus.pr_fpvalid) {
> -		fill_note(&t->notes[1], "CORE", NT_PRFPREG, sizeof(t->fpu),
> +		fill_note(&t->notes[1], NN_PRFPREG, NT_PRFPREG, sizeof(t->fpu),
>  			  &t->fpu);
>  		t->num_notes++;
>  		*sz += notesize(&t->notes[1]);
> @@ -1530,7 +1530,7 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
>  	 */
>  
>  	fill_psinfo(psinfo, current->group_leader, current->mm);
> -	fill_note(&psinfo_note, "CORE", NT_PRPSINFO, sizeof(*psinfo), psinfo);
> +	fill_note(&psinfo_note, NN_PRPSINFO, NT_PRPSINFO, sizeof(*psinfo), psinfo);
>  	thread_status_size += notesize(&psinfo_note);
>  
>  	auxv = (elf_addr_t *) current->mm->saved_auxv;
> @@ -1538,7 +1538,7 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
>  	do
>  		i += 2;
>  	while (auxv[i - 2] != AT_NULL);
> -	fill_note(&auxv_note, "CORE", NT_AUXV, i * sizeof(elf_addr_t), auxv);
> +	fill_note(&auxv_note, NN_AUXV, NT_AUXV, i * sizeof(elf_addr_t), auxv);
>  	thread_status_size += notesize(&auxv_note);
>  
>  	offset = sizeof(*elf);				/* ELF header */
> 
> -- 
> 2.47.1
> 
> 


  reply	other threads:[~2025-01-14 12:22 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-11  5:48 [PATCH v4 0/6] elf: Define note name macros Akihiko Odaki
2025-01-11  5:48 ` [PATCH v4 1/6] " Akihiko Odaki
2025-01-14 12:22   ` Dave Martin
2025-01-11  5:48 ` [PATCH v4 2/6] binfmt_elf: Use " Akihiko Odaki
2025-01-14 12:22   ` Dave Martin [this message]
2025-01-11  5:48 ` [PATCH v4 3/6] powerpc: " Akihiko Odaki
2025-01-14 12:23   ` Dave Martin
2025-01-11  5:48 ` [PATCH v4 4/6] crash: " Akihiko Odaki
2025-01-14 12:23   ` Dave Martin
2025-01-11  5:48 ` [PATCH v4 5/6] s390/crash: " Akihiko Odaki
2025-01-14 12:23   ` Dave Martin
2025-01-11  5:48 ` [PATCH v4 6/6] crash: Remove KEXEC_CORE_NOTE_NAME Akihiko Odaki
2025-01-14 12:23   ` Dave Martin

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=Z4ZXGN6C9J/jibD4@e133380.arm.com \
    --to=dave.martin@arm.com \
    --cc=akihiko.odaki@daynix.com \
    --cc=bhe@redhat.com \
    --cc=binutils@sourceware.org \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=christophe.leroy2@cs-soprasteria.com \
    --cc=devel@daynix.com \
    --cc=dyoung@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=kees@kernel.org \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=vgoyal@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.