From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753119AbdC2FZW (ORCPT ); Wed, 29 Mar 2017 01:25:22 -0400 Received: from mail.kernel.org ([198.145.29.136]:44790 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752617AbdC2FZU (ORCPT ); Wed, 29 Mar 2017 01:25:20 -0400 From: Masami Hiramatsu To: Steven Rostedt , Ingo Molnar Cc: Alban Crequy , Alban Crequy , Alexei Starovoitov , Jonathan Corbet , Arnaldo Carvalho de Melo , Omar Sandoval , linux-doc@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, iago@kinvolk.io, michael@kinvolk.io, Dorau Lukasz , systemtap@sourceware.org Subject: [RFC PATCH tip/master 3/3] kprobes: Limit kretprobe maximum instances Date: Wed, 29 Mar 2017 14:24:23 +0900 Message-Id: <149076505311.24574.3646383930433662308.stgit@devbox> X-Mailer: git-send-email 2.9.3 In-Reply-To: <149076484118.24574.7083269903420611708.stgit@devbox> References: <149076484118.24574.7083269903420611708.stgit@devbox> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Limit kretprobe maximum instance up to MAXACTIVE_ALLOC. Without this limit, kretprobe user can specify huge number (e.g. forget to zero-fill struct kretprobe) to maxactive and may cause out-of-memory. Signed-off-by: Masami Hiramatsu --- kernel/kprobes.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/kprobes.c b/kernel/kprobes.c index 75c5390..f1bebcf 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -1942,6 +1942,9 @@ int register_kretprobe(struct kretprobe *rp) rp->kp.break_handler = NULL; /* Pre-allocate memory for max kretprobe instances */ + if (rp->maxactive > KRETPROBE_MAXACTIVE_ALLOC) + return -E2BIG; + if (rp->maxactive <= 0) { #ifdef CONFIG_PREEMPT rp->maxactive = max_t(unsigned int, 10, 2*num_possible_cpus());