Re: How is pivot_root intended to be used?

Andy Lutomirski
2014-09-02T19:53:21Z

On 09/01/2014 02:19 PM, Steven Stewart-Gallus wrote:
> Hello,
>
> I am not confused about how I can currently use pivot_root for
> containers on my kernel (version 3.13). Currently a sequence like:
>
> if (-1 == syscall(__NR_pivot_root, ".", ".")) {
> perror("pivot_root");
> return EXIT_FAILURE;
> }
>
> if (-1 == umount2(".", MNT_DETACH)) {
> perror("umount");
> return EXIT_FAILURE;

Given the comment, you don't know what '.' refers to in the umount2 call
above. In fact, I think you're actually detaching the wrong thing,
leaving possible security issues.

See:

https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/supervisor-main.c%2B%2B#L922

for a program that does this more carefully.

--Andy