From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966859AbdEWIqj (ORCPT ); Tue, 23 May 2017 04:46:39 -0400 Received: from terminus.zytor.com ([65.50.211.136]:41345 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758314AbdEWIqf (ORCPT ); Tue, 23 May 2017 04:46:35 -0400 Date: Tue, 23 May 2017 01:41:58 -0700 From: tip-bot for Dan Carpenter Message-ID: Cc: acme@redhat.com, acme@kernel.org, mingo@kernel.org, dan.carpenter@oracle.com, jolsa@redhat.com, peterz@infradead.org, hpa@zytor.com, torvalds@linux-foundation.org, vincent.weaver@maine.edu, tglx@linutronix.de, alexander.shishkin@linux.intel.com, eranian@google.com, linux-kernel@vger.kernel.org Reply-To: alexander.shishkin@linux.intel.com, vincent.weaver@maine.edu, tglx@linutronix.de, eranian@google.com, hpa@zytor.com, peterz@infradead.org, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, acme@kernel.org, acme@redhat.com, dan.carpenter@oracle.com, jolsa@redhat.com, mingo@kernel.org In-Reply-To: <20170522090418.hvs6icgpdo53wkn5@mwanda> References: <20170522090418.hvs6icgpdo53wkn5@mwanda> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf/core: Fix error handling in perf_event_alloc() Git-Commit-ID: 36cc2b9222b5106de34085c4dd8635ac67ef5cba X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 36cc2b9222b5106de34085c4dd8635ac67ef5cba Gitweb: http://git.kernel.org/tip/36cc2b9222b5106de34085c4dd8635ac67ef5cba Author: Dan Carpenter AuthorDate: Mon, 22 May 2017 12:04:18 +0300 Committer: Ingo Molnar CommitDate: Tue, 23 May 2017 09:50:05 +0200 perf/core: Fix error handling in perf_event_alloc() We don't set an error code here which means that perf_event_alloc() returns ERR_PTR(0) (in other words NULL). The callers are not expecting that and would Oops. Signed-off-by: Dan Carpenter Signed-off-by: Peter Zijlstra (Intel) Cc: Alexander Shishkin Cc: Arnaldo Carvalho de Melo Cc: Arnaldo Carvalho de Melo Cc: Jiri Olsa Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Thomas Gleixner Cc: Vince Weaver Fixes: 375637bc5249 ("perf/core: Introduce address range filtering") Link: http://lkml.kernel.org/r/20170522090418.hvs6icgpdo53wkn5@mwanda Signed-off-by: Ingo Molnar --- kernel/events/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index 0028efa..f8c27d3 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -9469,8 +9469,10 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu, event->addr_filters_offs = kcalloc(pmu->nr_addr_filters, sizeof(unsigned long), GFP_KERNEL); - if (!event->addr_filters_offs) + if (!event->addr_filters_offs) { + err = -ENOMEM; goto err_per_task; + } /* force hw sync on the address filters */ event->addr_filters_gen = 1;