From: Hoeun Ryu <hoeun.ryu@gmail.com>
To: "Kees Cook" <keescook@chromium.org>,
"Michal Marek" <mmarek@suse.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Emese Revfy" <re.emese@gmail.com>,
"Ingo Molnar" <mingo@kernel.org>,
"Mickaël Salaün" <mic@digikod.net>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Andy Lutomirski" <luto@kernel.org>,
"Michal Hocko" <mhocko@suse.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
"Mateusz Guzik" <mguzik@redhat.com>
Cc: linux-kernel@vger.kernel.org,
kernel-hardening@lists.openwall.com,
Hoeun Ryu <hoeun.ryu@gmail.com>
Subject: [kernel-hardening] [PATCH v2 2/2] fork: make number of cached stacks (vmapped) configurable using Kbuild
Date: Thu, 9 Feb 2017 13:03:47 +0900 [thread overview]
Message-ID: <1486613040-30555-2-git-send-email-hoeun.ryu@gmail.com> (raw)
In-Reply-To: <1486613040-30555-1-git-send-email-hoeun.ryu@gmail.com>
Introducing NR_VMAP_STACK_CACHE, the number of cached stacks for virtually
mapped kernel stack can be configurable using Kbuild system.
default value is 2.
Signed-off-by: Hoeun Ryu <hoeun.ryu@gmail.com>
---
arch/Kconfig | 8 ++++++++
kernel/fork.c | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/arch/Kconfig b/arch/Kconfig
index d49a8e6..066d111 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -849,6 +849,14 @@ config VMAP_STACK
the stack to map directly to the KASAN shadow map using a formula
that is incorrect if the stack is in vmalloc space.
+config NR_VMAP_STACK_CACHE
+ int "Number of cached stacks"
+ default "2"
+ depends on VMAP_STACK
+ help
+ This determines how many stacks can be cached for virtually
+ mapped kernel stacks.
+
config ARCH_WANT_RELAX_ORDER
bool
diff --git a/kernel/fork.c b/kernel/fork.c
index 7911ed2..73ba1da 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -166,7 +166,7 @@ void __weak arch_release_thread_stack(unsigned long *stack)
* vmalloc() is a bit slow, and calling vfree() enough times will force a TLB
* flush. Try to minimize the number of calls by caching stacks.
*/
-#define NR_CACHED_STACKS 2
+#define NR_CACHED_STACKS CONFIG_NR_VMAP_STACK_CACHE
static DEFINE_PER_CPU(struct vm_struct *, cached_stacks[NR_CACHED_STACKS]);
#endif
--
2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Hoeun Ryu <hoeun.ryu@gmail.com>
To: "Kees Cook" <keescook@chromium.org>,
"Michal Marek" <mmarek@suse.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Emese Revfy" <re.emese@gmail.com>,
"Ingo Molnar" <mingo@kernel.org>,
"Mickaël Salaün" <mic@digikod.net>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Andy Lutomirski" <luto@kernel.org>,
"Michal Hocko" <mhocko@suse.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
"Mateusz Guzik" <mguzik@redhat.com>
Cc: linux-kernel@vger.kernel.org,
kernel-hardening@lists.openwall.com,
Hoeun Ryu <hoeun.ryu@gmail.com>
Subject: [PATCH v2 2/2] fork: make number of cached stacks (vmapped) configurable using Kbuild
Date: Thu, 9 Feb 2017 13:03:47 +0900 [thread overview]
Message-ID: <1486613040-30555-2-git-send-email-hoeun.ryu@gmail.com> (raw)
In-Reply-To: <1486613040-30555-1-git-send-email-hoeun.ryu@gmail.com>
Introducing NR_VMAP_STACK_CACHE, the number of cached stacks for virtually
mapped kernel stack can be configurable using Kbuild system.
default value is 2.
Signed-off-by: Hoeun Ryu <hoeun.ryu@gmail.com>
---
arch/Kconfig | 8 ++++++++
kernel/fork.c | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/arch/Kconfig b/arch/Kconfig
index d49a8e6..066d111 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -849,6 +849,14 @@ config VMAP_STACK
the stack to map directly to the KASAN shadow map using a formula
that is incorrect if the stack is in vmalloc space.
+config NR_VMAP_STACK_CACHE
+ int "Number of cached stacks"
+ default "2"
+ depends on VMAP_STACK
+ help
+ This determines how many stacks can be cached for virtually
+ mapped kernel stacks.
+
config ARCH_WANT_RELAX_ORDER
bool
diff --git a/kernel/fork.c b/kernel/fork.c
index 7911ed2..73ba1da 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -166,7 +166,7 @@ void __weak arch_release_thread_stack(unsigned long *stack)
* vmalloc() is a bit slow, and calling vfree() enough times will force a TLB
* flush. Try to minimize the number of calls by caching stacks.
*/
-#define NR_CACHED_STACKS 2
+#define NR_CACHED_STACKS CONFIG_NR_VMAP_STACK_CACHE
static DEFINE_PER_CPU(struct vm_struct *, cached_stacks[NR_CACHED_STACKS]);
#endif
--
2.7.4
next prev parent reply other threads:[~2017-02-09 4:03 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-09 4:03 [kernel-hardening] [PATCH v2 1/2] fork: free vmapped stacks in cache when cpus are offline Hoeun Ryu
2017-02-09 4:03 ` Hoeun Ryu
2017-02-09 4:03 ` Hoeun Ryu [this message]
2017-02-09 4:03 ` [PATCH v2 2/2] fork: make number of cached stacks (vmapped) configurable using Kbuild Hoeun Ryu
2017-02-09 4:26 ` [kernel-hardening] " Eric Biggers
2017-02-09 8:40 ` [kernel-hardening] " Michal Hocko
2017-02-09 8:40 ` Michal Hocko
2017-02-09 13:36 ` [kernel-hardening] " Hoeun Ryu
2017-02-09 13:36 ` Hoeun Ryu
2017-02-09 4:22 ` [kernel-hardening] [PATCH v2 1/2] fork: free vmapped stacks in cache when cpus are offline Eric Biggers
2017-02-09 13:35 ` Hoeun Ryu
2017-02-09 7:28 ` [kernel-hardening] " kbuild test robot
2017-02-09 7:28 ` kbuild test robot
2017-02-09 8:01 ` [kernel-hardening] " kbuild test robot
2017-02-09 8:01 ` kbuild test robot
2017-02-09 8:38 ` [kernel-hardening] " Michal Hocko
2017-02-09 8:38 ` Michal Hocko
2017-02-09 13:36 ` [kernel-hardening] " Hoeun Ryu
2017-02-09 13:36 ` Hoeun Ryu
2017-02-09 10:26 ` [kernel-hardening] " kbuild test robot
2017-02-09 10:26 ` kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1486613040-30555-2-git-send-email-hoeun.ryu@gmail.com \
--to=hoeun.ryu@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mguzik@redhat.com \
--cc=mhocko@suse.com \
--cc=mic@digikod.net \
--cc=mingo@kernel.org \
--cc=mmarek@suse.com \
--cc=npiggin@gmail.com \
--cc=re.emese@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.