lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 8 Sep 2015 10:17:45 +0300
From:	Adrian Hunter <adrian.hunter@...el.com>
To:	Jiri Olsa <jolsa@...hat.com>
Cc:	Arnaldo Carvalho de Melo <acme@...hat.com>, mingo@...nel.org,
	kan.liang@...el.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2 03/14] perf tools: Remove redundant validation from
 perf_evlist__propagate_maps

On 08/09/15 09:53, Jiri Olsa wrote:
> On Mon, Sep 07, 2015 at 05:27:45PM +0300, Adrian Hunter wrote:
>> The validation checks that the values that were just assigned, got
>> assigned i.e. the error can't ever happen.  Subsequent patches will
>> call this code in places where errors are not being returned.
>> Changing those code paths to return this non-existent error is
>> counter-productive, so just remove it.
>>
>> Signed-off-by: Adrian Hunter <adrian.hunter@...el.com>
>> ---
>>  tools/perf/util/evlist.c | 18 ++++++++----------
>>  1 file changed, 8 insertions(+), 10 deletions(-)
>>
>> diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
>> index 9cb9296cc4f8..840d5210be72 100644
>> --- a/tools/perf/util/evlist.c
>> +++ b/tools/perf/util/evlist.c
>> @@ -1103,8 +1103,8 @@ int perf_evlist__mmap(struct perf_evlist *evlist, unsigned int pages,
>>  	return perf_evlist__mmap_ex(evlist, pages, overwrite, 0, false);
>>  }
>>  
>> -static int perf_evlist__propagate_maps(struct perf_evlist *evlist,
>> -				       bool has_user_cpus)
>> +static void perf_evlist__propagate_maps(struct perf_evlist *evlist,
>> +					bool has_user_cpus)
>>  {
>>  	struct perf_evsel *evsel;
>>  
>> @@ -1119,13 +1119,7 @@ static int perf_evlist__propagate_maps(struct perf_evlist *evlist,
>>  		}
>>  
>>  		evsel->threads = thread_map__get(evlist->threads);
>> -
>> -		if ((evlist->cpus && !evsel->cpus) ||
>> -		    (evlist->threads && !evsel->threads))
>> -			return -ENOMEM;
>>  	}
>> -
>> -	return 0;
>>  }
>>  
>>  int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target)
>> @@ -1144,7 +1138,9 @@ int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target)
>>  	if (evlist->cpus == NULL)
>>  		goto out_delete_threads;
>>  
>> -	return perf_evlist__propagate_maps(evlist, !!target->cpu_list);
>> +	perf_evlist__propagate_maps(evlist, !!target->cpu_list);
>> +
>> +	return 0;
>>  
>>  out_delete_threads:
>>  	thread_map__put(evlist->threads);
>> @@ -1162,7 +1158,9 @@ int perf_evlist__set_maps(struct perf_evlist *evlist,
>>  	thread_map__put(evlist->threads);
>>  	evlist->threads = threads;
>>  
>> -	return perf_evlist__propagate_maps(evlist, false);
>> +	perf_evlist__propagate_maps(evlist, false);
>> +
>> +	return 0;
> 
> perf_evlist__set_maps could now also return void

And most of the callers aren't checking the return value either, so yes that
needs to be tidied up.  I will make a V3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ