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

Reply via email to