* Contents of /proc/vmcore unplausible on arm64
@ 2023-01-24 10:02 Bastian Blank
0 siblings, 0 replies; only message in thread
From: Bastian Blank @ 2023-01-24 10:02 UTC (permalink / raw)
To: linux-arm-kernel
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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-01-24 10:03 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-24 10:02 Contents of /proc/vmcore unplausible on arm64 Bastian Blank
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.