pre: または post: を指定しない Linux カーネルモジュール Softdeps:

pre: または post: を指定しない Linux カーネルモジュール Softdeps:

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.cpre: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

おすすめ記事