Opened 16 months ago

Last modified 16 months ago

#354 new defect

Volume Retrieved segment had unexpected garbage at bottom of only page — at Version 2

Reported by: Gary Dixon Owned by: Eric Swenson
Priority: major Milestone:
Component: Hardcore Version: MR12.8
Keywords: Cc:

Description (last modified by Gary Dixon)

On GHM system, I recently retrieved a segment which had accidentally been deleted.

>udd>Multics>GDixon>w>lr>ssu_request_tables_list.incl.pl1

NOTE:  I have since moved this segment to another directory to preserve its attributes and contents:
  >udd>Multics>GDixon>w>VOL_RETRIEVER_BAD_SEG

When Volume_Retriever reloaded this 1-page segment, it set the bit count to a whole-word boundary because the volume backup system is dumping based upon VTOCe contents. It does not have access to the directory entry for the dumped segment (which contains the bit_count attribute).

When I ran the adjust_bit_count command, it adjusted the bit count to near end of the page. A page has 36864 bits, but the adjusted bit_count was set to 36774 as shown below.

abc ssu_req*.ip -ch
r 14:16 0.061 1

st -ln ssu_req*.ip

          >udd>Multics>GDixon>w>lr>ssu_request_tables_list.incl.pl1

bit count:          36774
records used:       1
max length:         261120

r 14:20 0.034 11

calc 4096*9
=   36864

r 14:31 0.035 2

If this strange garbage was introduced when the segment was retrieved, the memory page into which the retrieval record was read should have contained all zero bits.

But I believe the entire volume backup of the 1-page segment dumped its entire record onto simulated tape. And this entire record was then reloaded. This means the 1-page segment could have had the unexpected garbage in its on-simulated-disk record, but the garbage what shielded from view by the more restrictive bit count on the segment.

At some point in its life-cycle on Multics, this 1-page segment gained what appears to be data from some other segment. This would be a significant security violation.

Note that this particular segment had only been in existence at the above location for about 1 month. I was modifying an installed include segment. I believe I read the installed copy of that segment into my emacs editor window, then saved its contents into a new segment (of the same name) in my local directory using the emacs write-file (X-W) request. This segment is installed at:

lpn ssu_request_tables_list.incl.pl1
>ldd>include>ssu_request_tables_list.incl.pl1

r 15:02 0.267 21

Garbage (preceded by the last expected comment line in the file) is shown below.

ds ssu_request_tables_list.incl.pl1 1300 500 -ch
001300 124137124101 102114105123 137114111123 124137126105 T_TABLES_LIST_VE
001304 122123111117 116137061040 146151170145 144040142151 RSION_1 fixed bi
001310 156141162171 040163164141 164151143040 157160164151 nary static opti
001314 157156163040 050143157156 163164141156 164051040151 ons (constant) i
001320 156151164151 141154040050 061051073012 144143154040 nitial (1);.dcl
001324 040122105121 125105123124 137124101102 114105123137  REQUEST_TABLES_
001330 114111123124 137126105122 123111117116 137062040146 LIST_VERSION_2 f
001334 151170145144 040142151156 141162171040 163164141164 ixed binary stat
001340 151143040157 160164151157 156163040050 143157156163 ic options (cons
001344 164141156164 051040151156 151164151141 154040050062 tant) initial (2
001350 051073012012 057052040040 105116104040 117106072011 );../*  END OF:.
001354 163163165137 162145161165 145163164137 164141142154 ssu_request_tabl
001360 145163137154 151163164056 151156143154 056160154061 es_list.incl.pl1
001364 011040040052 040040052040 040052040040 052040040052 .  *  *  *  *  *
001370 040040052040 040052040040 052040040052 040040052040   *  *  *  *  *
001374 040052040040 052040040052 040040052040 040052040040  *  *  *  *  *
001400 052040040052 040040052040 040052040052 057012000000 *  *  *  * */...
001404 172000000000 000000000000 000000000000 000000000000 z...............
001410 544616743610 000000000000 001324001422 000002000010 ................
001414 001034001016 052500000000 000000000000 000000000000 ....*...........
001420 545417574645 000000000000 001412000000 000002000010 ................
001424 002012001016 052500000000 000000000000 000000000000 ....*...........
001430 545417574645 000000000000 001744001606 000007000046 ...............&
001434 545417574104 662664776050 400000000001 001442001442 ...D...(........
001440 001034001016 141000000000 000000000000 000006000016 ....a...........
001444 001432000010 000000000000 151160056163 145162166145 ........ip.serve
001450 162056066056 141143163040 040040040040 040040040040 r.6.acs
001454 040040040040 040040040040 000000000000 545417574104         .......D
001460 662665014561 000000000000 475402655553 031570000000 ................
001464 000000000000 000000000000 000000000000 444000000002 ................
001470 001576001566 001034001016 141000000000 000000000000 ........a.......
001474 000000000000 000000000000 544616743610 000000000000 ................
001500 000000001704 000002000010 000000000240 052500000000 ............*...
001504 000000000000 000000000000 545417574676 000000000000 ................
001510 000000001714 000002000010 000000000000 052500000000 ............*...
001514 000000000000 000000000000 573025701763 000000000000 ................
001520 001344005440 000007000046 573025702010 675412741104 .......&.......D
001524 400000000001 001530001530 001034001016 172000000000 ............z...
001530 000000000000 000006000016 001520000013 003656000000 ................
001534 151160137160 162157164157 143157154056 066040040040 ip_protocol.6
001540 040040040040 040040040040 040040040040 040040040040
001544 000000000000 573025702010 675550320777 000000000000 ................
001550 475402655553 000276000000 000000000000 000000000000 ................
001554 000000000000 333000000002 003540004002 001034001016 ................
001560 172000000000 000000000000 000000000000 000000000000 z...............
001564 544616743610 000000000000 000000001576 000002000010 ................
001570 000000000240 052500000000 000000000000 000000000000 ....*...........
001574 545417574104 000000000000 001566000000 000002000010 ...D............
001600 001034001016 052700000000 000000000000 000000000000 ....*...........
001604 545417574104 000000000000 001432001140 000007000046 ...D.......`...&
001610 545417574130 663000536756 400000000001 001616001616 ...X............
001614 001034001016 141000000000 000000000000 000006000016 ....a...........
001620 001606000006 000430000000 151160056163 145162166145 ........ip.serve
001624 162056061056 141143163040 040040040040 040040040040 r.1.acs
001630 040040040040 040040040040 000000000000 545417574130         .......X
001634 663000711763 000000000000 167552130015 013405000000 ........w.X.....
001640 000000000000 000000000000 000000000000 444000000003 ................
001644 001664005176 001034001016 141000000000 000000000000 ...~....a.......
001650 000000000000 000000000000 544616743610 000000000000 ................
001654 000000005020 000002000010 000000000240 052500000000 ............*...
001660 000000000000 000000000000 545574423440 000000000000 ................
001664 001734000000 000002000010 000266000304 052500000000 ............*...
001670 000000000000 000000000000 545417574130 000000000000 ...........X....
001674 001334000000 000002000010 001034001016 052500000000 ............*...
001700 000000000000 000000000000 545743454152 000000000000 ...........j....
001704 001500000000 000002000010 001034001016 052500000000 ............*...
001710 000000000000 000000000000 545417574676 000000000000 ................
001714 001510000000 000002000010 000000000240 052500000000 ............*...
001720 000000000000 000000000000 573025701763 000000000000 ................
001724 003772001334 000002000010 000000000304 052500000000 ............*...
001730 000000000000 000000000000 545743454152 000000000000 ...........j....
001734 005176001664 000002000010 001034001016 052700000000 .~..........*...
001740 000000000000 000000000000 545417574130 000000000000 ...........X....
001744 001256001432 000007000046 545417574645 662664776050 .......&.......(
001750 400000000001 001754001754 001034001016 141000000000 ............a...
001754 000000000000 000006000016 001744000021 000000000000 ................
001760 164143160056 167145154154 137153156157 167156137160 tcp.well_known_p
001764 157162164163 056141143163 040040040040 040040040040 orts.acs
001770 000000000000 545417574645 662665014565 000000000000 ................
001774 475321320733 027305000000 000000000000 000000000000 ................
r 15:06 0.479 0

Change History (2)

comment:1 by Gary Dixon, 16 months ago

Description: modified (diff)

comment:2 by Gary Dixon, 16 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.