From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EF60C02183 for ; Tue, 14 Jan 2025 12:22:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 19E116B0083; Tue, 14 Jan 2025 07:22:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 14EA36B0085; Tue, 14 Jan 2025 07:22:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 03D176B0088; Tue, 14 Jan 2025 07:22:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id DC7ED6B0083 for ; Tue, 14 Jan 2025 07:22:55 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 888F2808EB for ; Tue, 14 Jan 2025 12:22:55 +0000 (UTC) X-FDA: 83005971510.27.00F86B0 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf20.hostedemail.com (Postfix) with ESMTP id D98A81C0012 for ; Tue, 14 Jan 2025 12:22:53 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=none; spf=pass (imf20.hostedemail.com: domain of Dave.Martin@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=Dave.Martin@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736857374; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lFaT5V9iLjcuviqJulMhohixe0NuD4SmyA9c3JpQtUc=; b=fv8u9QcnV6CuIz+y3rWZwYTdy/5xvqeC6fkfaL/8/ZK/E71ypTLTFca+KpAy17o/3wzcKj fYpLWKSMISppKgY8K2rFlawLt/fbhgrakDl+hB8QMndoGVAcH5RCmOnWUkKrM9gX0riy3w Xh0VoANc/sv3HUKsBP35QjUnehoHjNE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736857374; a=rsa-sha256; cv=none; b=T/cmaN1c1w0YlJZPDAPbqhT5B4ezEaTVLoOHimDKjxiZFIyZTBrk+ZSNUCo8vh/Ksqds6U Ppfn/z8sV7K8Lt5x1iWgK6c50LUboNPrSWjWi53JorXtRDhaxRLIMxMzc5FyWMNcKJYGMj xnJ43sfOs/QSGn51W6Ju0S/wjRarVK8= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=none; spf=pass (imf20.hostedemail.com: domain of Dave.Martin@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=Dave.Martin@arm.com; dmarc=pass (policy=none) header.from=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9524A12FC; Tue, 14 Jan 2025 04:23:21 -0800 (PST) Received: from e133380.arm.com (e133380.arm.com [10.1.197.43]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 035FE3F66E; Tue, 14 Jan 2025 04:22:50 -0800 (PST) Date: Tue, 14 Jan 2025 12:22:48 +0000 From: Dave Martin To: Akihiko Odaki Cc: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Baoquan He , Vivek Goyal , Dave Young , LEROY Christophe , 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 Message-ID: References: <20250111-elf-v4-0-b3841fa0dcd9@daynix.com> <20250111-elf-v4-2-b3841fa0dcd9@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250111-elf-v4-2-b3841fa0dcd9@daynix.com> X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: D98A81C0012 X-Stat-Signature: phcsnt3gicda78gep9wzkez9cgqt3jf6 X-Rspam-User: X-HE-Tag: 1736857373-432879 X-HE-Meta: U2FsdGVkX1+7XPDHweLHM31uva5OAsdWiaFpoIEJW/prwkIwGfS9AmlyoOCoP/DUVwfeelUHHN0Yl0Bmf08hm2df4y6VOYTmWczD632WdDSWGpIQQ5QWudc7qymsyIAmhByx6iMea+WzoNP1fSfIBOTsMitBblpkRi2+8ro3IBNlOf98yVD6oMbMmuQ7YdGMUnkl7jx4EFmDDz9bnDk1pwBsnFNYPuR/ZxOqjO6MXb6h8EPSKSBoT6iEQgibVuTe4wOvhkQTRaKT2clu/MwitmCvzGQXJcZn26BdlAhwfsOhh8u6SX9AQSkBFZNy114pBkAU+wOmARmfCTVLSax3S4E98mndZ63fPKrAsHz0DR9ALdrT8i0/jhlO2h/kT9NpWer8z2kO32tpm+D+TXrQPdDo04DU2ePSlQQLtQ36ZboBEjV7ELVG6KI01fh0JZzLQkC3JLY0F1VQVuoY9bccr77pfIy6VALzDrkQ+1yEq6Cow2U1WkIKOCbOSHv/H3ny0iI3xp/Y17mEXdyOHctZ9vssZ8fG/Q72M9l6o0B7VS/mrPQkCMawuyaQJz976+Zse7ioEygiZewVAGWTpr3jO4nHY0tSrVHvgKkP3FjDoDfHQDfdnWEgtWjmh8Q/934yWR99X8EuMmbyt/3VbrzjrfT0zfvsz44O/vsfM1kgn2NYC4705leizCk09REcmv0nq6Srm72yJefxYuiffeVZWW/b9quGQFsovAOoFU57etZO+fJbarDldkBotjGnts3SKGBroIHNFCn4e0sMQQgSUCoobTfqqSWhx/G/wRx/uZrfbCQvJmu3mD7OKibDhjPhzlCpqEwC4Bl4rOGQygb9wok7uaFJUcBDV9aaGDiqqVeiloxuD2Nf8vH9+KNoPaVycNCC3wG/2YEJowRQfvO8uDhfyHvAwEaGWUN6szpgZfb2Vjh0XB3s7Dhi/o+rPLWjHWjeJRyALPhsvhrNf+K h6qDjaJT c4Ulz+DzaEq1OUJ17ymPgPASljhF9DVU2dZGrJSptTubhD4WYtoWJ6YQPZBJMsubumlae24/whXkc1LVAONSFCYGZrYa4JDJbhMVykdIiZzkHYQDoxbaL+LakeI7VdlIw/CdW0oIUqF1VnE0UDtj/R+KVBjthCvpwwY+UV4JYa0+A8VM2404cyZhU2M5jG5CyMjtocqHkUn/OrkCcyBqk8W29GRRI9tj7to8UCpmwnRAK13jVi+2jqJVtAcSf9SVVFoywizFXG/xsCPTaeIrUO8I3ZGcirbUYZfalZ0eLvvPU74zyUte+3hFLzMaMDqTVCyPufKSNW+9Vnn8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: 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 > Acked-by: Baoquan He Reviewed-by: Dave Martin > --- > 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 > >