(IBM Mainframe Discussion List) wrote:
All it needs is an IOSB -- which contains pointers to the
channel program and UCB. Using STARTIO, you can construct a channel program to read or write any records anywhere on any device. This puts you one subtle programming error away from "wiping out" something important that isn't yours. Which is why you test your STARTIO code, and anything else you build that is authorized, on "test" systems that everyone else knows may not survive your test. You can also wipe out something that is not yours with an incorrect real address on a read command using the much "safer" EXCPVR. When you are building authorized code, you must write each instruction with the awareness that you can unexpectedly hose almost any conceivable part of MVS if you err.

The "wiping out" I was talking about was when writing to the disk. STARTIO does no prefixing. EXCPVR does. So, unless you do something to overlay the DEB extent information, or set the flag in the DEB to tell the system you will provide your own prefix, you are saved by MVS from accidentally writing on something important when you use EXCPVR.

I agree that if you supply bad buffer addresses for read CCWs, you will "clobber" storage. That goes without saying. Obviously, mistakes with real storage addresses have worse (more random) ill effects and are harder to track down than mistakes with virtual addresses. Good thing we have GTF.

--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to