Re: [PATCH 1/3] proc/vmcore: Do not map unaccepted memory

From: Adrian Hunter
Date: Thu Sep 07 2023 - 14:02:04 EST


On 7/09/23 18:39, Dave Hansen wrote:
> 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?

Someone asked for the change to be in arch-independent code... ;-)