3

/proc/ にエントリを作成し、その他のタスクを実行するカーネル モジュールを作成しました。既存のカーネル モジュールを変更して、モジュールが実行されているかどうかを確認し、それに応じていくつかの文を実行したい (または、実行されていない場合は他の文を実行したい)

これを行う方法に関するアドバイスはありますか?

4

1 に答える 1

4

kernel/module.cおそらく必要なことを行う機能を提供します。最初にロックしてから、モジュールの名前でmodule_mutex呼び出す必要があります。結果は、指定されたモジュールを説明するfind_module()へのポインターになります。または、モジュールがロードされていない場合は、次のようになります。struct moduleNULL

/* Search for module by name: must hold module_mutex. */
struct module *find_module(const char *name)
{
        struct module *mod;

        list_for_each_entry(mod, &modules, list) {
                if (strcmp(mod->name, name) == 0) 
                        return mod;
        }
        return NULL;
}
EXPORT_SYMBOL_GPL(find_module);
于 2012-05-16T22:43:11.437 に答える