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