Unverified Commit fc02bd72 by Lukas Pirl Committed by Christian Brauner

suppress false-negative error in templates and nvidia hook

``/proc`` might be mounted with ``hidepid=2``. This makes ``/proc/1/…`` appear absent for non-root users. When using the templates or the nvidia hook as a non-root user (e.g., when creating unprivileged containers) the error "/proc/1/uid_map: No such file or directory" is printed. Since the script works correctly despite the error, this error message might be confusing for users. Signed-off-by: 's avatarLukas Pirl <git@lukas-pirl.de>
parent d1d67dab
...@@ -58,8 +58,12 @@ in_userns() { ...@@ -58,8 +58,12 @@ in_userns() {
echo $fields | grep -q " 0 1$" && { echo userns-root; return; } || true echo $fields | grep -q " 0 1$" && { echo userns-root; return; } || true
done < /proc/self/uid_map done < /proc/self/uid_map
[ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ] && \ if [ -e /proc/1/uid_map ]; then
{ echo userns-root; return; } if [ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ]; then
echo userns-root
return
fi
fi
echo yes echo yes
} }
......
...@@ -42,7 +42,12 @@ in_userns() { ...@@ -42,7 +42,12 @@ in_userns() {
fi fi
done < /proc/self/uid_map done < /proc/self/uid_map
[ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ] && { echo userns-root; return; } if [ -e /proc/1/uid_map ]; then
if [ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ]; then
echo userns-root
return
fi
fi
echo yes echo yes
} }
......
...@@ -179,7 +179,12 @@ in_userns() { ...@@ -179,7 +179,12 @@ in_userns() {
fi fi
done < /proc/self/uid_map done < /proc/self/uid_map
[ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ] && { echo userns-root; return; } if [ -e /proc/1/uid_map ]; then
if [ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ]; then
echo userns-root
return
fi
fi
echo yes echo yes
} }
......
...@@ -51,8 +51,13 @@ in_userns() { ...@@ -51,8 +51,13 @@ in_userns() {
fi fi
done < /proc/self/uid_map done < /proc/self/uid_map
[ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ] && { echo userns-root; return; } if [ -e /proc/1/uid_map ]; then
echo yes if [ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ]; then
echo userns-root
return
fi
fi
echo yes
} }
usage() { usage() {
......
...@@ -62,7 +62,12 @@ in_userns() { ...@@ -62,7 +62,12 @@ in_userns() {
fi fi
done < /proc/self/uid_map done < /proc/self/uid_map
[ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ] && { echo userns-root; return; } if [ -e /proc/1/uid_map ]; then
if [ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ]; then
echo userns-root
return
fi
fi
echo yes echo yes
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment