6

「proc/kallsyms」または「system.map」を cat すると、次のようなシンボルが得られます

....
c033718c T nf_hook_slow
c04ca284 r __ksymtab_nf_hook_slow
c04ca28c r __ksymtab_nf_hooks
c04d24a0 r __kcrctab_nf_hook_slow
c04d24a4 r __kcrctab_nf_hooks
c04e9122 r __kstrtab_nf_hook_slow
c04e9179 r __kstrtab_nf_hooks
c054d854 D nf_hooks
c0571ca0 d nf_hook_mutex
....
  1. T、r、D、d スタッフの意味は何ですか?
  2. カーネル ソースで EXPORT_SYMBOL(...) としてシンボルを見つけることができますが、__ksymtab... または __kstrtab のプレフィックスが付いている他のシンボルがあります... これらは何ですか?
  3. System.map にはシンボルがあるが、/proc/kallsyms では除外されている可能性はありますか? (カーネルが適切にコンパイルされていることを前提としています)
  4. netfilter を有効にした Linux カーネルを使用していますが、シンボル 'nf_hooks' が見つかりませんが、'__ksymtab_nf_hook' があります。__ksymtab_nf_hook を使用して nf_hooks のアドレスを取得する方法はありますか?
  5. Linux ソース コード EXPORT_SYMBOL(nf_hook) に表示されますが、'cat /proc/kallsyms' を実行しても見つかりません。これには典型的な理由がありますか?

前もって感謝します。

4

1 に答える 1