最終更新:2015-10-27 (火) 17:49:45 (3103d)  

init_module
Top / init_module

Linux/システムコール

  • load a kernel module
  • int init_module(void *module_image, unsigned long len, const char *param_values);
  • ELF イメージをカーネル空間にロードし、 必要なシンボルの配置変更を行い、 モジュールパラメーターを呼び出し元から指定された値に初期化し、 最後にそのモジュールのinit関数を実行する

実装

呼び出し

  • may_init_module?
  • copy_module_from_user?
  • load_module - Allocate and load the module

insmod/modprobe

  • insmod コマンドは単にinit_moduleシステムコールを使って、モジュールのバイナリーをカーネルにコピーすることしかしません。残りの作業は、カーネルが引き受けます。

Linux/カーネルモジュール

  • insmod時に呼ばれるカーネルモジュールの関数
  • module_initマクロで任意の関数に変更できる

定義

  • kernel/module.h?

関連

  • cleanup_module?