z/OS Security Server RACF Diagnosis Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


How to check the parameter list passed to RACF

z/OS Security Server RACF Diagnosis Guide
GA32-0886-00

This procedure is useful only for a RACF® macro request that was active when the system dump was generated.

  1. Find the save area for the routine that issued the RACF macro. This can be found either in the trace-table entry for the SVC associated with the RACF macro, or in the RBs in a formatted dump. See Identifying the caller of RACF.
  2. In the save area, find the contents of register 1.
    • If register 1 is zero, then the RACROUTE macro was issued and module ICHRFR00 issued the RACF macro. In this case, register zero points to a two-word parameter list. The first word of this parameter list points to the RACF SVC parameter list, and the second word of this parameter list points to the SAF parameter list. This is shown:
    • If register 1 is not zero, then this is the address of the parameter list passed with the macro request.
  3. Find the address in the storage portion of the system dump. The values in the dump are the actual parameter list as seen by the system when processing the RACF request.
  4. Use the description of the parameter list from Parameter list descriptions to decode the actual parameter list.
    Note: For some parameter lists (such as RACROUTE REQUEST=AUTH, RACROUTE REQUEST=DEFINE, and RACROUTE REQUEST=VERIFY) the length of the parameter list varies from release to release. Check the first byte of these parameter lists for the actual length used.
  5. Use these checks to determine whether the active RACF macro request had an error. You can do the checks most efficiently if you have a listing of the program that issued the macro.
    1. Did the RACF macro request that invoked RACF services use valid keyword values, including addresses?
    2. Did the caller supply a register save area for the RACF macro?
    3. Do the caller's storage areas contain correct values?

      You could check the system dump for application program storage areas that appear to have incorrect values, such as missing printable identifiers for modules or control blocks. Key storage areas are pointed to by the register save area for the RACF macro. (Incorrect values are generally caused by logic problems due to incorrect addresses.)

      This check is especially important for these types of unexpected abends, which might involve a logic error in either the application program that issued the RACF macro or a system routine:
      • A X'0Cx' abend, such as X'0C4'
      • A cancel (a X'x22' abend)

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014