On 9/6/23 00:39, Adrian Hunter wrote:
> @@ -559,7 +567,8 @@ static int vmcore_remap_oldmem_pfn(struct vm_area_struct 
> *vma,
>        * pages without a reason.
>        */
>       idx = srcu_read_lock(&vmcore_cb_srcu);
> -     if (!list_empty(&vmcore_cb_list))
> +     if (!list_empty(&vmcore_cb_list) ||
> +         range_contains_unaccepted_memory(paddr, paddr + size))
>               ret = remap_oldmem_pfn_checked(vma, from, pfn, size, prot);
>       else
>               ret = remap_oldmem_pfn_range(vma, from, pfn, size, prot);

The whole callback mechanism which fs/proc/vmcore.c::pfn_is_ram()
implements seems to be in place to ensure that there aren't a billion
different "ram" checks in here.

Is there a reason you can't register_vmcore_cb() a callback to check for
unaccepted memory?

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to