The ICM zeroes the authorization code, leaving the length in doublewords.

A simple XC 0(256,R8),0(R80 is all you need to clear it.

There's lots of dead or inefficient code, but what's the error? I'd like to see 
the STORAGE expansions.

-- 
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר




________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of 
Steve Beaver <[email protected]>
Sent: Thursday, June 19, 2025 3:40 PM
To: [email protected] <[email protected]>
Subject: Re: error in post logon exit IKJEFD3 878-18 from MSTJCL


External Message: Use Caution


Second - What are you doing with this instruction?

ICM   R1,B'1000',=X'00'

It makes no sense

Steve




-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Steve Beaver
Sent: Thursday, June 19, 2025 2:37 PM
To: [email protected]
Subject: Re: error in post logon exit IKJEFD3 878-18 from MSTJCL

                   LA   R1,256
INITLOOP DS   0H
                  MVI   0(R8),X'80'        INITIALIZE TO DO NOT INTERCEPT
                  LA    R8,1(,R8)          NEXT BYTE
                  BCT   R1,INITLOOP        LOOP BACK

First lets clean this above mess up to the following (this is much faster)

*
                  MVI  0(R8),X'80'        INITIALIZE TO DO NOT INTERCEPT
           MVC  1(255,R8),0(R8)

Steve


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Joseph Reichman
Sent: Wednesday, June 18, 2025 10:23 PM
To: [email protected]
Subject: Re: error in post logon exit IKJEFD3 878-18 from MSTJCL

Ok Jon tell me where I made an error

thanks


IKJEFLD3 CSECT
IKJEFLD3 AMODE 31
IKJEFLD3 RMODE ANY
         YREGS
XLNK     EQU   R14
AR0      EQU   0
AR1      EQU   1
AR2      EQU   2
AR3      EQU   3
AR4      EQU   4
AR5      EQU   5
AR6      EQU   6
AR7      EQU   7
AR8      EQU   8
AR9      EQU   9
AR10     EQU   10
AR11     EQU   11
AR12     EQU   12
AR13     EQU   13
AR14     EQU   14
AR15     EQU   15
         STM   R14,R12,12(R13)
         LR    R3,R15
         USING IKJEFLD3,R3
         LA    R0,WS_LEN
         LR    R11,R1
         USING PARMLIST,R11
         STORAGE OBTAIN,LENGTH=(0),ADDR=(R12),SP=0
         LR    R14,R13
         LR    R13,R12
         ST    R14,4(R13)
d ===>                                                  Scroll ===> CSR
          USING WS_DSECT,R13
          L     R6,0(R11)
          USING PARMENT,R6
          XR    R2,R2
 TSOIDLP  DS    0H
          CLC   PARMKEY,=F'0'
          BE    BUMP
          CLC   PARMKEY,=F'2'      FIRST ONE IS TSO ID
          BE    GETTSO
 BUMP     DS    0H
          L     R2,PARMLEN
          LA    R6,8(R2,R6)
          B     TSOIDLP
 GETTSO   DS    0H
          L     R2,PARMADR
          XR    R7,R7
          ICM   R7,B'0011',0(R2)  POINT TO TSO ID
          LA    R7,0(R7,R2)
          MVC   TSOID,0(R7)
 *
 *
          IPK   ,                  GET PSW PROTECT KEY
          ST    R2,STORKEY         SAVE PK IN R11

          SPKA  0
          LOAD  EP=TPUT
          ICM   R1,B'1000',=X'00'
          LR    R10,R0

 *
          SLL   R1,3                LENGTH OF MODULE
          LR    R9,R1

          USING PSA,0
          L     R2,PSATOLD
          USING TCB,R2
         L     R2,TCBJSTCB
*        L     R2,TCBBACK
*
         LA    R0,264
         STORAGE OBTAIN,LENGTH=(0),ADDR=(R5),BNDRY=DBLWD,SP=253,TCBADDRX
               =(R2)
         ST    R5,SP253
*
         STORAGE OBTAIN,LENGTH=(R9),ADDR=(R5),BNDRY=DBLWD,SP=253,LOC=24X
               ,TCBADDR=(R2)
         ST    R5,BELOW
         L     R4,SP253
         LA    R5,264
         XR    R14,R14
         LA    R14,=X'00'
         XR    R15,R15
         MVCL  R4,R14
*   *
 *      MOVE CODE
 *
          L     R4,BELOW
          LR    R5,R9
          LR    R14,R10
          LR    R15,R5
          MVCL  R4,R14
 *
          L     R5,SP253
 *
          DELETE EP=TPUTT
 *
          L     R4,BELOW
          ST    R4,0(R5)
 *
          MVI   4(R5),X'C0'

*
          LA   R8,8(R5)
 *
          LA   R1,256
 INITLOOP DS   0H
          MVI   0(R8),X'80'        INITIALIZE TO DO NOT INTERCEPT
          LA    R8,1(,R8)          NEXT BYTE
          BCT   R1,INITLOOP        LOOP BACK
 *
          LA   R8,8(R5)
          MVI  93(R8),X'00'
 *
 *
          ST    R5,TCBSVCA2        STORE SCREEN TABLE ADDRESS INTO TCB
          OI    TCBFLGS7,TCBSVCS+TCBSVCSP
 *
          L    R10,STORKEY
          SPKA 0(R10)
*
         LA   R0,WS_LEN
         LR   R12,R13
         L    R13,4(,R13)
         STORAGE RELEASE,LENGTH=(0),ADDR=(R12),SP=0
         LM   R14,R12,12(R13)
         XR   R15,R15
         BR   R14
PARMENT  DSECT
PARMKEY  DS    F                         * PARAMETER KEY
PARMLEN  DS    F                         * PARAMETER LENGTH
PARMADR  DS    A                         * PARAMETER ADDRESS
         COPY DBGRLIT
WS_DSECT DSECT
         DS    18F
TSOID    DS    XL5
SP253    DS    F
BELOW    DS    F
STORKEY  DS    F
DBGRBUF  DS    XL(DIE_LEN)
WS_LEN   EQU   *-WS_DSECT
         DBGRPY
         IKJPTP
         IKJTCB DSECT=YES,LIST=NO
         IHARB
         IHAPSA
         CVT LIST=YES,DSECT=YES
         END




-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Jon 
Perryman
Sent: Wednesday, June 18, 2025 9:33 PM
To: [email protected]
Subject: Re: error in post logon exit IKJEFD3 878-18 from MSTJCL

On Wed, 18 Jun 2025 18:27:59 -0400, Joseph Reichman <[email protected]> 
wrote:

>I copied the basic code from xephon
>
>In that code there was a storage obtain and release sp=0 local storage

When you say "release sp=0", then you are saying free the entire subpool and 
ADDR= & LENGTH= were not specified on the STORAGE RELEASE. Because it was 
XEPHON, that ADDR= was specified.

If you don't believe me about S0C4 suppression, then issue SLIP 
SET,ID=S0C4TEST,COMP=0C4,MATCHLIM=5,ACTION=NONE,END and it should only take a 
couple of minutes on an active system to trip 5 times but without a visible 
S0C4 abend.

I'm telling you the STORAGE RELEASE has a bad address. Without more 
information, we can't be helpful. My recommendation is to set a SLIP 
COMP=878,ACTION=SVCD and look at the dump.

Your code changed something incorrectly. IKJEFLD3 is an exit that is called by 
TSO and TSO did not like something your code changed. For us to help, providing 
source code is the only option left.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN




----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to