日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

module blacklist

發(fā)布時間:2024/3/7 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 module blacklist 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
對內(nèi)核模塊來說,黑名單是指禁止某個模塊裝入的機(jī)制 使用 /etc/modprobe.d/ 中的文件 在 /etc/modprobe.d/ 中創(chuàng)建 .conf 文件,使用 blacklist 關(guān)鍵字屏蔽不需要的模塊,例如如果不想裝入 pcspkr 模塊:/etc/modprobe.d/nobeep.conf # Do not load the pcspkr module on boot blacklist pcspkr 或者通過命令行的模式 modprobe.blacklist=modname1,modname2 從這里可以看出blacklist是一個模塊參數(shù),其實現(xiàn)在linux/module.c中 其源碼如下: static bool blacklisted(const char *module_name) {const char *p;size_t len;#可以看到module_blacklist 這個list 為null,則直接返回falseif (!module_blacklist)return false;#這里通過查詢這個list 來比較模塊的name 是否在module_blacklist中,如果在的話,返回true,就不在加載#layout_and_allocate 這個函數(shù)中加載這個模塊for (p = module_blacklist; *p; p += len) {len = strcspn(p, ",");if (strlen(module_name) == len && !memcmp(module_name, p, len))return true;if (p[len] == ',')len++;}return false; } core_param(module_blacklist, module_blacklist, charp, 0400); blacklisted 這個函數(shù)是在layout_and_allocate 中加載的 static struct module *layout_and_allocate(struct load_info *info, int flags) {/* Module within temporary copy. */struct module *mod;unsigned int ndx;int err;mod = setup_load_info(info, flags);if (IS_ERR(mod))return mod;#可以看到如果blacklisted 返回true,則layout_and_allocate 就返回-EPERM,表示不加載這個模塊if (blacklisted(info->name))return ERR_PTR(-EPERM); }

總結(jié)

以上是生活随笔為你收集整理的module blacklist的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。