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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A932C433EF for ; Fri, 15 Oct 2021 04:59:37 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D6AF9611BD for ; Fri, 15 Oct 2021 04:59:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D6AF9611BD Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=csgroup.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 10DA26B006C; Fri, 15 Oct 2021 00:59:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0BD84900002; Fri, 15 Oct 2021 00:59:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEE696B0072; Fri, 15 Oct 2021 00:59:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0135.hostedemail.com [216.40.44.135]) by kanga.kvack.org (Postfix) with ESMTP id E13D66B006C for ; Fri, 15 Oct 2021 00:59:35 -0400 (EDT) Received: from smtpin39.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 8FF9739BA1 for ; Fri, 15 Oct 2021 04:59:35 +0000 (UTC) X-FDA: 78697468710.39.18870A0 Received: from pegase2.c-s.fr (pegase2.c-s.fr [93.17.235.10]) by imf01.hostedemail.com (Postfix) with ESMTP id 39E665081F0F for ; Fri, 15 Oct 2021 04:59:33 +0000 (UTC) Received: from localhost (mailhub3.si.c-s.fr [172.26.127.67]) by localhost (Postfix) with ESMTP id 4HVvFc6pczz9sSF; Fri, 15 Oct 2021 06:59:32 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from pegase2.c-s.fr ([172.26.127.65]) by localhost (pegase2.c-s.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qdOizQdCd5vD; Fri, 15 Oct 2021 06:59:32 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase2.c-s.fr (Postfix) with ESMTP id 4HVvFc5VNgz9sSD; Fri, 15 Oct 2021 06:59:32 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 9ACDF8B788; Fri, 15 Oct 2021 06:59:32 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id qhm_fwfmQYir; Fri, 15 Oct 2021 06:59:32 +0200 (CEST) Received: from PO20335.IDSI0.si.c-s.fr (unknown [192.168.202.253]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 6D8058B763; Fri, 15 Oct 2021 06:59:31 +0200 (CEST) Subject: Re: [PATCH v2 02/13] powerpc: Rename 'funcaddr' to 'addr' in 'struct ppc64_opd_entry' To: Daniel Axtens , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Andrew Morton , "James E.J. Bottomley" , Helge Deller , Arnd Bergmann , Kees Cook , Greg Kroah-Hartman Cc: linux-arch@vger.kernel.org, linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org References: <49f59a8bf2c4d95cfaa03bd3dd3c1569822ad6ba.1634190022.git.christophe.leroy@csgroup.eu> <877def46xc.fsf@dja-thinkpad.axtens.net> From: Christophe Leroy Message-ID: <6f1c3624-eef4-fc6c-9f2f-d649d8c93cdf@csgroup.eu> Date: Fri, 15 Oct 2021 06:59:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <877def46xc.fsf@dja-thinkpad.axtens.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr-FR X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 39E665081F0F X-Stat-Signature: p8mbr6b63q5w4sg146p98yyb6omswnnp Authentication-Results: imf01.hostedemail.com; dkim=none; spf=pass (imf01.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 93.17.235.10 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=none X-HE-Tag: 1634273973-287280 Content-Transfer-Encoding: quoted-printable 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: Le 14/10/2021 =C3=A0 23:45, Daniel Axtens a =C3=A9crit=C2=A0: > Christophe Leroy writes: >=20 >> There are three architectures with function descriptors, try to >> have common names for the address they contain in order to >> refactor some functions into generic functions later. >> >> powerpc has 'funcaddr' >> ia64 has 'ip' >> parisc has 'addr' >> >> Vote for 'addr' and update 'struct ppc64_opd_entry' accordingly. >=20 > I would have picked 'funcaddr', but at least 'addr' is better than 'ip'= ! > And I agree that consistency, and then making things generic is worthwh= ile. It's a function descriptor, there is only one address field, I don't=20 think there is any ambigu=C3=AFty here, and I prefer modifying the least=20 impacted architectures. Changing addr to funcaddr in PARISC would result in the following=20 changes, on an architecture I know nothing about. It's more changes than=20 we have on powerpc. arch/parisc/include/asm/elf.h | 4 ++-- arch/parisc/kernel/kexec.c | 2 +- arch/parisc/kernel/module.c | 12 ++++++------ arch/parisc/kernel/process.c | 2 +- arch/parisc/kernel/signal.c | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) >=20 > I grepped the latest powerpc/next for uses of 'funcaddr'. There were 5, > your patch changes all 5. >=20 > The series passes build tests and this patch has no checkpatch or other > style concerns. >=20 > On that basis: > Reviewed-by: Daniel Axtens >=20 > Kind regards, > Daniel >=20 >> Reviewed-by: Kees Cook >> Signed-off-by: Christophe Leroy >> --- >> arch/powerpc/include/asm/elf.h | 2 +- >> arch/powerpc/include/asm/sections.h | 2 +- >> arch/powerpc/kernel/module_64.c | 6 +++--- >> 3 files changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm= /elf.h >> index a4406714c060..bb0f278f9ed4 100644 >> --- a/arch/powerpc/include/asm/elf.h >> +++ b/arch/powerpc/include/asm/elf.h >> @@ -178,7 +178,7 @@ void relocate(unsigned long final_address); >> =20 >> /* There's actually a third entry here, but it's unused */ >> struct ppc64_opd_entry { >> - unsigned long funcaddr; >> + unsigned long addr; >> unsigned long r2; >> }; >> =20 >> diff --git a/arch/powerpc/include/asm/sections.h b/arch/powerpc/includ= e/asm/sections.h >> index 6e4af4492a14..32e7035863ac 100644 >> --- a/arch/powerpc/include/asm/sections.h >> +++ b/arch/powerpc/include/asm/sections.h >> @@ -77,7 +77,7 @@ static inline void *dereference_function_descriptor(= void *ptr) >> struct ppc64_opd_entry *desc =3D ptr; >> void *p; >> =20 >> - if (!get_kernel_nofault(p, (void *)&desc->funcaddr)) >> + if (!get_kernel_nofault(p, (void *)&desc->addr)) >> ptr =3D p; >> return ptr; >> } >> diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/mod= ule_64.c >> index 6baa676e7cb6..82908c9be627 100644 >> --- a/arch/powerpc/kernel/module_64.c >> +++ b/arch/powerpc/kernel/module_64.c >> @@ -72,11 +72,11 @@ static func_desc_t func_desc(unsigned long addr) >> } >> static unsigned long func_addr(unsigned long addr) >> { >> - return func_desc(addr).funcaddr; >> + return func_desc(addr).addr; >> } >> static unsigned long stub_func_addr(func_desc_t func) >> { >> - return func.funcaddr; >> + return func.addr; >> } >> static unsigned int local_entry_offset(const Elf64_Sym *sym) >> { >> @@ -187,7 +187,7 @@ static int relacmp(const void *_x, const void *_y) >> static unsigned long get_stubs_size(const Elf64_Ehdr *hdr, >> const Elf64_Shdr *sechdrs) >> { >> - /* One extra reloc so it's always 0-funcaddr terminated */ >> + /* One extra reloc so it's always 0-addr terminated */ >> unsigned long relocs =3D 1; >> unsigned i; >> =20 >> --=20 >> 2.31.1