2012-01-13 93 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

這是一個有趣的想法,可能會起作用,但是如何從模塊中輕鬆發現模塊的大小?更好的辦法是獲取用於「模塊」列的字符串,因爲整個要點是爲用戶記錄最終報告的分配。 – tletnes 2012-02-21 16:51:15

0

你可以使用模塊名作爲重點。

或者,你可以利用預處理器,並使用文件名(__ FILE __)作爲重點。儘管無法保證,但每個模塊的文件名都是獨一無二的。