名前
create_module - ローダブルモジュールのエントリを作成する
書式
#include <linux/module.h>
caddr_t create_module(const char *name, size_t size);
説明
create_module() は、ローダブルモジュールのエントリを作成し、そのモジュールの保持に必要な カーネルメモリを予約しようとする。 このシステムコールを使うには特権が必要である。
返り値
成功すると、モジュールが配置されるカーネル空間のアドレスを返す。 エラーの場合 -1 を返し、 errno を適切に設定する。
エラー
EEXIST | その名前のモジュールがすでに存在する。 |
EFAULT | name がプログラムがアクセスできるアドレス空間の外部にある。 |
EINVAL | 要求したサイズが小さすぎて、モジュールのヘッダ情報すら格納できない。 |
ENOMEM | モジュールを格納するのに必要な大きさの連続したメモリブロックを カーネルが確保できなかった。 |
EPERM | 呼び出し元が特権 (CAP_SYS_MODULE ケーパビリティ) を持っていなかった。 |
ENOSYS | create_module() がこのバージョンのカーネルではサポートされていない。 |
バージョン
このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。
準拠
create_module() は Linux 固有である。