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:	Thu, 12 May 2016 10:09:42 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	He Kuang <hekuang@...wei.com>
Cc:	peterz@...radead.org, mingo@...hat.com,
	alexander.shishkin@...ux.intel.com, jolsa@...hat.com,
	wangnan0@...wei.com, jpoimboe@...hat.com, ak@...ux.intel.com,
	eranian@...gle.com, namhyung@...nel.org, adrian.hunter@...el.com,
	sukadev@...ux.vnet.ibm.com, masami.hiramatsu.pt@...achi.com,
	tumanova@...ux.vnet.ibm.com, kan.liang@...el.com,
	penberg@...nel.org, dsahern@...il.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/7] perf tools: Store vdso buildid unconditionally

Em Thu, May 12, 2016 at 08:43:11AM +0000, He Kuang escreveu:
> When unwinding callchains on a different machine, vdso info should be
> provided so the unwind process won't be interrupted if address falls
> into vdso region. But in most cases, the addresses of sample events
> are not in vdso range, the buildid of a zero hit vdso won't be stored
> into perf.data.
> 
> This patch stores vdso buildid regardless of whether the vdso is hit
> or not.

Looks ok, applied.
 
> Signed-off-by: He Kuang <hekuang@...wei.com>
> ---
>  tools/perf/util/build-id.c | 2 +-
>  tools/perf/util/dso.c      | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
> index 0573c2e..bdc7580 100644
> --- a/tools/perf/util/build-id.c
> +++ b/tools/perf/util/build-id.c
> @@ -256,7 +256,7 @@ static int machine__write_buildid_table(struct machine *machine, int fd)
>  		size_t name_len;
>  		bool in_kernel = false;
>  
> -		if (!pos->hit)
> +		if (!pos->hit && !dso__is_vdso(pos))
>  			continue;
>  
>  		if (dso__is_vdso(pos)) {
> diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
> index 8e639543..b39b80c 100644
> --- a/tools/perf/util/dso.c
> +++ b/tools/perf/util/dso.c
> @@ -7,6 +7,7 @@
>  #include "auxtrace.h"
>  #include "util.h"
>  #include "debug.h"
> +#include "vdso.h"
>  
>  char dso__symtab_origin(const struct dso *dso)
>  {
> @@ -1169,7 +1170,7 @@ bool __dsos__read_build_ids(struct list_head *head, bool with_hits)
>  	struct dso *pos;
>  
>  	list_for_each_entry(pos, head, node) {
> -		if (with_hits && !pos->hit)
> +		if (with_hits && !pos->hit && !dso__is_vdso(pos))
>  			continue;
>  		if (pos->has_build_id) {
>  			have_build_id = true;
> -- 
> 1.8.5.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ