From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Milian Wolff <milian.wolff@kdab.com>,
Jin Yao <yao.jin@linux.intel.com>,
Namhyung Kim <namhyung@kernel.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 4.18 03/27] perf report: Don't try to map ip to invalid map
Date: Mon, 22 Oct 2018 06:19:00 -0400 [thread overview]
Message-ID: <20181022101924.40531-3-sashal@kernel.org> (raw)
In-Reply-To: <20181022101924.40531-1-sashal@kernel.org>
From: Milian Wolff <milian.wolff@kdab.com>
[ Upstream commit ff4ce2885af8f9e8e99864d78dbeb4673f089c76 ]
Fixes a crash when the report encounters an address that could not be
associated with an mmaped region:
#0 0x00005555557bdc4a in callchain_srcline (ip=<error reading variable: Cannot access memory at address 0x38>, sym=0x0, map=0x0) at util/machine.c:2329
#1 unwind_entry (entry=entry@entry=0x7fffffff9180, arg=arg@entry=0x7ffff5642498) at util/machine.c:2329
#2 0x00005555558370af in entry (arg=0x7ffff5642498, cb=0x5555557bdb50 <unwind_entry>, thread=<optimized out>, ip=18446744073709551615) at util/unwind-libunwind-local.c:586
#3 get_entries (ui=ui@entry=0x7fffffff9620, cb=0x5555557bdb50 <unwind_entry>, arg=0x7ffff5642498, max_stack=<optimized out>) at util/unwind-libunwind-local.c:703
#4 0x0000555555837192 in _unwind__get_entries (cb=<optimized out>, arg=<optimized out>, thread=<optimized out>, data=<optimized out>, max_stack=<optimized out>) at util/unwind-libunwind-local.c:725
#5 0x00005555557c310f in thread__resolve_callchain_unwind (max_stack=127, sample=0x7fffffff9830, evsel=0x555555c7b3b0, cursor=0x7ffff5642498, thread=0x555555c7f6f0) at util/machine.c:2351
#6 thread__resolve_callchain (thread=0x555555c7f6f0, cursor=0x7ffff5642498, evsel=0x555555c7b3b0, sample=0x7fffffff9830, parent=0x7fffffff97b8, root_al=0x7fffffff9750, max_stack=127) at util/machine.c:2378
#7 0x00005555557ba4ee in sample__resolve_callchain (sample=<optimized out>, cursor=<optimized out>, parent=parent@entry=0x7fffffff97b8, evsel=<optimized out>, al=al@entry=0x7fffffff9750,
max_stack=<optimized out>) at util/callchain.c:1085
Signed-off-by: Milian Wolff <milian.wolff@kdab.com>
Tested-by: Sandipan Das <sandipan@linux.ibm.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Fixes: 2a9d5050dc84 ("perf script: Show correct offsets for DWARF-based unwinding")
Link: http://lkml.kernel.org/r/20180926135207.30263-1-milian.wolff@kdab.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
tools/perf/util/machine.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 22dbb6612b41..d49744dc46d7 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -2272,7 +2272,7 @@ static int unwind_entry(struct unwind_entry *entry, void *arg)
{
struct callchain_cursor *cursor = arg;
const char *srcline = NULL;
- u64 addr;
+ u64 addr = entry->ip;
if (symbol_conf.hide_unresolved && entry->sym == NULL)
return 0;
@@ -2284,7 +2284,8 @@ static int unwind_entry(struct unwind_entry *entry, void *arg)
* Convert entry->ip from a virtual address to an offset in
* its corresponding binary.
*/
- addr = map__map_ip(entry->map, entry->ip);
+ if (entry->map)
+ addr = map__map_ip(entry->map, entry->ip);
srcline = callchain_srcline(entry->map, entry->sym, addr);
return callchain_cursor_append(cursor, entry->ip,
--
2.17.1
next prev parent reply other threads:[~2018-10-22 10:19 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-22 10:18 [PATCH AUTOSEL 4.18 01/27] ARM: dts: imx53-qsb: disable 1.2GHz OPP Sasha Levin
2018-10-22 10:18 ` [PATCH AUTOSEL 4.18 02/27] s390/hibernate: fix error handling when suspend cpu != resume cpu Sasha Levin
2018-10-22 10:19 ` Sasha Levin [this message]
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 04/27] Input: i8042 - enable keyboard wakeups by default when s2idle is used Sasha Levin
2018-10-22 16:58 ` Dmitry Torokhov
2018-10-23 15:48 ` Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 05/27] Input: mousedev - add a schedule point in mousedev_write() Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 06/27] perf python: Use -Wno-redundant-decls to build with PYTHON=python3 Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 07/27] perf record: Use unmapped IP for inline callchain cursors Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 08/27] Input: evdev - add a schedule point in evdev_write() Sasha Levin
2018-10-22 17:02 ` Dmitry Torokhov
2018-10-23 15:49 ` Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 09/27] Input: uinput - add a schedule point in uinput_inject_events() Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 10/27] rxrpc: Don't check RXRPC_CALL_TX_LAST after calling rxrpc_rotate_tx_window() Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 11/27] rxrpc: Carry call state out of locked section in rxrpc_rotate_tx_window() Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 12/27] rxrpc: Only take the rwind and mtu values from latest ACK Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 13/27] rxrpc: Fix connection-level abort handling Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 14/27] KVM: x86: support CONFIG_KVM_AMD=y with CONFIG_CRYPTO_DEV_CCP_DD=m Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 15/27] net: ena: fix warning in rmmod caused by double iounmap Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 16/27] net: ena: fix rare bug when failed restart/resume is followed by driver removal Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 17/27] net: ena: fix NULL dereference due to untimely napi initialization Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 18/27] libertas: call into generic suspend code before turning off power Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 19/27] gpio: Assign gpio_irq_chip::parents to non-stack pointer Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 20/27] IB/mlx5: Unmap DMA addr from HCA before IOMMU Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 21/27] rds: RDS (tcp) hangs on sendto() to unresponding address Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 22/27] selftests: rtnetlink.sh explicitly requires bash Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 23/27] selftests: udpgso_bench.sh " Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 24/27] vmlinux.lds.h: Fix incomplete .text.exit discards Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 25/27] vmlinux.lds.h: Fix linker warnings about orphan .LPBX sections Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 26/27] afs: Fix cell proc list Sasha Levin
2018-10-22 10:19 ` [PATCH AUTOSEL 4.18 27/27] fs/fat/fatent.c: add cond_resched() to fat_count_free_clusters() Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181022101924.40531-3-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=acme@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=milian.wolff@kdab.com \
--cc=namhyung@kernel.org \
--cc=stable@vger.kernel.org \
--cc=yao.jin@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.