主权项 |
1. A method, in a data processing system having a processor and a memory, for executing a software routine in an application, the application executing as a multi-user single address space subsystem in an operating environment having a trusted mode of operation for trusted routines and a reduced-trust mode of operation for untrusted routines, the application including a control module for execution as a trusted routine and a trusted routine table including identifiers of trusted routines, the method comprising the following operations executed by the data processing system:
switching, by the control module, in response to a determination that the routine is restored from a call stack and the routine is a most recent entry in an active trusted routine list, to the trusted mode of operation for execution of the routine, and removing, by the control module, the routine from the active trusted routine list; switching, by the control module, in response to a determination that the routine is not restored from a call stack and that the routine is included in the trusted routine table, to the trusted mode of operation for execution of the routine; switching, by the control module, in response to a determination that the routine is untrusted, to the reduced-trust mode of operation for execution of the routine; and adding, by the control module, in response to a determination that the routine is not restored from a call stack and that a calling routine for the routine is executing in a trusted operating mode, the calling routine to the active trusted routine list, wherein in the trusted mode of operation the application records or modifies trusted data that is not modifiable in the reduced-trust mode of operation. |