xiv
is accessible to the process in its current access mode. UNPREDICT-
ABLE results may be unchanged from their previous values.
Operations that produce UNPREDICTABLE results might also pro-
duce exceptions.
–
An occurrence specified as UNPREDICTABLE may or may not hap-
pen based on an arbitrary choice function. The choice function is
subject to the same constraints as are UNPREDICTABLE results and
must not constitute a security hole.
Specifically, UNPREDICTABLE results must not depend upon, or be
a function of, the contents of memory locations or registers that are
inaccessible to the current process in the current access mode.
Also, operations that might produce UNPREDICTABLE results must
not write or modify the contents of memory locations or registers to
which the current process in the current access mode does not have
access. They must also not halt or hang the system or any of its com-
ponents.
For example, a security hole would exist if some UNPREDICTABLE
result depended on the value of a register in another process, on the
contents of processor temporary registers left behind by some previ-
ously running process, or on a sequence of actions of different pro-
cesses.
•
UNDEFINED
–
Operations specified as UNDEFINED can vary from moment to
moment, implementation to implementation, and instruction to
instruction within implementations. The operation can vary in effect
from nothing, to stopping system operation.
–
UNDEFINED operations can halt the processor or cause it to lose
information. However, UNDEFINED operations must not cause the
processor to hang, that is, reach an unhalted state from which there is
no transition to a normal state in which the machine executes instruc-
tions. Only privileged software (that is, software running in kernel
mode) can trigger UNDEFINED operations.