Commit Graph
2 Commits
Author SHA1 Message Date
Emir Beganovic 0801356155 Test the startup check from a subshell, with a decoy -p, and rejecting in a PID namespace
The rejection inside the new PID namespace ran without privileged mode, so
it never reached the caller lookup, and nothing would have caught a check
that accepted -p anywhere in the arguments.
2026-10-10 02:52:51 +02:00
Emir Beganovic dd05114e95 Find the caller of the Bash startup check the way /proc numbers it
The check read /proc/$$/cmdline. arch-chroot runs its command in a new PID
namespace beneath the outer /proc, where $$ names no process or someone
else's, so every bash -p entrypoint was rejected there with status 126.

The installer met this as soon as one was called at install time:
install/config/thunderbolt-authorization.sh runs
omarchy-thunderbolt-authorization-admin, and the edge ISO stopped in
"Configuring system" with "/proc/219/cmdline: No such file or directory".

The check runs in a child of the caller, so read the parent from that
child's /proc/self/stat, which is given in the numbering of the /proc it is
read through. Outside a PID namespace that is $$, as before.
2026-10-10 02:48:26 +02:00