z/OS DFSMSdfp Advanced Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Ensuring Data Security by Validating the Data Extent Block (DEBCHK macro)

z/OS DFSMSdfp Advanced Services
SC23-6861-01

Protecting one user's data from inadvertent or malicious access by an unauthorized user depends on protection of the data extent block (DEB). The DEB is a critical control block because it contains information about the device a data set is mounted on, and describes the location of data sets on direct access device storage volumes.

To ensure that only a valid system-provided DEB (normally built by open) is passed to data management functions, the DEBCHK verify function is used. OPEN places the address of DEBs it creates to a DEB table, which is used by the verify function. If you code a routine that builds a DEB, add the address of the DEB you built to the DEB table. If you code a routine that depends on the validity of a DEB that is passed to your routine, verify that the DEB passed to your routine has a valid entry in the DEB table and points to your DCB or access method control block (ACB). Use the TYPE=ADD and the TYPE=VERIFY operands of the macro, respectively.

To prevent an asynchronous routine from changing or deleting, or assigning a new DEB to a DCB, hold the local lock. In this case, use the branch entry to the DEBCHK verify routine and use the DEB address returned in register 1, not the DEB address in the DCB. The DCB will remain valid as long as your program holds the local lock or prevents untrustworthy programs from running.

Your program must be executing in 24-bit or 31-bit addressing mode when you call the DEBCHK macro.

The DEB fields used for EXCP and EXCPVR are illustrated in Control Blocks (all the DEB fields are illustrated in z/OS DFSMSdfp Diagnosisz/OS DFSMSdfp Diagnosisz/OS DFSMSdfp Diagnosis).

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014