Contents of /proc/vmcore unplausible on arm64
Bastian Blank
waldi at debian.org
Tue Jan 24 02:02:31 PST 2023
Hi
On all arm64 kernel I tested recently, dumping a crashed kernel does not
work with makedumpfile. I digged in and found that the information
provided in /proc/vmcore from within the crashkernel is unplausible.
The provided note section, containing the vmcoreinfo, is correct:
| NOTE 0x0000000000001000 0x0000000000000000 0x0000000000000000
| 0x00000000000010dc 0x00000000000010dc 0x0
It starts at 0x1000 octets in the file and is 0x10dc octets long.
But already the first load type program header is broken:
| LOAD 0x0000000000003000 0xffffffffffffffff 0x00002bd6dc600000
| 0xffffd42b6b7e0000 0xffffd42b6b7e0000 RWE 0x0
The virtual address is -1. So somewhere might be an error condition.
And also the sizes are completely bogus. And due to wrong virtual
adresses, everything falls apart.
I don't know that part of the kernel, nor the arm64 specifics. Do you
have any idea how to debug that further?
Regards,
Bastian
Mostly complete readelf output:
| ELF Header:
| Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
| Class: ELF64
| Data: 2's complement, little endian
| Version: 1 (current)
| OS/ABI: UNIX - System V
| ABI Version: 0
| Type: CORE (Core file)
| Machine: AArch64
| Version: 0x1
| Entry point address: 0x0
| Start of program headers: 64 (bytes into file)
| Start of section headers: 0 (bytes into file)
| Flags: 0x0
| Size of this header: 64 (bytes)
| Size of program headers: 56 (bytes)
| Number of program headers: 9
| Size of section headers: 0 (bytes)
| Number of section headers: 0
| Section header string table index: 0
|
| There are no sections in this file.
|
| There are no section groups in this file.
|
| Program Headers:
| Type Offset VirtAddr PhysAddr
| FileSiz MemSiz Flags Align
| NOTE 0x0000000000001000 0x0000000000000000 0x0000000000000000
| 0x00000000000010dc 0x00000000000010dc 0x0
| LOAD 0x0000000000003000 0xffffffffffffffff 0x00002bd6dc600000
| 0xffffd42b6b7e0000 0xffffd42b6b7e0000 RWE 0x0
| LOAD 0xffffd42b6b7e3000 0x0000000000000000 0x0000000000000000
| 0x0000000000800000 0x0000000000800000 RWE 0x0
| LOAD 0xffffd42b6bfe3000 0x0000000000824000 0x0000000000824000
| 0x00000000151dc000 0x00000000151dc000 RWE 0x0
| LOAD 0xffffd42b811bf000 0x0000000035a00000 0x0000000035a00000
| 0x0000000009284000 0x0000000009284000 RWE 0x0
| LOAD 0xffffd42b8a443000 0x000000003ecad000 0x000000003ecad000
| 0x0000000001080000 0x0000000001080000 RWE 0x0
| LOAD 0xffffd42b8b4c3000 0x000000003fd81000 0x000000003fd81000
| 0x000000000000c000 0x000000000000c000 RWE 0x0
| LOAD 0xffffd42b8b4cf000 0x000000003fd91000 0x000000003fd91000
| 0x000000000026f000 0x000000000026f000 RWE 0x0
| LOAD 0xffffd42b8b73e000 0x0000000100000000 0x0000000100000000
| 0x00000001c0000000 0x00000001c0000000 RWE 0x0
|
| There is no dynamic section in this file.
|
| There are no relocations in this file.
|
| The decoding of unwind sections for machine type AArch64 is not currently supported.
|
| Dynamic symbol information is not available for displaying symbols.
|
| No version information found in this file.
|
| Displaying notes found at file offset 0x00001000 with length 0x000010dc:
| Owner Data size Description
| CORE 0x00000188 NT_PRSTATUS (prstatus structure)
| CORE 0x00000188 NT_PRSTATUS (prstatus structure)
| VMCOREINFO 0x00000d8a Unknown note type: (0x00000000)
--
In the strict scientific sense we all feed on death -- even vegetarians.
-- Spock, "Wolf in the Fold", stardate 3615.4
More information about the linux-arm-kernel
mailing list