On Mon, 2012-09-10 at 18:50 +0200, Jiri Olsa wrote:
> +       maps = fopen("/proc/self/maps", "r");
> +       if (!maps) {
> +               pr_err("vdso: cannot open maps\n");
> +               return -1;
> +       }
> +
> +       while (!found && fgets(line, sizeof(line), maps)) {
> +               int m = -1;
> +
> +               /* We care only about private r-x mappings. */
> +               if (2 != sscanf(line, "%p-%p r-xp %*x %*x:%*x %*u %n",
> +                               start, end, &m))
> +                       continue;
> +               if (m < 0)
> +                       continue;
> +
> +               if (!strncmp(&line[m], VDSO__MAP_NAME,
> +                            sizeof(VDSO__MAP_NAME) - 1))
> +                       found = 1;
> +       } 

Argh.. :-) We so should have the vdso as a proper elf DSO somewhere
in /proc or /sys, but yeah, lacking that what you've done is about all
we can do.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to