linuxのメモ

Linux kernelの実装を解説していきます (対象ver 4.5)

モジュール - __EXPORT_SYMBOL()

概要

moduleからアクセス可能なシンボルを生成する

詳細

以下の通りに適切なセクションに適切な値を保存し、モジュールから宣言したシンボルにアクセスできるようにする

  • __CRC_SYMBOL()でmoduleのチェックサムを算出するための値を保存する
  • __ksymtab_stringsセクションにVMLINUX_SYMBOL_STR()で生成したvmlinuxに出力するシンボル名を保存する
  • ___ksymtabセクションにシンボルを指すアドレスとシンボル名をkernel_symbol構造体の値として保存する