From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932109AbdJSOBR (ORCPT ); Thu, 19 Oct 2017 10:01:17 -0400 Received: from mail-pg0-f68.google.com ([74.125.83.68]:52649 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754724AbdJSOBO (ORCPT ); Thu, 19 Oct 2017 10:01:14 -0400 X-Google-Smtp-Source: ABhQp+RFRml3QxSGQExUMYyV5PqvJZbkR2QCDcXAsLqGADxyTVIzTDUKM4T3sVMuLIA6wFBSoBiC1Q== Date: Thu, 19 Oct 2017 23:01:06 +0900 From: Sergey Senozhatsky To: Michael Ellerman Cc: Petr Mladek , Sergey Senozhatsky , Steven Rostedt , Tony Luck , Fenghua Yu , Benjamin Herrenschmidt , Paul Mackerras , James Bottomley , Helge Deller , Andrew Morton , Jessica Yu , Alexei Starovoitov , linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [PATCHv3 4/7] powerpc64: Add .opd based function descriptor dereference Message-ID: <20171019140106.GA498@tigerII.localdomain> References: <20170930025319.987-1-sergey.senozhatsky@gmail.com> <20170930025319.987-5-sergey.senozhatsky@gmail.com> <20171004092108.GF20084@pathway.suse.cz> <87r2ujp3yc.fsf@concordia.ellerman.id.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87r2ujp3yc.fsf@concordia.ellerman.id.au> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Michael, sorry for the delay. I'm catching up with the emails after... absence. On (10/04/17 22:06), Michael Ellerman wrote: > Petr Mladek writes: > > On Sat 2017-09-30 11:53:16, Sergey Senozhatsky wrote: > >> diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c > >> index 0b0f89685b67..94caec045a90 100644 > >> --- a/arch/powerpc/kernel/module_64.c > >> +++ b/arch/powerpc/kernel/module_64.c > >> @@ -712,6 +717,17 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, > >> return 0; > >> } > >> > >> +#ifdef PPC64_ELF_ABI_v1 > >> +unsigned long dereference_module_function_descriptor(struct module *mod, > >> + unsigned long addr) > >> +{ > >> + if (addr < mod->arch.start_opd || addr >= mod->arch.end_opd) > >> + return addr; > >> + > >> + return dereference_function_descriptor(addr); > >> +} > >> +#endif /* PPC64_ELF_ABI_v1 */ > > > > I would personally move this up in the source file. It is related to > > the definition of func_desc() and other functions that are > > also PPC_ELF_ABI-specific. > > Yeah that would be neater. There's already a PPC64_ELF_ABI_v2 block, you > could put this in the else case of that. > > But we can do that later if you're not respinning otherwise. will do. -ss