私は、保持されている kmem_cache オブジェクトを繰り返し処理して、kmalloc_caches
それらの名前を出力するという、非常に単純であるように思われることをしようとしています。これは常にカーネル パニックで終了します。私のCは非常に錆びているので、何か誤解している場合は、イルミネーションをいただければ幸いです。次の機能を追加しました。
void *print_cachenames(void) {
struct kmem_cache *k;
k = kmalloc_caches[0];
printk(KERN_INFO "680: k[0] name: %s\n", k->name);
}
mm/slub.c に。配列内の最初の kmem_cache オブジェクトの名前を出力しようとするだけです。何が原因で爆発するのですか?