config: kernel: add KERNEL_X86_VSYSCALL_EMULATION
authorYousong Zhou <yszhou4tech@gmail.com>
Tue, 27 Aug 2019 03:52:56 +0000 (03:52 +0000)
committerYousong Zhou <yszhou4tech@gmail.com>
Thu, 12 Sep 2019 02:30:26 +0000 (02:30 +0000)
Binaries in container images may need this.  E.g. nginx:1.7.9 used in
k8s default deployment manifest file for demostration [1]

 [1] https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#creating-a-deployment

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
config/Config-kernel.in

index eeda3e1b6f49b5455e517c1bbb20129a30ee3201..d9a9fe687f9f33ed595b0767b75012b534123403 100644 (file)
@@ -54,6 +54,24 @@ config KERNEL_ARM_PMU
        default n
        depends on (arm || aarch64)
 
+config KERNEL_X86_VSYSCALL_EMULATION
+       bool "Enable vsyscall emulation"
+       default n
+       depends on x86_64
+       help
+         This enables emulation of the legacy vsyscall page.  Disabling
+         it is roughly equivalent to booting with vsyscall=none, except
+         that it will also disable the helpful warning if a program
+         tries to use a vsyscall.  With this option set to N, offending
+         programs will just segfault, citing addresses of the form
+         0xffffffffff600?00.
+
+         This option is required by many programs built before 2013, and
+         care should be used even with newer programs if set to N.
+
+         Disabling this option saves about 7K of kernel size and
+         possibly 4K of additional runtime pagetable memory.
+
 config KERNEL_PERF_EVENTS
        bool "Compile the kernel with performance events and counters"
        default n