Lines Matching refs:name
280 static int decompress_kmodule(struct dso *dso, const char *name,
294 * behind the 'name' can still be plain uncompressed object.
305 if (!compressions[dso->comp].is_compressed(name))
306 return open(name, O_RDONLY);
314 if (compressions[dso->comp].decompress(name, fd)) {
329 int dso__decompress_kmodule_fd(struct dso *dso, const char *name)
331 return decompress_kmodule(dso, name, NULL, 0);
334 int dso__decompress_kmodule_path(struct dso *dso, const char *name,
337 int fd = decompress_kmodule(dso, name, pathname, len);
351 * @name - if (@alloc_name && @kmod) is true, it contains strdup-ed base name
353 * base name of @path
362 const char *name = strrchr(path, '/');
367 name = name ? name + 1 : path;
370 * '.' is also a valid character for module name. For example:
371 * [aaa.bbb] is a valid module name. '[' should have higher
375 * name should belong to kernel itself, not kernel module.
377 if (name[0] == '[') {
379 if ((strncmp(name, "[kernel.kallsyms]", 17) == 0) ||
380 (strncmp(name, "[guest.kernel.kallsyms", 22) == 0) ||
381 (strncmp(name, "[vdso]", 6) == 0) ||
382 (strncmp(name, "[vdso32]", 8) == 0) ||
383 (strncmp(name, "[vdsox32]", 9) == 0) ||
384 (strncmp(name, "[vsyscall]", 10) == 0)) {
391 /* No extension, just return name. */
394 m->name = strdup(name);
395 return m->name ? 0 : -ENOMEM;
404 /* Check .ko extension only if there's enough name left. */
405 if (ext > name)
410 if (asprintf(&m->name, "[%.*s]", (int) (ext - name), name) == -1)
413 if (asprintf(&m->name, "%s", name) == -1)
417 strreplace(m->name, '-', '_');
437 dso__set_short_name(dso, strdup(m->name), true);
463 static int do_open(char *name)
469 fd = open(name, O_RDONLY|O_CLOEXEC);
488 char *name = malloc(PATH_MAX);
491 if (!name)
498 root_dir, name, PATH_MAX))
501 if (!is_regular_file(name))
508 if (dso__decompress_kmodule_path(dso, name, newpath, len) < 0) {
514 strcpy(name, newpath);
517 fd = do_open(name);
520 unlink(name);
523 free(name);
1139 struct map *dso__new_map(const char *name)
1142 struct dso *dso = dso__new(name);
1152 struct dso *machine__findnew_kernel(struct machine *machine, const char *name,
1158 struct dso *dso = machine__findnew_dso(machine, name);
1172 static void dso__set_long_name_id(struct dso *dso, const char *name, struct dso_id *id, bool name_allocated)
1176 if (name == NULL)
1192 dso->long_name = name;
1193 dso->long_name_len = strlen(name);
1200 void dso__set_long_name(struct dso *dso, const char *name, bool name_allocated)
1202 dso__set_long_name_id(dso, name, NULL, name_allocated);
1205 void dso__set_short_name(struct dso *dso, const char *name, bool name_allocated)
1207 if (name == NULL)
1213 dso->short_name = name;
1214 dso->short_name_len = strlen(name);
1243 struct dso *dso__new_id(const char *name, struct dso_id *id)
1245 struct dso *dso = calloc(1, sizeof(*dso) + strlen(name) + 1);
1248 strcpy(dso->name, name);
1251 dso__set_long_name_id(dso, dso->name, id, false);
1252 dso__set_short_name(dso, dso->name, false);
1282 struct dso *dso__new(const char *name)
1284 return dso__new_id(name, NULL);
1372 const char *name = dso->short_name + 1;
1376 root_dir, (int)strlen(name) - 1, name);