linux/tools
Kapileshwar Singh 9588db31ca tools lib traceevent: Fix string handling in heterogeneous arch environments
[ Upstream commit c2e4b24ff8 ]

When a trace recorded on a 32-bit device is processed with a 64-bit
binary, the higher 32-bits of the address need to ignored.

The lack of this results in the output of the 64-bit pointer
value to the trace as the 32-bit address lookup fails in find_printk().

Before:

  burn-1778  [003]   548.600305: bputs:   0xc0046db2s: 2cec5c058d98c

After:

  burn-1778  [003]   548.600305: bputs:   0xc0046db2s: RT throttling activated

The problem occurs in PRINT_FIELD when the field is recognized as a
pointer to a string (of the type const char *)

Heterogeneous architectures cases below can arise and should be handled:

* Traces recorded using 32-bit addresses processed on a 64-bit machine
* Traces recorded using 64-bit addresses processed on a 32-bit machine

Reported-by: Juri Lelli <juri.lelli@arm.com>
Signed-off-by: Kapileshwar Singh <kapileshwar.singh@arm.com>
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Javi Merino <javi.merino@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1442928123-13824-1-git-send-email-kapileshwar.singh@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2015-10-27 22:14:13 -04:00
..
cgroup cgroups: fix cgroup_event_listener error handling 2013-01-08 10:00:44 -08:00
firewire tools/firewire: nosy-dump: check for allocation failure 2012-12-02 20:10:18 +01:00
hv Tools: hv: fix file overwriting of hv_fcopy_daemon 2014-07-09 14:21:26 -07:00
include tools: add more endian.h macros 2014-09-26 11:03:01 +02:00
lguest tools/lguest: offer VIRTIO_F_ANY_LAYOUT for net device. 2013-07-15 11:18:32 +09:30
lib tools lib traceevent: Fix string handling in heterogeneous arch environments 2015-10-27 22:14:13 -04:00
net tools: bpf_jit_disasm: increase image buffer size 2014-05-16 16:44:08 -04:00
nfsd NFSD: Added fault injection script 2011-11-07 21:10:47 -05:00
perf perf header: Fixup reading of HEADER_NRCPUS feature 2015-10-27 22:12:57 -04:00
power tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile 2015-05-17 19:12:09 -04:00
scripts tools lib traceevent: Add global QUIET_CC_FPIC build output 2013-12-19 16:18:10 -03:00
testing ktest: Fix make_min_config to handle new assign_configs call 2015-01-16 06:59:46 -08:00
thermal/tmon tmon: set umask to a reasonable value 2014-07-01 22:00:51 +08:00
time tools: add script to test udelay 2014-07-23 10:16:38 -07:00
usb Linux 3.17-rc5 2014-09-16 09:53:59 -05:00
virtio tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
vm Revert "tools/vm: fix page-flags build" 2015-06-15 13:44:18 -04:00
Makefile tools/liblockdep: Build liblockdep from tools/Makefile 2014-05-08 13:34:45 -04:00