[sysprof] symbol-resolver: check for kernel address context
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sysprof] symbol-resolver: check for kernel address context
- Date: Mon, 29 Jan 2018 06:17:56 +0000 (UTC)
commit aa0506e26f0e4d1741f62f0bf9270297895dbb83
Author: Christian Hergert <chergert redhat com>
Date: Sun Jan 28 22:13:49 2018 -0800
symbol-resolver: check for kernel address context
We only want to resolve a symbol if we're inside the kernel context.
Otherwise, it wont be accurate.
lib/symbols/sp-kernel-symbol-resolver.c | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
---
diff --git a/lib/symbols/sp-kernel-symbol-resolver.c b/lib/symbols/sp-kernel-symbol-resolver.c
index 3cef211..1429b83 100644
--- a/lib/symbols/sp-kernel-symbol-resolver.c
+++ b/lib/symbols/sp-kernel-symbol-resolver.c
@@ -27,16 +27,20 @@ struct _SpKernelSymbolResolver
static GQuark linux_quark;
static gchar *
-sp_kernel_symbol_resolver_resolve (SpSymbolResolver *resolver,
- guint64 time,
- GPid pid,
- SpCaptureAddress address,
- GQuark *tag)
+sp_kernel_symbol_resolver_resolve_with_context (SpSymbolResolver *resolver,
+ guint64 time,
+ GPid pid,
+ SpAddressContext context,
+ SpCaptureAddress address,
+ GQuark *tag)
{
const SpKernelSymbol *sym;
g_assert (SP_IS_SYMBOL_RESOLVER (resolver));
+ if (context != SP_ADDRESS_CONTEXT_KERNEL)
+ return NULL;
+
if (NULL != (sym = sp_kernel_symbol_from_address (address)))
{
*tag = linux_quark;
@@ -49,7 +53,7 @@ sp_kernel_symbol_resolver_resolve (SpSymbolResolver *resolver,
static void
symbol_resolver_iface_init (SpSymbolResolverInterface *iface)
{
- iface->resolve = sp_kernel_symbol_resolver_resolve;
+ iface->resolve_with_context = sp_kernel_symbol_resolver_resolve_with_context;
}
G_DEFINE_TYPE_WITH_CODE (SpKernelSymbolResolver,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]