lkml.org 
[lkml]   [2015]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] perf tools: get version from uname(2), not /proc
Date
Tools in kmod (e.g. modprobe) compose the module path from the release
from uname(2). Because we use the UNAME26 personality, we need perf to
find modules located at the same path as the system tools.

Signed-off-by: Matt Mullins <mmullins@twopensource.com>
Cc: Vinson Lee <vlee@twopensource.com>
---
tools/perf/util/machine.c | 28 ++++++----------------------
1 file changed, 6 insertions(+), 22 deletions(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 5ef90be2a249..51199bc271e9 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -11,6 +11,7 @@
#include "vdso.h"
#include <stdbool.h>
#include <symbol/kallsyms.h>
+#include <sys/utsname.h>
#include "unwind.h"
#include "linux/hash.h"

@@ -903,31 +904,14 @@ static void map_groups__fixup_end(struct map_groups *mg)
__map_groups__fixup_end(mg, i);
}

-static char *get_kernel_version(const char *root_dir)
+static char *get_kernel_version(void)
{
- char version[PATH_MAX];
- FILE *file;
- char *name, *tmp;
- const char *prefix = "Linux version ";
+ struct utsname utsname;

- sprintf(version, "%s/proc/version", root_dir);
- file = fopen(version, "r");
- if (!file)
+ if (uname(&utsname))
return NULL;

- version[0] = '\0';
- tmp = fgets(version, sizeof(version), file);
- fclose(file);
-
- name = strstr(version, prefix);
- if (!name)
- return NULL;
- name += strlen(prefix);
- tmp = strchr(name, ' ');
- if (tmp)
- *tmp = '\0';
-
- return strdup(name);
+ return strdup(utsname.release);
}

static bool is_kmod_dso(struct dso *dso)
@@ -1027,7 +1011,7 @@ static int machine__set_modules_path(struct machine *machine)
char *version;
char modules_path[PATH_MAX];

- version = get_kernel_version(machine->root_dir);
+ version = get_kernel_version();
if (!version)
return -1;

--
2.1.0


\
 
 \ /
  Last update: 2015-10-07 01:21    [W:0.152 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site