On 14/03/2018 18:53, Arnaldo Carvalho de Melo wrote:
Em Thu, Mar 15, 2018 at 01:10:52AM +0800, John Garry escreveu:
In the recently introduced support for vendor subdirectory,
the checking for directory entries under xfs (or any other fs
which does not support dirent.d_type) is missing the check
for links for current and parent directory. This can result
in a broken pmu_events.c being generated.

Fix this by adding the appropriate check in is_leaf_dir().

So I'll lookup the patch that introduced the patch and squash this one
with it, so that we don't break 'git bisect' on ppc.

Right, so it's going to be "perf vendor events: add support for pmu events vendor subdirectory".

BTW, I don't think it's specifically ppc which was broken, but just when building from xfs.

Much appreciated,
John


- Arnaldo

Cc: Sukadev Bhattiprolu <[email protected]>
Signed-off-by: John Garry <[email protected]>

diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
index 1c01844..db3a594 100644
--- a/tools/perf/pmu-events/jevents.c
+++ b/tools/perf/pmu-events/jevents.c
@@ -873,7 +873,10 @@ static int is_leaf_dir(const char *fpath)
                return 0;

        while ((dir = readdir(d)) != NULL) {
-               if (dir->d_type == DT_DIR && dir->d_name[0] != '.') {
+               if (!strcmp(dir->d_name, ".") || !strcmp(dir->d_name, ".."))
+                       continue;
+
+               if (dir->d_type == DT_DIR) {
                        res = 0;
                        break;
                } else if (dir->d_type == DT_UNKNOWN) {
--
1.9.1

.



Reply via email to