You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Introduce two new type constants:
KASLD_SECTION_BSS "bss" — kernel .bss virtual addresses
KASLD_REGION_KERNEL_BSS "kernel_bss" — physical addresses of .bss-resident symbols
KASLD_SECTION_DATA and KASLD_REGION_KERNEL_DATA now exclusively cover
.data/.rodata; .bss is no longer included in their definition.
Components:
- dmesg_backtrace: re-tag CR3 results KERNEL_IMAGE → KERNEL_BSS.
swapper_pg_dir lives in .bss; correct tagging lets inference plugins
apply the BSS-resident gap refinement without a hardcoded name list.
- dmesg_mem_init_kernel_layout: add ".bss : 0x" entry. ARM and x86_32
kernels print a .bss line in the same mem_init() layout block that the
plugin already parses; it was previously silently skipped.
Inference:
- image_size_from_text_data_gap: include KASLD_SECTION_BSS in the
max_data high-water mark. BSS addresses are inside the kernel image,
so they give a valid (tighter) lower bound on image size.
- min_offset_from_image_size (MIPS/LoongArch): same — gap used as image
size lower bound, so BSS inclusion is sound.
- riscv64_fdt_kaslr_seed: same — gap used as image size lower bound for
nr_pos_max computation.
All three gap-using plugins that include BSS are distinct from
kernel_image_phys_bound.c's compute_virt_gap(), which must remain
DATA-only because it bounds data_end_offset rather than image size.
Render: add KASLD_SECTION_BSS and KASLD_REGION_KERNEL_BSS to all
display-name functions and section_order[] arrays.
0 commit comments