Otherwise, the program is unauthorized. Unauthorized programs can request storage only from private storage subpools 0-127, 131, and 132. Authorized programs can obtain storage from additional private storage subpools as well as from common storage subpools.
Obtaining and releasing storage from subpool 0 yields different results depending on whether a program is running in supervisor state and PSW key 0. If a program is running in supervisor state and PSW key 0, the system translates the subpool 0 storage request to a subpool 252 storage request. In all other cases, the system handles subpool 0 storage requests as such. To obtain or free subpool 0 storage while running in supervisor state and PSW key 0, a program must specify subpool 240 or 250 on the storage request. Subpool 240 and 250 requests, which are limited to authorized callers, are translated to subpool 0 requests. Table 1 summarizes these special cases.
Subpool Specified | Subpool Obtained or Freed |
---|---|
240, 250 | 0 |
0 | 252 |
Because of the way the system translates requests from supervisor state and PSW key 0 callers involving certain subpools, a problem such as the following could occur. A program running in supervisor state and PSW key 0 switches into another PSW key and obtains storage from subpool 0. The program then switches back to PSW key 0 and tries to free the storage. An error results because the system translates the request to free storage from subpool 0 to a request to free storage from subpool 252. To prevent this error, the program must specify subpool 240 or 250 when releasing the subpool 0 storage.