zdump/dfi_vmdump: Fix Index Page processing for vmdump DFI

According to vmdump format, each bit of the Index page represents a Bit-Key
page and indicates if that Bit-Key page exists.
Due to the bug in vmdump64big_init() only 4096 bits of the Index Page were
processed instead of 32768. Thus for vmdumps of guests with defined storage
above 64G we could have invalid memory_start_record calculated. This ruins
the VMDUMP mem chunk read callback function.
One of the problem symptoms reported was missing UTS data in
'zgetdump -i' output caused by inability to locate OS_INFO in the dump.

Fixes: 067dd5c7ef ("zdump: Add vmdump dfi for vmdump format to elf format")
Signed-off-by: Mikhail Zaslonko <zaslonko@linux.ibm.com>
Signed-off-by: Mikhail Zaslonko <zaslonko@linux.ibm.com>
Reviewed-by: Thomas Richter <tmricht@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Mikhail Zaslonko
2024-09-27 14:33:45 +02:00
committed by Jan Höppner
parent e91ad1b70e
commit b7ac46b98b

View File

@@ -201,7 +201,7 @@ static void vmdump64big_init(void)
zg_read(g.fh, bm_index_page, sizeof(bm_index_page), ZG_CHECK);
l.memory_start_record += PAGE_SIZE;
for (i = 0; i < PAGE_SIZE; i++) {
for (i = 0; i < 8 * PAGE_SIZE; i++) {
if (test_page_bit(bm_index_page, i)) {
u8 bm_page[PAGE_SIZE];