diff mbox series

perf stat: Fix error return code in bperf__load()

Message ID 20210517081254.1561564-1-yukuai3@huawei.com
State New
Headers show
Series perf stat: Fix error return code in bperf__load() | expand

Commit Message

Yu Kuai May 17, 2021, 8:12 a.m. UTC
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 tools/perf/util/bpf_counter.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Yu Kuai May 29, 2021, 9:10 a.m. UTC | #1
ping ...

On 2021/05/17 16:12, Yu Kuai wrote:
> Fix to return a negative error code from the error handling

> case instead of 0, as done elsewhere in this function.

> 

> Reported-by: Hulk Robot <hulkci@huawei.com>

> Signed-off-by: Yu Kuai <yukuai3@huawei.com>

> ---

>   tools/perf/util/bpf_counter.c | 2 ++

>   1 file changed, 2 insertions(+)

> 

> diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c

> index ddb52f748c8e..843b20aa6688 100644

> --- a/tools/perf/util/bpf_counter.c

> +++ b/tools/perf/util/bpf_counter.c

> @@ -522,6 +522,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)

>   	evsel->bperf_leader_link_fd = bpf_link_get_fd_by_id(entry.link_id);

>   	if (evsel->bperf_leader_link_fd < 0 &&

>   	    bperf_reload_leader_program(evsel, attr_map_fd, &entry))

> +		err = -1;

>   		goto out;

>   

>   	/*

> @@ -550,6 +551,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)

>   	/* Step 2: load the follower skeleton */

>   	evsel->follower_skel = bperf_follower_bpf__open();

>   	if (!evsel->follower_skel) {

> +		err = -1;

>   		pr_err("Failed to open follower skeleton\n");

>   		goto out;

>   	}

>
Arnaldo Carvalho de Melo June 1, 2021, 1:52 p.m. UTC | #2
Em Mon, May 17, 2021 at 04:12:54PM +0800, Yu Kuai escreveu:
> Fix to return a negative error code from the error handling

> case instead of 0, as done elsewhere in this function.

> 

> Reported-by: Hulk Robot <hulkci@huawei.com>

> Signed-off-by: Yu Kuai <yukuai3@huawei.com>


Applied, but I had to add Song to the CC list and also add this line:

Fixes: 7fac83aaf2eecc9e ("perf stat: Introduce 'bperf' to share hardware PMCs with BPF")

So that the stable@kernel.org folks can get this auto-collected.

Perhaps you guys can make Hulk do that as well? :-)

Thanks,

- Arnaldo

> ---

>  tools/perf/util/bpf_counter.c | 2 ++

>  1 file changed, 2 insertions(+)

> 

> diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c

> index ddb52f748c8e..843b20aa6688 100644

> --- a/tools/perf/util/bpf_counter.c

> +++ b/tools/perf/util/bpf_counter.c

> @@ -522,6 +522,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)

>  	evsel->bperf_leader_link_fd = bpf_link_get_fd_by_id(entry.link_id);

>  	if (evsel->bperf_leader_link_fd < 0 &&

>  	    bperf_reload_leader_program(evsel, attr_map_fd, &entry))

> +		err = -1;

>  		goto out;

>  

>  	/*

> @@ -550,6 +551,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)

>  	/* Step 2: load the follower skeleton */

>  	evsel->follower_skel = bperf_follower_bpf__open();

>  	if (!evsel->follower_skel) {

> +		err = -1;

>  		pr_err("Failed to open follower skeleton\n");

>  		goto out;

>  	}

> -- 

> 2.25.4

> 


-- 

- Arnaldo
Arnaldo Carvalho de Melo June 1, 2021, 1:55 p.m. UTC | #3
Em Tue, Jun 01, 2021 at 10:52:42AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, May 17, 2021 at 04:12:54PM +0800, Yu Kuai escreveu:

> > Fix to return a negative error code from the error handling

> > case instead of 0, as done elsewhere in this function.

> > 

> > Reported-by: Hulk Robot <hulkci@huawei.com>

> > Signed-off-by: Yu Kuai <yukuai3@huawei.com>

> 

> Applied, but I had to add Song to the CC list and also add this line:

> 

> Fixes: 7fac83aaf2eecc9e ("perf stat: Introduce 'bperf' to share hardware PMCs with BPF")

> 

> So that the stable@kernel.org folks can get this auto-collected.

> 

> Perhaps you guys can make Hulk do that as well? :-)

> 

> Thanks,


Something else to teach Hulk:

util/bpf_counter.c: In function ‘bperf__load’:
util/bpf_counter.c:523:9: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
  523 |         if (evsel->bperf_leader_link_fd < 0 &&
      |         ^~
util/bpf_counter.c:526:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  526 |                 goto out;
      |                 ^~~~
cc1: all warnings being treated as errors

I'm adding the missing {} for the now multiline if block.

- Arnaldo
> 

> > ---

> >  tools/perf/util/bpf_counter.c | 2 ++

> >  1 file changed, 2 insertions(+)

> > 

> > diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c

> > index ddb52f748c8e..843b20aa6688 100644

> > --- a/tools/perf/util/bpf_counter.c

> > +++ b/tools/perf/util/bpf_counter.c

> > @@ -522,6 +522,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)

> >  	evsel->bperf_leader_link_fd = bpf_link_get_fd_by_id(entry.link_id);

> >  	if (evsel->bperf_leader_link_fd < 0 &&

> >  	    bperf_reload_leader_program(evsel, attr_map_fd, &entry))

> > +		err = -1;

> >  		goto out;

> >  

> >  	/*

> > @@ -550,6 +551,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)

> >  	/* Step 2: load the follower skeleton */

> >  	evsel->follower_skel = bperf_follower_bpf__open();

> >  	if (!evsel->follower_skel) {

> > +		err = -1;

> >  		pr_err("Failed to open follower skeleton\n");

> >  		goto out;

> >  	}

> > -- 

> > 2.25.4

> > 

> 

> -- 

> 

> - Arnaldo


-- 

- Arnaldo
Yu Kuai June 2, 2021, 1:05 a.m. UTC | #4
On 2021/06/01 21:55, Arnaldo Carvalho de Melo wrote:
> Em Tue, Jun 01, 2021 at 10:52:42AM -0300, Arnaldo Carvalho de Melo escreveu:

>> Em Mon, May 17, 2021 at 04:12:54PM +0800, Yu Kuai escreveu:

>>> Fix to return a negative error code from the error handling

>>> case instead of 0, as done elsewhere in this function.

>>>

>>> Reported-by: Hulk Robot <hulkci@huawei.com>

>>> Signed-off-by: Yu Kuai <yukuai3@huawei.com>

>>

>> Applied, but I had to add Song to the CC list and also add this line:

>>

>> Fixes: 7fac83aaf2eecc9e ("perf stat: Introduce 'bperf' to share hardware PMCs with BPF")

>>

>> So that the stable@kernel.org folks can get this auto-collected.

>>

>> Perhaps you guys can make Hulk do that as well? :-)

>>

>> Thanks,

> 

> Something else to teach Hulk:

> 

> util/bpf_counter.c: In function ‘bperf__load’:

> util/bpf_counter.c:523:9: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]

>    523 |         if (evsel->bperf_leader_link_fd < 0 &&

>        |         ^~

> util/bpf_counter.c:526:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

>    526 |                 goto out;

>        |                 ^~~~

> cc1: all warnings being treated as errors

> 

> I'm adding the missing {} for the now multiline if block.

Sorry for the mistake, and similar errors will be checked in the future.

Thanks
Yu Kuai
> 

> - Arnaldo

>>

>>> ---

>>>   tools/perf/util/bpf_counter.c | 2 ++

>>>   1 file changed, 2 insertions(+)

>>>

>>> diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c

>>> index ddb52f748c8e..843b20aa6688 100644

>>> --- a/tools/perf/util/bpf_counter.c

>>> +++ b/tools/perf/util/bpf_counter.c

>>> @@ -522,6 +522,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)

>>>   	evsel->bperf_leader_link_fd = bpf_link_get_fd_by_id(entry.link_id);

>>>   	if (evsel->bperf_leader_link_fd < 0 &&

>>>   	    bperf_reload_leader_program(evsel, attr_map_fd, &entry))

>>> +		err = -1;

>>>   		goto out;

>>>   

>>>   	/*

>>> @@ -550,6 +551,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)

>>>   	/* Step 2: load the follower skeleton */

>>>   	evsel->follower_skel = bperf_follower_bpf__open();

>>>   	if (!evsel->follower_skel) {

>>> +		err = -1;

>>>   		pr_err("Failed to open follower skeleton\n");

>>>   		goto out;

>>>   	}

>>> -- 

>>> 2.25.4

>>>

>>

>> -- 

>>

>> - Arnaldo

>
diff mbox series

Patch

diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c
index ddb52f748c8e..843b20aa6688 100644
--- a/tools/perf/util/bpf_counter.c
+++ b/tools/perf/util/bpf_counter.c
@@ -522,6 +522,7 @@  static int bperf__load(struct evsel *evsel, struct target *target)
 	evsel->bperf_leader_link_fd = bpf_link_get_fd_by_id(entry.link_id);
 	if (evsel->bperf_leader_link_fd < 0 &&
 	    bperf_reload_leader_program(evsel, attr_map_fd, &entry))
+		err = -1;
 		goto out;
 
 	/*
@@ -550,6 +551,7 @@  static int bperf__load(struct evsel *evsel, struct target *target)
 	/* Step 2: load the follower skeleton */
 	evsel->follower_skel = bperf_follower_bpf__open();
 	if (!evsel->follower_skel) {
+		err = -1;
 		pr_err("Failed to open follower skeleton\n");
 		goto out;
 	}