From 083bb9b6a4e33a2881da9086c65792148d0d04b1 Mon Sep 17 00:00:00 2001
From: Yousong Zhou <yszhou4tech@gmail.com>
Date: Tue, 27 Aug 2019 03:52:56 +0000
Subject: [PATCH] config: kernel: add KERNEL_X86_VSYSCALL_EMULATION

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 | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/config/Config-kernel.in b/config/Config-kernel.in
index eeda3e1b6f49..d9a9fe687f9f 100644
--- a/config/Config-kernel.in
+++ b/config/Config-kernel.in
@@ -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
-- 
2.30.2