* FAILED: patch "[PATCH] perf tools: Dont stop PMU parsing on alias parse error" failed to apply to 3.14-stable tree
@ 2016-04-09 17:52 gregkh
2016-04-10 18:30 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: gregkh @ 2016-04-09 17:52 UTC (permalink / raw)
To: ak, acme, jolsa; +Cc: stable
The patch below does not apply to the 3.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 940db6dcd3f4659303fdf6befe7416adc4d24118 Mon Sep 17 00:00:00 2001
From: Andi Kleen <ak@linux.intel.com>
Date: Wed, 17 Feb 2016 14:44:55 -0800
Subject: [PATCH] perf tools: Dont stop PMU parsing on alias parse error
When an error happens during alias parsing currently the complete
parsing of all attributes of the PMU is stopped. This is breaks old perf
on a newer kernel that may have not-yet-know alias attributes (such as
.scale or .per-pkg).
Continue when some attribute is unparseable.
This is IMHO a stable candidate and should be backported to older
versions to avoid problems with newer kernels.
v2: Print warnings when something goes wrong.
v3: Change warning to debug output
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: stable@vger.kernel.org # v3.6+
Link: http://lkml.kernel.org/r/1455749095-18358-1-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
index cf59fbaee491..ce61f79dbaae 100644
--- a/tools/perf/util/pmu.c
+++ b/tools/perf/util/pmu.c
@@ -284,13 +284,12 @@ static int pmu_aliases_parse(char *dir, struct list_head *head)
{
struct dirent *evt_ent;
DIR *event_dir;
- int ret = 0;
event_dir = opendir(dir);
if (!event_dir)
return -EINVAL;
- while (!ret && (evt_ent = readdir(event_dir))) {
+ while ((evt_ent = readdir(event_dir))) {
char path[PATH_MAX];
char *name = evt_ent->d_name;
FILE *file;
@@ -306,17 +305,19 @@ static int pmu_aliases_parse(char *dir, struct list_head *head)
snprintf(path, PATH_MAX, "%s/%s", dir, name);
- ret = -EINVAL;
file = fopen(path, "r");
- if (!file)
- break;
+ if (!file) {
+ pr_debug("Cannot open %s\n", path);
+ continue;
+ }
- ret = perf_pmu__new_alias(head, dir, name, file);
+ if (perf_pmu__new_alias(head, dir, name, file) < 0)
+ pr_debug("Cannot set up %s\n", name);
fclose(file);
}
closedir(event_dir);
- return ret;
+ return 0;
}
/*
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: FAILED: patch "[PATCH] perf tools: Dont stop PMU parsing on alias parse error" failed to apply to 3.14-stable tree
2016-04-09 17:52 FAILED: patch "[PATCH] perf tools: Dont stop PMU parsing on alias parse error" failed to apply to 3.14-stable tree gregkh
@ 2016-04-10 18:30 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2016-04-10 18:30 UTC (permalink / raw)
To: ak, acme, jolsa; +Cc: stable
Andi, this one didn't work with cherry-pick, so if you want it in
3.14-stable, I need a backported version.
thanks,
greg k-h
On Sat, Apr 09, 2016 at 10:52:03AM -0700, gregkh@linuxfoundation.org wrote:
>
> The patch below does not apply to the 3.14-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.
>
> thanks,
>
> greg k-h
>
> ------------------ original commit in Linus's tree ------------------
>
> >From 940db6dcd3f4659303fdf6befe7416adc4d24118 Mon Sep 17 00:00:00 2001
> From: Andi Kleen <ak@linux.intel.com>
> Date: Wed, 17 Feb 2016 14:44:55 -0800
> Subject: [PATCH] perf tools: Dont stop PMU parsing on alias parse error
>
> When an error happens during alias parsing currently the complete
> parsing of all attributes of the PMU is stopped. This is breaks old perf
> on a newer kernel that may have not-yet-know alias attributes (such as
> .scale or .per-pkg).
>
> Continue when some attribute is unparseable.
>
> This is IMHO a stable candidate and should be backported to older
> versions to avoid problems with newer kernels.
>
> v2: Print warnings when something goes wrong.
> v3: Change warning to debug output
>
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: stable@vger.kernel.org # v3.6+
> Link: http://lkml.kernel.org/r/1455749095-18358-1-git-send-email-andi@firstfloor.org
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index cf59fbaee491..ce61f79dbaae 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -284,13 +284,12 @@ static int pmu_aliases_parse(char *dir, struct list_head *head)
> {
> struct dirent *evt_ent;
> DIR *event_dir;
> - int ret = 0;
>
> event_dir = opendir(dir);
> if (!event_dir)
> return -EINVAL;
>
> - while (!ret && (evt_ent = readdir(event_dir))) {
> + while ((evt_ent = readdir(event_dir))) {
> char path[PATH_MAX];
> char *name = evt_ent->d_name;
> FILE *file;
> @@ -306,17 +305,19 @@ static int pmu_aliases_parse(char *dir, struct list_head *head)
>
> snprintf(path, PATH_MAX, "%s/%s", dir, name);
>
> - ret = -EINVAL;
> file = fopen(path, "r");
> - if (!file)
> - break;
> + if (!file) {
> + pr_debug("Cannot open %s\n", path);
> + continue;
> + }
>
> - ret = perf_pmu__new_alias(head, dir, name, file);
> + if (perf_pmu__new_alias(head, dir, name, file) < 0)
> + pr_debug("Cannot set up %s\n", name);
> fclose(file);
> }
>
> closedir(event_dir);
> - return ret;
> + return 0;
> }
>
> /*
>
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-04-10 18:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-09 17:52 FAILED: patch "[PATCH] perf tools: Dont stop PMU parsing on alias parse error" failed to apply to 3.14-stable tree gregkh
2016-04-10 18:30 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox