我正在努力寻找如何检查 [vsyscall] 表的配置方式(本地或模拟)。该设置应在名为 vsyscall_mode
的变量中设置。谁能阐明如何检查此设置?
通过重新运行 cat/proc/self/maps
我观察到 [vsyscall] 的内存映射区域没有改变,而 [vdso] 却改变了。这是否意味着 vsyscall 的设置设置为 native ?
最佳答案
vsyscall 模式在内核配置中设置,因此您可以在 native 和仿真之间进行选择。
对于鱼壳:
cat /usr/src/linux-headers-(uname -r)/.config | grep VSYSCALL
对于 bash:
cat /usr/src/linux-headers-$(uname -r)/.config | grep VSYSCALL
debian 8 上的输出(例如):
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_X86_VSYSCALL_EMULATION=y
关于linux - 如何检查 vsyscall 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29377245/