All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf: Align cpu map events properly.
@ 2018-10-12  5:46 David Miller
  2018-10-16 15:29 ` Arnaldo Carvalho de Melo
  2018-10-18  6:19 ` [tip:perf/urgent] perf cpu_map: Align cpu map synthesized " tip-bot for David Miller
  0 siblings, 2 replies; 3+ messages in thread
From: David Miller @ 2018-10-12  5:46 UTC (permalink / raw)
  To: acme; +Cc: linux-kernel


The size of the resulting cpu map can be smaller than a multiple
of sizeof(u64), resulting in SIGBUS on cpus like Sparc as the
next event will not be aligned properly.

Fixes: 6c872901af07 ("perf cpu_map: Add cpu_map event synthesize function")
Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 0cd42150f712..0988eb3b844b 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -1081,6 +1081,7 @@ void *cpu_map_data__alloc(struct cpu_map *map, size_t *size, u16 *type, int *max
 	}
 
 	*size += sizeof(struct cpu_map_data);
+	*size = PERF_ALIGN(*size, sizeof(u64));
 	return zalloc(*size);
 }
 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] perf: Align cpu map events properly.
  2018-10-12  5:46 [PATCH] perf: Align cpu map events properly David Miller
@ 2018-10-16 15:29 ` Arnaldo Carvalho de Melo
  2018-10-18  6:19 ` [tip:perf/urgent] perf cpu_map: Align cpu map synthesized " tip-bot for David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-10-16 15:29 UTC (permalink / raw)
  To: David Miller; +Cc: linux-kernel

Em Thu, Oct 11, 2018 at 10:46:55PM -0700, David Miller escreveu:
> The size of the resulting cpu map can be smaller than a multiple
> of sizeof(u64), resulting in SIGBUS on cpus like Sparc as the
> next event will not be aligned properly.
> 
> Fixes: 6c872901af07 ("perf cpu_map: Add cpu_map event synthesize function")
> Signed-off-by: David S. Miller <davem@davemloft.net>

Thanks, applied to perf/urgent.

- Arnaldo
 
> diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
> index 0cd42150f712..0988eb3b844b 100644
> --- a/tools/perf/util/event.c
> +++ b/tools/perf/util/event.c
> @@ -1081,6 +1081,7 @@ void *cpu_map_data__alloc(struct cpu_map *map, size_t *size, u16 *type, int *max
>  	}
>  
>  	*size += sizeof(struct cpu_map_data);
> +	*size = PERF_ALIGN(*size, sizeof(u64));
>  	return zalloc(*size);
>  }
>  

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [tip:perf/urgent] perf cpu_map: Align cpu map synthesized events properly.
  2018-10-12  5:46 [PATCH] perf: Align cpu map events properly David Miller
  2018-10-16 15:29 ` Arnaldo Carvalho de Melo
@ 2018-10-18  6:19 ` tip-bot for David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for David Miller @ 2018-10-18  6:19 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: tglx, acme, hpa, davem, mingo, jolsa, kan.liang, linux-kernel

Commit-ID:  0ed149cf5239cc6e7e65bf00f769e8f1e91076c0
Gitweb:     https://git.kernel.org/tip/0ed149cf5239cc6e7e65bf00f769e8f1e91076c0
Author:     David Miller <davem@davemloft.net>
AuthorDate: Thu, 11 Oct 2018 22:46:55 -0700
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Tue, 16 Oct 2018 12:30:03 -0300

perf cpu_map: Align cpu map synthesized events properly.

The size of the resulting cpu map can be smaller than a multiple of
sizeof(u64), resulting in SIGBUS on cpus like Sparc as the next event
will not be aligned properly.

Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Fixes: 6c872901af07 ("perf cpu_map: Add cpu_map event synthesize function")
Link: http://lkml.kernel.org/r/20181011.224655.716771175766946817.davem@davemloft.net
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/event.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 0cd42150f712..0988eb3b844b 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -1081,6 +1081,7 @@ void *cpu_map_data__alloc(struct cpu_map *map, size_t *size, u16 *type, int *max
 	}
 
 	*size += sizeof(struct cpu_map_data);
+	*size = PERF_ALIGN(*size, sizeof(u64));
 	return zalloc(*size);
 }
 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-10-18  6:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-12  5:46 [PATCH] perf: Align cpu map events properly David Miller
2018-10-16 15:29 ` Arnaldo Carvalho de Melo
2018-10-18  6:19 ` [tip:perf/urgent] perf cpu_map: Align cpu map synthesized " tip-bot for David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.