I happened to be browsing PoOPS for another reason and noticed that TPROT is a 
privileged instruction.  Reading the instruction details I couldn't really see 
any particular security exposure that could result from TPROT being usable in a 
non-privileged mode by unauthorized programs.

Reading about TPROT led me of course to IVSK, which is needed to extract the 
access and fetch bits for the block of storage to be tested with TPROT.  Same 
question there, why is it privileged?  It would seem that it is privileged 
because it is subject to the extraction-authority control, bit 36 of control 
register 0, which can obviously only be set by a privileged program like the 
operating system code.

But why protect IVSK so closely (and probably by implication TPROT)?  It would 
seem to me to be an obvious boon to careful programmers willing to code tests 
of their input argument addresses to verify that those addresses can be fetched 
from, and possibly also for some argument addresses whether they can be stored 
into.

I really can't see the security exposure here.  Can anyone explain the 
privilege requirement to me?

TIA for helping to cure my ignorance.

Peter


This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

Reply via email to