From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.99]:46262 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726017AbgDTIFY (ORCPT ); Mon, 20 Apr 2020 04:05:24 -0400 Date: Mon, 20 Apr 2020 11:05:18 +0300 From: Leon Romanovsky Subject: Re: [PATCH net-next v2 4/4] kernel/module: Hide vermagic header file from general use Message-ID: <20200420080518.GC121146@unreal> References: <20200419141850.126507-1-leon@kernel.org> <20200419155506.129392-1-leon@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: linux-kbuild-owner@vger.kernel.org List-ID: To: Masahiro Yamada Cc: "David S. Miller" , Jakub Kicinski , Borislav Petkov , Jessica Yu , Linux Kbuild mailing list , Michal Marek , Networking On Mon, Apr 20, 2020 at 07:59:35AM +0900, Masahiro Yamada wrote: > Hi, > > On Mon, Apr 20, 2020 at 12:55 AM Leon Romanovsky wrote: > > > > From: Leon Romanovsky > > > > VERMAGIC* definitions are not supposed to be used by the drivers, > > see this [1] bug report, so introduce special define to guard inclusion > > of this header file and define it in kernel/modules.h and in internal > > script that generates *.mod.c files. > > > > In-tree module build: > > ➜ kernel git:(vermagic) ✗ make clean > > ➜ kernel git:(vermagic) ✗ make M=drivers/infiniband/hw/mlx5 > > ➜ kernel git:(vermagic) ✗ modinfo drivers/infiniband/hw/mlx5/mlx5_ib.ko > > filename: /images/leonro/src/kernel/drivers/infiniband/hw/mlx5/mlx5_ib.ko > > <...> > > vermagic: 5.6.0+ SMP mod_unload modversions > > > > Out-of-tree module build: > > ➜ mlx5 make -C /images/leonro/src/kernel clean M=/tmp/mlx5 > > ➜ mlx5 make -C /images/leonro/src/kernel M=/tmp/mlx5 > > ➜ mlx5 modinfo /tmp/mlx5/mlx5_ib.ko > > filename: /tmp/mlx5/mlx5_ib.ko > > <...> > > vermagic: 5.6.0+ SMP mod_unload modversions > > > > [1] https://lore.kernel.org/lkml/20200411155623.GA22175@zn.tnic > > Reported-by: Borislav Petkov > > Acked-by: Borislav Petkov > > Acked-by: Jessica Yu > > Co-developed-by: Masahiro Yamada > > Signed-off-by: Masahiro Yamada > > Signed-off-by: Leon Romanovsky > > --- > > > I did not read the full thread of [1], > and perhaps may miss something. > > But, this series is trying to solve a different problem > "driver code should not include " > isn't it? > > > IIUC, Borislav reported conflict of MODULE_ARCH_VERMAGIC > if is included before . > > With your cleanups, the include site of > will be limited to kernel/module.c and scripts/mod/module.c > > Assuming those two files include them in the *correct* order, > this problem will be suppressed. > > But, I do not think it addresses the problem properly. > > > If > #include > #include > > works, but > > #include > #include > > does not, the root cause is very likely > that is not self-contained. > The problem is solved by including from > > > Please see my thoughts in this: > https://lore.kernel.org/patchwork/patch/1227024/ > > > Of course, we are solving different issues, so I think > we can merge both. > > > What do you think? The idea and rationale are right, include order should not be important. Thanks