From patchwork Wed Mar 29 05:24:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 744618 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vtGSN1H5bz9ryv for ; Wed, 29 Mar 2017 16:25:40 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752982AbdC2FZW (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 Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 83941201C8; Wed, 29 Mar 2017 05:25:18 +0000 (UTC) Received: from localhost.localdomain (NE2965lan1.rev.em-net.ne.jp [210.141.244.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6FAC020173; Wed, 29 Mar 2017 05:25:15 +0000 (UTC) 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 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@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());