From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752814AbbHCJiJ (ORCPT ); Mon, 3 Aug 2015 05:38:09 -0400 Received: from casper.infradead.org ([85.118.1.10]:47229 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751974AbbHCJiH (ORCPT ); Mon, 3 Aug 2015 05:38:07 -0400 Date: Mon, 3 Aug 2015 11:38:01 +0200 From: Peter Zijlstra To: Kaixu Xia Cc: ast@plumgrid.com, davem@davemloft.net, acme@kernel.org, mingo@redhat.com, masami.hiramatsu.pt@hitachi.com, jolsa@kernel.org, wangnan0@huawei.com, linux-kernel@vger.kernel.org, pi3orama@163.com, hekuang@huawei.com Subject: Re: [PATCH v3 1/3] bpf: Add new bpf map type to store the pointer to struct perf_event Message-ID: <20150803093801.GF19282@twins.programming.kicks-ass.net> References: <1437644562-84431-1-git-send-email-xiakaixu@huawei.com> <1437644562-84431-2-git-send-email-xiakaixu@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1437644562-84431-2-git-send-email-xiakaixu@huawei.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 23, 2015 at 09:42:40AM +0000, Kaixu Xia wrote: > +static struct perf_event *convert_map_with_perf_event(void *value) > +{ > + struct perf_event *event; > + u32 fd; > + > + fd = *(u32 *)value; > + > + event = perf_event_get(fd); > + if (IS_ERR(event)) > + return NULL; > + > + /* limit the event type to PERF_TYPE_RAW > + * and PERF_TYPE_HARDWARE. > + */ > + if (event->attr.type != PERF_TYPE_RAW && > + event->attr.type != PERF_TYPE_HARDWARE) > + return NULL; Aside from the ref-leak already mentioned; please introduce something like: const struct perf_event_attr *perf_event_attrs(struct perf_event *event); To avoid having to poke inside of the event outside of perf code. > + > + return event; > +}