unshare: fix -r
authorSamuel Holland <samuel@sholland.net>
Sun, 12 Apr 2015 21:00:16 +0000 (16:00 -0500)
committerRob Landley <rob@landley.net>
Sun, 12 Apr 2015 21:00:16 +0000 (16:00 -0500)
commit3c0be8a473c01a23f5413c88a3aa6e60b4772e5a
treefd3732fc7edf71373bae4914ead3fc6219302182
parent776aa3cb927f889a0481c2530128940c75984feb
unshare: fix -r

Calling unshare(2) immediately puts us in the new namespace
with the "overflow" user and group ID. By calling geteuid()
and getegid() in handle_r() after calling unshare(), we try
to map that to root, which Linux refuses to let us do.

What we really want to map to root is the caller's uid/gid
in the original namespace. So we have to save them before
calling unshare().
toys/other/nsenter.c