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]
Message-ID: <20160727144518.GE5200@kernel.org>
Date:	Wed, 27 Jul 2016 11:45:18 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Rui Teng <rui.teng@...ux.vnet.ibm.com>
Cc:	linux-kernel@...r.kernel.org, mingo@...hat.com,
	alexander.shishkin@...ux.intel.com, peterz@...radead.org
Subject: Re: [PATCH] perf: Fix errors reported by checkpatch.pl scripts

Em Wed, Jul 27, 2016 at 10:33:42PM +0800, Rui Teng escreveu:
> Clear all the errors and also some warnings reported by checkpatch.pl scripts
> for file tools/perf/util/header.c
> And replace __attribute__((weak)) to __weak definition from <linux/compiler.h>

When you have "And do this other thing"... please break it into multiple
patches, one for each issue.

And it seems there is a real bug fixed, namely...
 
> Signed-off-by: Rui Teng <rui.teng@...ux.vnet.ibm.com>
> ---
>  tools/perf/util/header.c | 44 ++++++++++++++++++++++++++------------------
>  1 file changed, 26 insertions(+), 18 deletions(-)
> 
> diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
> index 8f0db40..862525d 100644
> --- a/tools/perf/util/header.c
> +++ b/tools/perf/util/header.c
> @@ -256,7 +256,8 @@ static int __write_cpudesc(int fd, const char *cpuinfo_proc)
>  			while (*q && isspace(*q))
>  				q++;
>  			if (q != (p+1))
> -				while ((*r++ = *q++));
> +				while ((*r++ = *q++))
> +					;
>  		}
>  		p++;
>  	}
> @@ -278,6 +279,7 @@ static int write_cpudesc(int fd, struct perf_header *h __maybe_unused,
>  
>  	for (i = 0; i < ARRAY_SIZE(cpuinfo_procs); i++) {
>  		int ret;
> +
>  		ret = __write_cpudesc(fd, cpuinfo_procs[i]);
>  		if (ret >= 0)
>  			return ret;
> @@ -479,7 +481,7 @@ try_threads:
>  	}
>  	ret = 0;
>  done:
> -	if(fp)
> +	if (fp)
>  		fclose(fp);
>  	free(buf);
>  	return ret;
> @@ -828,7 +830,7 @@ static int write_group_desc(int fd, struct perf_header *h __maybe_unused,
>   * default get_cpuid(): nothing gets recorded
>   * actual implementation must be in arch/$(ARCH)/util/header.c
>   */
> -int __attribute__ ((weak)) get_cpuid(char *buffer __maybe_unused,
> +int __weak get_cpuid(char *buffer __maybe_unused,
>  				     size_t sz __maybe_unused)
>  {
>  	return -1;
> @@ -1036,24 +1038,28 @@ static int write_cache(int fd, struct perf_header *h __maybe_unused,
>  		struct cpu_cache_level *c = &caches[i];
>  
>  		#define _W(v)					\
> +		do {						\
>  			ret = do_write(fd, &c->v, sizeof(u32));	\
>  			if (ret < 0)				\
> -				goto out;

... this one, no? I.e. there is a missing \ that makes the '} while (0)
to be out of the macro definition?

> +				goto out;			\
> +		} while (0)
>  
> -		_W(level)
> -		_W(line_size)
> -		_W(sets)
> -		_W(ways)
> +		_W(level);
> +		_W(line_size);
> +		_W(sets);
> +		_W(ways);
>  		#undef _W
>  
>  		#define _W(v)						\
> +		do {							\
>  			ret = do_write_string(fd, (const char *) c->v);	\
>  			if (ret < 0)					\
> -				goto out;
> +				goto out;				\
> +		} while (0)
>  
> -		_W(type)
> -		_W(size)
> -		_W(map)
> +		_W(type);
> +		_W(size);
> +		_W(map);
>  		#undef _W
>  	}
>  
> @@ -1570,6 +1576,7 @@ static int process_tracing_data(struct perf_file_section *section __maybe_unused
>  				int fd, void *data)
>  {
>  	ssize_t ret = trace_report(fd, data, false);
> +
>  	return ret < 0 ? -1 : 0;
>  }
>  
> @@ -2251,6 +2258,7 @@ int perf_header__fprintf_info(struct perf_session *session, FILE *fp, bool full)
>  	struct header_print_data hd;
>  	struct perf_header *header = &session->header;
>  	int fd = perf_data_file__fd(session->file);
> +
>  	hd.fp = fp;
>  	hd.full = full;
>  
> @@ -2759,8 +2767,8 @@ static int read_attr(int fd, struct perf_header *ph,
>  	left = sz - PERF_ATTR_SIZE_VER0;
>  	if (left) {
>  		void *ptr = attr;
> -		ptr += PERF_ATTR_SIZE_VER0;
>  
> +		ptr += PERF_ATTR_SIZE_VER0;
>  		ret = readn(fd, ptr, left);
>  	}
>  	/* read perf_file_section, ids are read in caller */
> @@ -3002,7 +3010,7 @@ perf_event__synthesize_event_update_scale(struct perf_tool *tool,
>  
>  	ev_data = (struct event_update_event_scale *) ev->data;
>  	ev_data->scale = evsel->scale;
> -	err = process(tool, (union perf_event*) ev, NULL, NULL);
> +	err = process(tool, (union perf_event *) ev, NULL, NULL);
>  	free(ev);
>  	return err;
>  }
> @@ -3021,7 +3029,7 @@ perf_event__synthesize_event_update_name(struct perf_tool *tool,
>  		return -ENOMEM;
>  
>  	strncpy(ev->data, evsel->name, len);
> -	err = process(tool, (union perf_event*) ev, NULL, NULL);
> +	err = process(tool, (union perf_event *) ev, NULL, NULL);
>  	free(ev);
>  	return err;
>  }
> @@ -3052,7 +3060,7 @@ perf_event__synthesize_event_update_cpus(struct perf_tool *tool,
>  				 evsel->own_cpus,
>  				 type, max);
>  
> -	err = process(tool, (union perf_event*) ev, NULL, NULL);
> +	err = process(tool, (union perf_event *) ev, NULL, NULL);
>  	free(ev);
>  	return err;
>  }
> @@ -3146,9 +3154,8 @@ int perf_event__process_attr(struct perf_tool *tool __maybe_unused,
>  	if (perf_evsel__alloc_id(evsel, 1, n_ids))
>  		return -ENOMEM;
>  
> -	for (i = 0; i < n_ids; i++) {
> +	for (i = 0; i < n_ids; i++)
>  		perf_evlist__id_add(evlist, evsel, 0, i, event->attr.id[i]);
> -	}
>  
>  	symbol_conf.nr_events = evlist->nr_entries;
>  
> @@ -3269,6 +3276,7 @@ int perf_event__process_tracing_data(struct perf_tool *tool __maybe_unused,
>  	}
>  	if (session->repipe) {
>  		int retw = write(STDOUT_FILENO, buf, padding);
> +
>  		if (retw <= 0 || retw != padding) {
>  			pr_err("%s: repiping tracing data padding", __func__);
>  			return -1;
> -- 
> 2.7.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ