]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
perf auxtrace: Fix queue resize
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 14 Aug 2018 08:46:08 +0000 (11:46 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Sep 2018 18:04:36 +0000 (20:04 +0200)
commit 99cbbe56eb8bede625f410ab62ba34673ffa7d21 upstream.

When the number of queues grows beyond 32, the array of queues is
resized but not all members were being copied. Fix by also copying
'tid', 'cpu' and 'set'.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@vger.kernel.org
Fixes: e502789302a6e ("perf auxtrace: Add helpers for queuing AUX area tracing data")
Link: http://lkml.kernel.org/r/20180814084608.6563-1-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/perf/util/auxtrace.c

index 7f10430af39c3ac9e47f4da1aca93e37a8f9cf87..58426e7d320d4af183dab37703fd18381f13832c 100644 (file)
@@ -186,6 +186,9 @@ static int auxtrace_queues__grow(struct auxtrace_queues *queues,
        for (i = 0; i < queues->nr_queues; i++) {
                list_splice_tail(&queues->queue_array[i].head,
                                 &queue_array[i].head);
+               queue_array[i].tid = queues->queue_array[i].tid;
+               queue_array[i].cpu = queues->queue_array[i].cpu;
+               queue_array[i].set = queues->queue_array[i].set;
                queue_array[i].priv = queues->queue_array[i].priv;
        }