Re: [PATCH] modpost: Fix modpost's license checking V3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <lacombar@xxxxxxxxx> and Anders Kaseorg
>> <andersk@xxxxxxxxxxx> for providing useful suggestions about code.
>>
>> This work was supported by a hardware donation from the CE Linux Forum.
>>
>> Reported-by: Jan Beulich <jbeulich@xxxxxxxxxx>
>> Signed-off-by: Alessio Igor Bogani <abogani@xxxxxxxxxx>
>> ---
>>  scripts/mod/modpost.c |   29 ++++++++++++++++++++++++++++-
>>  1 files changed, 28 insertions(+), 1 deletions(-)
> 
> < snip >
> 
> -Frank Rowand

Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxx>
---
 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));

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux