Messages in this thread Patch in this message |  | | From | Ingo Molnar <> | Subject | [PATCH 1/2] entry: Fix CONFIG_SECCOMP assumption | Date | Sat, 25 Jul 2020 11:19:50 +0200 |
| |
The __secure_computing() callback only exists on CONFIG_SECCOMP=y, and on architectures that have CONFIG_HAVE_ARCH_SECCOMP_FILTER.
Instead of complicating the #ifdef within the generic entry code, make the generic entry code depend on the availability of a modern seccomp framework. This was implicit in the generic code due to x86 being a modern seccomp-filter architecture.
Also move the Kconfig entry to after its HAVE_ARCH_SECCOMP_FILTER dependency and fix minor whitespace damage while at it.
Fixes: 142781e108b1: ("entry: Provide generic syscall entry functionality") Signed-off-by: Ingo Molnar <mingo@kernel.org> --- arch/Kconfig | 6 ++++-- kernel/entry/common.c | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/Kconfig b/arch/Kconfig index 852a527f418f..c2b29cfc4796 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -27,8 +27,6 @@ config HAVE_IMA_KEXEC config HOTPLUG_SMT bool -config GENERIC_ENTRY - bool config OPROFILE tristate "OProfile system profiling" @@ -654,6 +652,10 @@ config HAVE_IRQ_EXIT_ON_IRQ_STACK This spares a stack switch and improves cache usage on softirq processing. +config GENERIC_ENTRY + bool + depends on HAVE_ARCH_SECCOMP_FILTER + config PGTABLE_LEVELS int default 2 diff --git a/kernel/entry/common.c b/kernel/entry/common.c index 495f5c051b03..49ed8b47773a 100644 --- a/kernel/entry/common.c +++ b/kernel/entry/common.c @@ -53,12 +53,14 @@ static long syscall_trace_enter(struct pt_regs *regs, long syscall, return -1L; } +#ifdef CONFIG_SECCOMP /* Do seccomp after ptrace, to catch any tracer changes. */ if (ti_work & _TIF_SECCOMP) { ret = __secure_computing(NULL); if (ret == -1L) return ret; } +#endif if (unlikely(ti_work & _TIF_SYSCALL_TRACEPOINT)) trace_sys_enter(regs, syscall); -- 2.25.1
|  |