如何检查vsyscall模式

我正在努力找出如何检查如何configuration[vsyscall]表(本地或模拟)。 该设置应该在一个名为vsyscall_mode的variables中设置。 任何人都可以阐明如何检查这个设置?

通过重新运行cat /proc/self/maps我发现[vsyscall]的内存映射区域不会改变,[vdso]会改变。 这是否意味着vsyscall的设置被设置为本地?

vsyscall模式在内核配置中设置,所以你可以选择本地和模拟。

对于鱼贝壳:

 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 

通常在/proc/config.gz文件中可用,它将包含当前的内核配置。