Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753887AbbLELAi (ORCPT ); Sat, 5 Dec 2015 06:00:38 -0500 Received: from foss.arm.com ([217.140.101.70]:58587 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753388AbbLELAh (ORCPT ); Sat, 5 Dec 2015 06:00:37 -0500 Date: Sat, 5 Dec 2015 11:00:27 +0000 From: Catalin Marinas To: Yury Norov Cc: arnd@arndb.de, pinskia@gmail.com, Prasun.Kapoor@caviumnetworks.com, schwab@suse.de, Nathan_Lynch@mentor.com, linux-kernel@vger.kernel.org, agraf@suse.de, klimov.linux@gmail.com, broonie@kernel.org, jan.dakinevich@gmail.com, joseph@codesourcery.com, ddaney.cavm@gmail.com, bamvor.zhangjian@huawei.com, philipp.tomsich@theobroma-systems.com, andrey.konovalov@linaro.org, linux-arm-kernel@lists.infradead.org, christoph.muellner@theobroma-systems.com Subject: Re: [PATCH v6 07/19] arm64: introduce is_a32_task and is_a32_thread (for AArch32 compat) Message-ID: <20151205110025.GA1978@MBP.local> References: <1447795019-30176-1-git-send-email-ynorov@caviumnetworks.com> <1447795019-30176-8-git-send-email-ynorov@caviumnetworks.com> <20151203121303.GK10747@e104818-lin.cambridge.arm.com> <20151204170523.GA2791@yury-N73SV> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151204170523.GA2791@yury-N73SV> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2867 Lines: 81 On Fri, Dec 04, 2015 at 08:05:23PM +0300, Yury Norov wrote: > On Thu, Dec 03, 2015 at 12:13:03PM +0000, Catalin Marinas wrote: > > On Wed, Nov 18, 2015 at 12:16:47AM +0300, Yury Norov wrote: > > > diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h > > > index 7fbed69..9700e5e 100644 > > > --- a/arch/arm64/include/asm/compat.h > > > +++ b/arch/arm64/include/asm/compat.h > > > @@ -299,19 +299,44 @@ struct compat_shmid64_ds { > > > compat_ulong_t __unused5; > > > }; > > > > > > -static inline int is_compat_task(void) > > > +#ifdef CONFIG_AARCH32_EL0 > > > + > > > +static inline int is_a32_compat_task(void) > > > { > > > return test_thread_flag(TIF_32BIT); > > > } > > > > > > -static inline int is_compat_thread(struct thread_info *thread) > > > +static inline int is_a32_compat_thread(struct thread_info *thread) > > > { > > > return test_ti_thread_flag(thread, TIF_32BIT); > > > } > > > > > > +#else > > > + > > > +static inline int is_a32_compat_task(void) > > > +{ > > > + return 0; > > > +} > > > + > > > +static inline int is_a32_compat_thread(struct thread_info *thread) > > > +{ > > > + return 0; > > > +} > > > +#endif > > > + > > > +static inline int is_compat_task(void) > > > +{ > > > + return is_a32_compat_task(); > > > +} > > > + > > > #else /* !CONFIG_COMPAT */ > > > > > > -static inline int is_compat_thread(struct thread_info *thread) > > > +static inline int is_a32_compat_thread(struct thread_info *thread) > > > +{ > > > + return 0; > > > +} > > > + > > > +static inline int is_a32_compat_task(void) > > > { > > > return 0; > > > } > > > > My main worry with this patch is a potential #include mess. I can see > > that you already had to include asm/compat.h explicitly in > > hw_breakpoint.c even though linux/compat.h was already included. In > > subsequent files (asm/elf.h, asm/memory.h) you check is_compat_task() > > without explicitly including asm/compat.h and hope that it won't break. > > > > A solution would be to add these functions in a separate header file > > that gets included where needed (also by asm/compat.h). > > Thank you for pointing that. I don't see big advantage in moving that > to new file, only if you insist. What about just fixing that mess? As I said above, you use is_compat_task() in asm/elf.h for example without including asm/compat.h. At some point, you may get a build error in some unrelated C file. You could wait until it happens and then sort it out (by either including asm/compat.h in asm/elf.h or creating a new header file). My preference is to prevent such build errors early. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/