On Mon, Sep 10, 2012 at 03:53:51PM +0800, Yan, Zheng wrote:
> From: "Yan, Zheng" <zheng.z....@intel.com>
> 

SNIP

> +int parse_events_add_pmu(struct list_head **_list, int *idx,
>                        char *name, struct list_head *head_config)
>  {
>       struct perf_event_attr attr;
> -     struct perf_pmu *pmu;
> +     struct list_head *list;
> +     struct perf_pmu *pmu = NULL;
> +     struct perf_evsel *evsel, *first = NULL;
> +     int orig_idx = *idx;
>  
> -     pmu = perf_pmu__find(name);
> -     if (!pmu)
> -             return -EINVAL;
> +     list = malloc(sizeof(*list));
> +     if (!list)
> +             return -ENOMEM;
> +     INIT_LIST_HEAD(list);

list should be allocated only if (!*_list)) same as in add_event function

I haven't test, but I think you'll leak/loose events if there's another pmu
event defined after ','

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to