在2.6内核中,为了更好地调试内核,引入了kallsyms。kallsyms抽取了内核用到的所有函数地址(全局的、静态的)和非栈数据变量地址,生成一个数据块,作为只读数据链接进kernel image,相当于内核中存了一个System.map。 CONFIG_KALLSYMS=y 符号表中包含所有的函数 CONFIG_KALLSYMS_ALL=y 符号表中包括所有的变量(包括没有用...
CONFIG_PRINTK=y @@ -181,7 +181,7 @@ CONFIG_AIO=y CONFIG_ADVISE_SYSCALLS=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_BPF_SYSCALL=y # CONFIG_BPF_JIT_ALWAYS_ON is not set @@ -6684,7 +6684,7...
Interesting. So the way this is designed to work is when the spl module loads that missing directory is created. After it knows the directory exists it then makes the call to user space to extract that address from kallsyms and pass it back to the kernel through the proc file. In your ...