vm370
vm370 copied to clipboard
NUCEXT macro with SET, ORIGIN= and MF=(E,...) builds plist incorrectly, causing random storage overlays.
The NUCEXT macro, when coded with the the SET and MF=(E,...) options, can overlay random storage when the ORIGIN= option is coded with constant parameters (e.g., ORIGIN=(1234,...) or, more likely, ORIGIN=(...,0)). The ST instructions incorrectly include register 4 in computing the plist field address.
The fix is pretty simple.
NUCEXT AUXLCL
RAP013DS ISSUE#106 PE HRC404DS NUCEXT SET ORIGIN= MF=(E,...) bad plist.
NUCEXT RAP013DS
./ R 02740000 02740000 $
ST 15,28(,®) RAP013DS
./ R 02770000 02770000 $
ST (&ORIGIN(1)),28(,®) Set Origin address RAP013DS
./ R 02820000 02820000 $
ST 15,32(,®) RAP013DS
./ R 02850000 02850000 $
ST (&ORIGIN(2)),32(,®) Set Origin length RAP013DS
I've claimed update 405 for shipping this and several other NUCEXT and SUBCOM bugfixes.
Fix has been uploaded to https://groups.io/g/h390-vm/files/hrc405ds.vmarc.