From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from va3ehsobe006.messaging.microsoft.com ([216.32.180.16]:15673 "EHLO va3outboundpool.messaging.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755771Ab2C0B7F (ORCPT ); Mon, 26 Mar 2012 21:59:05 -0400 Message-ID: <4F711EC0.3080708@am.sony.com> Date: Mon, 26 Mar 2012 18:58:24 -0700 From: Frank Rowand Reply-To: MIME-Version: 1.0 Subject: Re: [PATCH] modpost: Fix modpost's license checking V3 References: <1310626276-4541-1-git-send-email-abogani@kernel.org> <4F6D2BC5.9070200@am.sony.com> In-Reply-To: <4F6D2BC5.9070200@am.sony.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Sender: linux-kbuild-owner@vger.kernel.org List-ID: To: Alessio Igor Bogani Cc: frank.rowand@am.sony.com, Rusty Russell , Jan Beulich , Kbuild , LKML , "Bird, Tim" , Anders Kaseorg , Arnaud Lacombe On 03/23/12 19:04, Frank Rowand wrote: > On 07/13/11 23:51, Alessio Igor Bogani wrote: >> The commit f02e8a6 sorts symbols placing each of them in its own elf section. >> The sorting and merging into the canonical sections are done by the linker. >> Unfortunately modpost to generate Module.symvers file parses vmlinux > > Yet another unfortunately: modpost parses vmlinux.o instead of vmlinux (vmlinux > does not yet exist at this point of the build). vmlinux.o also does not have > the many sections sorted and merged into the canonical sections. As a result, > the Module.symvers created my modpost incorrectly reports the license of all > exports as "(unknown)". > > Can you fix this also please? The attached patch modifies your patch to also use export_from_secname() for vmlinux and vmlinux.o. This is a rather blind shot at fixing the problem, so please review carefully. After applying the patch, Module.symvers reports the license correctly for exports from vmlinux.o. > > >> (already linked) and all modules object files (which aren't linked yet). >> These aren't sanitized by the linker yet. That breaks modpost that can't >> detect license properly for modules. This patch makes modpost aware of >> the new exported symbols structure. >> >> Thanks to Arnaud Lacombe and Anders Kaseorg >> for providing useful suggestions about code. >> >> This work was supported by a hardware donation from the CE Linux Forum. >> >> Reported-by: Jan Beulich >> Signed-off-by: Alessio Igor Bogani >> --- >> scripts/mod/modpost.c | 29 ++++++++++++++++++++++++++++- >> 1 files changed, 28 insertions(+), 1 deletions(-) > > < snip > > > -Frank Rowand Signed-off-by: Frank Rowand --- scripts/mod/modpost.c | 2 1 + 1 - 0 ! 1 file changed, 1 insertion(+), 1 deletion(-) Index: b/scripts/mod/modpost.c =================================================================== --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -589,7 +589,7 @@ static void handle_modversions(struct mo unsigned int crc; enum export export; - if (!is_vmlinux(mod->name) && strncmp(symname, "__ksymtab", 9) == 0) + if (strncmp(symname, "__ksymtab", 9) == 0) export = export_from_secname(info, get_secindex(info, sym)); else export = export_from_sec(info, get_secindex(info, sym));