On Thu, Nov 26, 2015, at 15:38, Daniel Borkmann wrote:
> +static int bpf_mnt_fs(const char *target)
> +{
> + bool bind_done = false;
> +
> + while (mount("", target, "none", MS_PRIVATE | MS_REC, NULL)) {
> + if (errno != EINVAL || bind_done) {
> + fprintf(stderr, "mount --make-private %s failed:
> %s\n",
> + target, strerror(errno));
> + return -1;
> + }
> +
> + if (mount(target, target, "none", MS_BIND, NULL)) {
> + fprintf(stderr, "mount --bind %s %s failed:
> %s\n",
> + target, target, strerror(errno));
> + return -1;
> + }
> +
> + bind_done = true;
> + }
Why does user space actually still have to deal with setting the mount
point private? Isn't this handled by the kernel?
> + if (mount("bpf", target, "bpf", 0, NULL)) {
> + fprintf(stderr, "mount -t bpf bpf %s failed: %s\n",
> + target, strerror(errno));
> + return -1;
> + }
Shouldn't this be just enough?
> + return 0;
> +}
Thanks,
Hannes
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html