On Thu, 15 Aug 2019 22:40:08 -0400 Tony Harminc <t...@harminc.net> wrote:
:>I'm a bit puzzled. This service takes a pointer to an STOKEN, and returns :>an ASCB address. Or a return code indicating that the STOKEN is invalid or :>obsolete. So if I am passed an STOKEN pointer by my caller, this seems like :>the right service to tell me if this is pointing to a valid and current :>STOKEN, which it does. But if I pass in a bogus *pointer*, e.g. to some :>random address that is fetch protected from me (I'm running user key, :>problem state) then the PC routine code abends, because it's done the right :>thing and assumed my key before trying to reference the supposed STOKEN. :>So... Although the description says "Abend codes: none", in fact it can :>S0C4. (Yeah, I know this means that LOCASCB itself generates no abend :>codes.) So it seems I have to check the validity of the pointer before I :>pass it in. I agree such a requirement makes sense in most cases, but here :>I am in a constrained environment with no work area, so I have no obvious :>way of passing in the STOKEN itself for checking without having a pointer :>to it. Is there a design reason the service takes a pointer rather than the :>STOKEN itself? One wonders how the ability to pass the STOKEN in a 64bit register would help, as the API to your routine passes it in storage - and your code would S0C4 fetching it. If you were supervisor state and did not want to return an abend in such a case, an FRR would work wonders. As you have a problem state requirement, you could use VSMLOC against the address to avoid an 0C4. -- Binyamin Dissen <bdis...@dissensoftware.com> http://www.dissensoftware.com Director, Dissen Software, Bar & Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN