From: Arnaldo Carvalho de Melo <[email protected]>

To have a more compact way to ask the compiler to perform scanf like
argument validation.

Cc: Adrian Hunter <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Wang Nan <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
 tools/include/linux/compiler-gcc.h | 1 +
 tools/perf/util/pmu.h              | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/include/linux/compiler-gcc.h 
b/tools/include/linux/compiler-gcc.h
index f531b258ff94..2846094aad4d 100644
--- a/tools/include/linux/compiler-gcc.h
+++ b/tools/include/linux/compiler-gcc.h
@@ -23,3 +23,4 @@
 #define __noreturn     __attribute__((noreturn))
 
 #define __printf(a, b) __attribute__((format(printf, a, b)))
+#define __scanf(a, b)  __attribute__((format(scanf, a, b)))
diff --git a/tools/perf/util/pmu.h b/tools/perf/util/pmu.h
index ea7f450dc609..389e9729331f 100644
--- a/tools/perf/util/pmu.h
+++ b/tools/perf/util/pmu.h
@@ -2,6 +2,7 @@
 #define __PMU_H
 
 #include <linux/bitmap.h>
+#include <linux/compiler.h>
 #include <linux/perf_event.h>
 #include <stdbool.h>
 #include "evsel.h"
@@ -83,8 +84,7 @@ void print_pmu_events(const char *event_glob, bool name_only, 
bool quiet,
                      bool long_desc, bool details_flag);
 bool pmu_have_event(const char *pname, const char *name);
 
-int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char 
*fmt,
-                       ...) __attribute__((format(scanf, 3, 4)));
+int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char 
*fmt, ...) __scanf(3, 4);
 
 int perf_pmu__test(void);
 
-- 
2.9.4

Reply via email to