2

I did an nm -u on the .ko file of a wireless driver's kernel module. The driver source is part of the kernel source tree. The output of nm shows about 100 symbols that are exported, yet undefined.

Some of the undefined ones are:

  • printk
  • All PCI APIs like pci_read_config_word() and friends
  • ieee80211_channel_to_frequency and ieee80211_hdrlen
  • Memory management ones such as kfree, __kmalloc

Why these Kernel APIs are undefined, while others are not. Are the U ones dependent on other kernel modules, or are system call APIs, or somehow resolved in run-time?

Nav70
  • 31
  • 1
  • 3
  • 2
    Possible duplicate of [how does compiler/linker resolves kernel API like 'printk' called from a module on linux](http://stackoverflow.com/questions/10946081/how-does-compiler-linker-resolves-kernel-api-like-printk-called-from-a-module) – Tsyvarev Jan 12 '17 at 21:28

0 Answers0