[sysprof] symbol-resolver: check for kernel address context



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]