Module versioning + Missing CRC in symvers + export tracepoints
From: Krishna Chaitanya
Date: Tue Apr 20 2021 - 08:56:50 EST
Hi,
I am seeing an issue of no CRC being generated in the Module.symvers for a
driver module even when CONFIG_MODVERSIONS Is enabled, this causes
modpost warnings about missing versioning.
The module in questions only exports tracepoint related symbols (as
struct tracepoint is
part of the module CRC), I have seen this with other modules also e.g.
iwlwifi with CONFIG_MODVERSIONS.
Though I am trying on 5.12.-rc2, also, seeing this issue with older kernels with
CONFIG_MODVERSIONS enabled e.g. 4.15.0, Below are a couple of snippets
to demonstrate the issue.
modpost warnings
===============
WARNING: modpost: EXPORT symbol "__tracepoint_iwlwifi_dev_ucode_event"
[drivers/net/wireless/intel/iwlwifi//iwlwifi.ko] version generation
failed, symbol will not be versioned.
WARNING: modpost: EXPORT symbol "iwl_remove_notification"
[drivers/net/wireless/intel/iwlwifi//iwlwifi.ko] version generation
failed, symbol will not be versioned.
Module.symvers (after modpost)
==============
0x00000000 iwl_remove_notification
drivers/net/wireless/intel/iwlwifi//iwlwifi EXPORT_SYMBOL_GPL
0x00000000 __tracepoint_iwlwifi_dev_ucode_event
drivers/net/wireless/intel/iwlwifi//iwlwifi EXPORT_SYMBOL
Any ideas?