Authorization results under various conditions

When a program issues an SVC or accesses a load module through a LINK, LOAD, or XCTL macro, the system considers the following factors when checking authorization:

Table 1 describes the authorization rules:

Table 1. Authorization Rules
Rule Abend Resulting From Violation
An unauthorized routine cannot call a restricted SVC. 047
A routine running in supervisor state, system key, or APF-authorized cannot call programs residing outside APF-authorized data set or the link pack area. 306
The rules shown in Table 1 are also true when the ATTACH macro is used unless the RSAPF keyword is specified. An attaching task that specifies RSAPF=YES and is running in supervisor state or PSW key 0-7 can attach programs residing outside APF-authorized data set or the link pack area if the following conditions are met:

The newly attached subtask does not run APF-authorized. If the attaching task is not in supervisor state or PSW key 0-7, the default, RSAPF=NO, is taken and a 306 abend might result.

However, if the subtask comes from an APF-authorized data set or the link pack area and is link edited with the APF-authorized attribute, then the task executes with APF authorization.