diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2019-08-03 15:22:22 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2019-08-03 15:22:22 +0000 |
commit | 2c7c7e7056c013722aab8f2972f87904c9605b1a (patch) | |
tree | 3ebbbfd1882c0beee6b78ba5c17c06952511110c /bin | |
parent | 609f17c4c92366068b20c4cedc30b030b38fce98 (diff) |
In the bootblocks, after discovering and opening /bsd.upgrade, fchmod -x
so the file cannot be re-executed upon the next boot. This provides a
stronger one-shot-upgrade model than the upgrade script's rm /bsd.upgrade.
Now various forms of upgrade failure will reboot into /bsd, which is probably
more recoverable. Performing fchmod -x depends on (1) use of MI boot.c
(not alpha/macppc/sparc64/sgi/octeon) and (2) "can write blocks" functionality
in the IO layer. Most architectures have this support now.
Two diagnostics "fchmod a-x %s: failed" and "/bsd.upgrade is not u+x" will
remain in the tree while refinements happen for some of the laggard
architectures.
based upon a discussion florian
tested in snapshots for more than a week without any complaints
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions