Bug 26764

Summary: Module.symvers is NOT the one produced by kernel source compilation, lacks symbol fwnode_get_name()
Product: Mageia Reporter: René Poisson <poisson.rene>
Component: RPM PackagesAssignee: Kernel and Drivers maintainers <kernel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: ouaurelien
Version: 7   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: kernel-desktop-devel-5.6.14-2.mga7-1-1.mga7 CVE:
Status comment:

Description René Poisson 2020-06-10 16:18:47 CEST
Description of problem:
The media tree provided by a 3rd party DVB card vendor cannot be compiled using the file Module.symvers in the kernel-desktop-devel package.

A patch has been included in upstream kernel sources to export a symbol in drivers/base/property.c to make available fwnode_get_name() function.
The file Module.symvers supplied with kernel-desktop-devel does not include this symbol.

Recompiling the kernel from kernel-source-5.6.14-2.mga7-1-1.mga7 rpm makes Module.symvers contain the symbol and thus make 3rd party media_tree successfully compiled.

Version-Release number of selected component (if applicable):
kernel-desktop-5.6.14-2.mga7-1-1.mga7

How reproducible:
Each time a media tree compilation is attempted

Steps to Reproduce:
1. Install kernel-devel package to compile 3rd party drivers
2. git clone https://github.com/tbsdtv/media_build.git
3. git clone --depth=1 https://github.com/tbsdtv/linux_media.git -b latest ./media
4. cd media_build
5. make dir DIR=../media
6. make allyesconfig
7. make 

... objects are built ...
When modules objects shall be be built :

  MODPOST 726 modules
ERROR: "fwnode_get_name" [/home/software/tbsdtv/media_build/v4l/v4l2-fwnode.ko] undefined!
make[3]: *** [scripts/Makefile.modpost:93: __modpost] Error 1
make[2]: *** [Makefile:1596: modules] Error 2
make[2]: Leaving directory '/usr/src/kernel-5.6.14-desktop-2.mga7'
make[1]: *** [Makefile:53: default] Error 2
make[1]: Leaving directory '/home/software/tbsdtv/media_build/v4l'
make: *** [Makefile:26: all] Error 2

Workaround
1. urpmi kernel-source-5.6.14-2.mga7-1-1.mga7
2. cd /usr/src/kernel-5.6.14-2.mga7/
3. make oldconfig
4. make clean bzImage modules modules_install
5. Instead of installing the new kernel replace old Module.symvers in /usr/src/kernel-5.6.14-desktop-2.mga7/ by newly created Module.symvers

Compiling 3rd party drivers is now possible.
Comment 1 Lewis Smith 2020-06-11 21:18:13 CEST
Thank you for reporting this obscure problem, and its solution:
"A patch has been included in upstream kernel sources to export a symbol in drivers/base/property.c to make available fwnode_get_name() function."

Assigning to the kernel team.

Assignee: bugsquad => kernel
Summary: Module.symvers is NOT the one produced by kernel source compilation => Module.symvers is NOT the one produced by kernel source compilation, lacks symbol fwnode_get_name()

Comment 2 Aurelien Oudelet 2021-07-06 13:16:47 CEST
Mageia 7 is EOL since July 1st 2021.
There will not have any further bugfix for this release.

You are encouraged to upgrade to Mageia 8 as soon as possible.

@reporter, if this bug still apply with Mageia 8, please let us know it.

@packager, if you work on the Mageia 7 version of your package, please check the Mageia 8 package if issue is also present. In this case, please fix the Mageia 8 version instead.

This bug report will be closed OLD if there is no further notice within 1st September 2021.
Comment 3 René Poisson 2021-07-06 19:54:56 CEST
Hi,

You may safely close the case right now as it was already corrected in the subsequent realeases of Mageia 7 kernel for desktops and did not surface anymore with Mageia 8 kerrnel for desktops.

Cheers

René.
Comment 4 Aurelien Oudelet 2021-07-06 20:34:08 CEST
(In reply to René Poisson from comment #3)
> Hi,
> 
> You may safely close the case right now as it was already corrected in the
> subsequent realeases of Mageia 7 kernel for desktops and did not surface
> anymore with Mageia 8 kerrnel for desktops.
> 
> Cheers
> 
> René.

Thanks for the feedback.
Closing.

CC: (none) => ouaurelien
Status: NEW => RESOLVED
Resolution: (none) => FIXED