2012-01-13 4 views
1

モジュール内からロードされたLinuxカーネルモジュールを識別するために使用できるIDまたは名前を問い合わせる方法はありますか?Linuxカーネルモジュールのユニークまたは半ユニークなモジュールIDまたは名前

例:

sample.ko内
int id = get_module_id(???); 
printk("%d", id); 

目標は、リソースを解放することができなかったものをモジュール識別するためにリソース追跡システム内のIDを使用するので、IDはとしてtheoreticaly非固有のものとすることができます実用的なシステムではユニークである限り長い。

ここでの目標は、個々のコンポーネントへの変更を最小限に抑えることで、「独自の識別子を定義する」などのソリューションは機能しません。各モジュールのバージョンが十分に異なる場合

答えて

0

、モジュールの大きさは、あなたの目的には十分かもしれません:

[[email protected] ~]$ lsmod 
Module     Size Used by 
uvcvideo    51149 0 
snd_usb_audio   85970 1 
snd_usbmidi_lib  14807 1 snd_usb_audio 
snd_rawmidi   16204 1 snd_usbmidi_lib 
videodev    70682 1 uvcvideo 
media     9214 2 uvcvideo,videodev 
vfat     7031 0 
fat     37971 1 vfat 
+0

これは興味深い考えであり、うまくいくかもしれませんが、モジュールのサイズをそのモジュール内でどのように簡単に見つけることができますか?全体的なポイントは最終的なレポートの割り当てをユーザーに記録することなので、「Module」列に使用される文字列を取得する方が良いでしょう。 – tletnes

0

あなたがキーとしてモジュール名を使用することができます。

代わりに、プリプロセッサを利用して、キーとしてファイル名(__ __ FILE)を使用することができます。保証されているわけではありませんが、ファイル名はすべてのモジュールで非常にユニークです。

関連する問題