* [PATCH v2] perf tools: use PTR_ERR_OR_ZERO inetead of return code
@ 2018-09-06 11:42 Ding Xiang
2018-09-06 17:46 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 2+ messages in thread
From: Ding Xiang @ 2018-09-06 11:42 UTC (permalink / raw)
To: peterz, mingo, acme, alexander.shishkin, jolsa, namhyung, linux-kernel
Cc: dingxiang
use PTR_ERR_OR_ZERO for bpf__setup_stdout return code
v2: add macro PTR_ERR_OR_ZERO to err.h
Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com>
---
tools/include/linux/err.h | 7 +++++++
tools/perf/util/bpf-loader.c | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h
index 7a8b61a..0946496 100644
--- a/tools/include/linux/err.h
+++ b/tools/include/linux/err.h
@@ -52,4 +52,11 @@ static inline bool __must_check IS_ERR_OR_NULL(__force const void *ptr)
return unlikely(!ptr) || IS_ERR_VALUE((unsigned long)ptr);
}
+static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr)
+{
+ if (IS_ERR(ptr))
+ return PTR_ERR(ptr);
+ else
+ return 0;
+}
#endif /* _LINUX_ERR_H */
diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c
index 47aac41..f9ae1a9 100644
--- a/tools/perf/util/bpf-loader.c
+++ b/tools/perf/util/bpf-loader.c
@@ -1615,7 +1615,7 @@ struct perf_evsel *bpf__setup_output_event(struct perf_evlist *evlist, const cha
int bpf__setup_stdout(struct perf_evlist *evlist)
{
struct perf_evsel *evsel = bpf__setup_output_event(evlist, "__bpf_stdout__");
- return IS_ERR(evsel) ? PTR_ERR(evsel) : 0;
+ return PTR_ERR_OR_ZERO(evsel);
}
#define ERRNO_OFFSET(e) ((e) - __BPF_LOADER_ERRNO__START)
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] perf tools: use PTR_ERR_OR_ZERO inetead of return code
2018-09-06 11:42 [PATCH v2] perf tools: use PTR_ERR_OR_ZERO inetead of return code Ding Xiang
@ 2018-09-06 17:46 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-09-06 17:46 UTC (permalink / raw)
To: Ding Xiang
Cc: peterz, mingo, alexander.shishkin, jolsa, namhyung, linux-kernel
Em Thu, Sep 06, 2018 at 07:42:51PM +0800, Ding Xiang escreveu:
> use PTR_ERR_OR_ZERO for bpf__setup_stdout return code
>
> v2: add macro PTR_ERR_OR_ZERO to err.h
This really should be done in two patches, one introducing the
PTR_ERR_OR_ZERO() macro, and then the use of it in bpf-loader.c.
Thanks,
- Arnaldo
> Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com>
> ---
> tools/include/linux/err.h | 7 +++++++
> tools/perf/util/bpf-loader.c | 2 +-
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h
> index 7a8b61a..0946496 100644
> --- a/tools/include/linux/err.h
> +++ b/tools/include/linux/err.h
> @@ -52,4 +52,11 @@ static inline bool __must_check IS_ERR_OR_NULL(__force const void *ptr)
> return unlikely(!ptr) || IS_ERR_VALUE((unsigned long)ptr);
> }
>
> +static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr)
> +{
> + if (IS_ERR(ptr))
> + return PTR_ERR(ptr);
> + else
> + return 0;
> +}
> #endif /* _LINUX_ERR_H */
> diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c
> index 47aac41..f9ae1a9 100644
> --- a/tools/perf/util/bpf-loader.c
> +++ b/tools/perf/util/bpf-loader.c
> @@ -1615,7 +1615,7 @@ struct perf_evsel *bpf__setup_output_event(struct perf_evlist *evlist, const cha
> int bpf__setup_stdout(struct perf_evlist *evlist)
> {
> struct perf_evsel *evsel = bpf__setup_output_event(evlist, "__bpf_stdout__");
> - return IS_ERR(evsel) ? PTR_ERR(evsel) : 0;
> + return PTR_ERR_OR_ZERO(evsel);
> }
>
> #define ERRNO_OFFSET(e) ((e) - __BPF_LOADER_ERRNO__START)
> --
> 1.9.1
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-09-06 17:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-06 11:42 [PATCH v2] perf tools: use PTR_ERR_OR_ZERO inetead of return code Ding Xiang
2018-09-06 17:46 ` Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).