Linuxカーネルモジュール(つまり、カーネル空間で動作している)には、ファイルのパスがあります。
そのファイルのiノードを取得するために使用できる関数。具体的には、ファイルのiノードを指す「inode*」を取得する必要があります。
Linuxカーネルモジュール(つまり、カーネル空間で動作している)には、ファイルのパスがあります。
そのファイルのiノードを取得するために使用できる関数。具体的には、ファイルのiノードを指す「inode*」を取得する必要があります。
ファイルを開く必要はありません。char *name
に変換されるカーネルで利用可能なルックアップ関数がありますstruct nameidata
。path_lookupを参照してください。
また、パス解決アルゴリズムがどのように機能するかを確認することもできます。
カーネルでの私の経験に基づいて、途中の関数ではなく、常に path_lookup のようなトップ レベルの関数を使用することをお勧めします。