vdso_file
vdso_file->found = (vdso != NULL);
vdso_file->error = !vdso_file->found;
static const char *vdso__get_compat_file(struct vdso_file *vdso_file)
if (vdso_file->found)
return vdso_file->temp_file_name;
if (vdso_file->error)
err = vdso__create_compat_file(vdso_file->read_prog,
vdso_file->temp_file_name);
pr_err("%s failed, error %d\n", vdso_file->read_prog, err);
vdso_file->error = true;
vdso_file->found = true;
return vdso_file->temp_file_name;
struct vdso_file *vdso_file)
dso = dsos__find(&machine->dsos, vdso_file->dso_name, true);
file_name = vdso__get_compat_file(vdso_file);
return __machine__addnew_vdso(machine, vdso_file->dso_name, file_name);
struct vdso_file vdso;
struct vdso_file vdso32;
struct vdso_file vdsox32;
static char *get_file(struct vdso_file *vdso_file)
if (vdso_file->found)
return vdso_file->temp_file_name;
if (vdso_file->error || find_map(&start, &end, VDSO__MAP_NAME))
fd = mkstemp(vdso_file->temp_file_name);
vdso = vdso_file->temp_file_name;