stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5.15] perf inject: Fix itrace space allowed for new attributes
@ 2021-12-14  6:16 Adrian Hunter
  2021-12-15 13:56 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Adrian Hunter @ 2021-12-14  6:16 UTC (permalink / raw)
  To: stable

commit c29d9792607e67ed8a3f6e9db0d96836d885a8c5 upstream.

The space allowed for new attributes can be too small if existing header
information is large. That can happen, for example, if there are very
many CPUs, due to having an event ID per CPU per event being stored in the
header information.

Fix by adding the existing header.data_offset. Also increase the extra
space allowed to 8KiB and align to a 4KiB boundary for neatness.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lore.kernel.org/lkml/20211125071457.2066863-1-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
[Adrian: Backport to v5.15]
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
 tools/perf/builtin-inject.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index 6ad191e731fc..d454f5a7af93 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -819,7 +819,7 @@ static int __cmd_inject(struct perf_inject *inject)
 		inject->tool.ordered_events = true;
 		inject->tool.ordering_requires_timestamps = true;
 		/* Allow space in the header for new attributes */
-		output_data_offset = 4096;
+		output_data_offset = roundup(8192 + session->header.data_offset, 4096);
 		if (inject->strip)
 			strip_init(inject);
 	}
-- 
2.25.1


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

* Re: [PATCH v5.15] perf inject: Fix itrace space allowed for new attributes
  2021-12-14  6:16 [PATCH v5.15] perf inject: Fix itrace space allowed for new attributes Adrian Hunter
@ 2021-12-15 13:56 ` Greg KH
  0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2021-12-15 13:56 UTC (permalink / raw)
  To: Adrian Hunter; +Cc: stable

On Tue, Dec 14, 2021 at 08:16:41AM +0200, Adrian Hunter wrote:
> commit c29d9792607e67ed8a3f6e9db0d96836d885a8c5 upstream.
> 
> The space allowed for new attributes can be too small if existing header
> information is large. That can happen, for example, if there are very
> many CPUs, due to having an event ID per CPU per event being stored in the
> header information.
> 
> Fix by adding the existing header.data_offset. Also increase the extra
> space allowed to 8KiB and align to a 4KiB boundary for neatness.
> 
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Link: http://lore.kernel.org/lkml/20211125071457.2066863-1-adrian.hunter@intel.com
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> [Adrian: Backport to v5.15]
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
>  tools/perf/builtin-inject.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
> index 6ad191e731fc..d454f5a7af93 100644
> --- a/tools/perf/builtin-inject.c
> +++ b/tools/perf/builtin-inject.c
> @@ -819,7 +819,7 @@ static int __cmd_inject(struct perf_inject *inject)
>  		inject->tool.ordered_events = true;
>  		inject->tool.ordering_requires_timestamps = true;
>  		/* Allow space in the header for new attributes */
> -		output_data_offset = 4096;
> +		output_data_offset = roundup(8192 + session->header.data_offset, 4096);
>  		if (inject->strip)
>  			strip_init(inject);
>  	}
> -- 
> 2.25.1
> 

Now queued up, thanks.

greg k-h

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

end of thread, other threads:[~2021-12-15 13:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-14  6:16 [PATCH v5.15] perf inject: Fix itrace space allowed for new attributes Adrian Hunter
2021-12-15 13:56 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).