diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2017-07-30 21:40:15 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2017-07-30 21:40:15 +0000 |
commit | d914126a37c567ba9e58a531100f88688e202d68 (patch) | |
tree | 97cb10238bd1bdb325b53f4a4a4566c08c71e9fe /sbin/reboot | |
parent | d4bd8662437bf8562416b788731906c1b700a1dd (diff) |
clang (and newer gcc at high -O) are unaware that objects placed in strange
sections, such as __attribute__((section(".openbsd.randomdata"))), may be
non-zero. In combination with "const" or "static" the compiler becomes even
more sure nothing can influence the object and assumes the value will be 0.
A few optimizations later, a security requirement has been removed.
Until a better annotation arrives in compilers, be warned: Do not mix
const or static with these random objects, you won't get what you want.
Spotted in a regression test by bluhm, long discussion with kettenis.
Diffstat (limited to 'sbin/reboot')
0 files changed, 0 insertions, 0 deletions