mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-24 22:19:05 +00:00
The KASLR offset is added to vmcoreinfo in arch_crash_save_vmcoreinfo(),
so that it can be found by crash when processing kernel dumps.
However, arch_crash_save_vmcoreinfo() is called during a subsys_initcall,
so if the kernel crashes before that, we have no vmcoreinfo and no KASLR
offset.
Fix this by storing the KASLR offset in the lowcore, where the vmcore_info
pointer will be stored, and where it can be found by crash. In order to
make it distinguishable from a real vmcore_info pointer, mark it as uneven
(KASLR offset itself is aligned to THREAD_SIZE).
When arch_crash_save_vmcoreinfo() stores the real vmcore_info pointer in
the lowcore, it overwrites the KASLR offset. At that point, the KASLR
offset is not yet added to vmcoreinfo, so we also need to move the
mem_assign_absolute() behind the vmcoreinfo_append_str().
Fixes:
|
||
|---|---|---|
| .. | ||
| compressed | ||
| .gitignore | ||
| als.c | ||
| boot.h | ||
| cmdline.c | ||
| ctype.c | ||
| ebcdic.c | ||
| head_kdump.S | ||
| head.S | ||
| install.sh | ||
| ipl_parm.c | ||
| ipl_report.c | ||
| ipl_vmparm.c | ||
| kaslr.c | ||
| machine_kexec_reloc.c | ||
| Makefile | ||
| mem_detect.c | ||
| mem.S | ||
| pgm_check_info.c | ||
| sclp_early_core.c | ||
| startup.c | ||
| string.c | ||
| text_dma.S | ||
| uv.c | ||
| version.c | ||