CIFSには、次のように生成されたSoftdep依存関係があります。コモード内容は/lib/modules/*/modules.softdeps
次のとおりです。
softdep cifs gcm
softdep cifs ccm
softdep cifs aead2
softdep cifs sha512
softdep cifs sha256
softdep cifs cmac
softdep cifs aes
softdep cifs nls
softdep cifs md5
softdep cifs hmac
softdep cifs ecb
または(カーネルバージョン6.4以降)fs/cifs/cifsfs.c
のソースコードを見ると指定されません。fs/smb/client/cifsfs.c
pre:
post:
MODULE_SOFTDEP("ecb");
MODULE_SOFTDEP("hmac");
MODULE_SOFTDEP("md5");
MODULE_SOFTDEP("nls");
MODULE_SOFTDEP("aes");
MODULE_SOFTDEP("cmac");
MODULE_SOFTDEP("sha256");
MODULE_SOFTDEP("sha512");
MODULE_SOFTDEP("aead2");
MODULE_SOFTDEP("ccm");
MODULE_SOFTDEP("gcm");
私の質問は、modprobeや解析できるツールがこれをどのように解釈しますかmodules.softdep
?です。持っているという意味で解釈すべきでしょうかpre:
?
fs/smb/server/server.c
(6.4)で依存関係を宣言するpre:
ときにclient/cifs/cifsfs.c
暗示される可能性のある意図は次のとおりですpre:
。
MODULE_SOFTDEP("pre: ecb");
MODULE_SOFTDEP("pre: hmac");
MODULE_SOFTDEP("pre: md5");
MODULE_SOFTDEP("pre: nls");
MODULE_SOFTDEP("pre: aes");
MODULE_SOFTDEP("pre: cmac");
MODULE_SOFTDEP("pre: sha256");
MODULE_SOFTDEP("pre: sha512");
MODULE_SOFTDEP("pre: aead2");
MODULE_SOFTDEP("pre: ccm");
MODULE_SOFTDEP("pre: gcm");
MODULE_SOFTDEP("pre: crc32");
しかし、私は明確な答えが欲しい。これlibkmod-config.cのコードまったく明らかではありません。ただ無視しているようですが、意味がありません。
答え1
この記事に紹介されているものです。犯罪おそらくカーネルは5.5程度でしょう。
cifs: MODULE_SOFTDEP に "pre:" を使用しないでください。
次の理由でmodprobeが失敗する可能性があります
。 fatal:モジュールが組み込まれています。RHBZ:1767094
しかし、公開されていないバグ。
次のファイルを生成してテストします。
/etc/modprobe.d/local-cifs.conf
:
softdep cifs pre: lzo xt_LED
私のカーネルの位置はlzo
組み込まれており(図参照/lib/modules/$(uname -r)/modules.builtin
)、xt_LED
失敗しないモジュールです。modprobe cifs
次にxt_LED
+をロードしますcifs
。だから、これが修正されたバグであり、別のバグを残すのか(何の行もpre:
効果がないか影響を与えない)か、知っておくべき他のものがあるのか(原因がわからないときは少し難しいです)と思います。post:
softdep