Re: [PATCH V8 1/4] perf/core: Add PERF_SAMPLE_DATA_PAGE_SIZE

Liang, Kan
2020-09-30T14:42:45Z

On 9/30/2020 3:15 AM, Stephane Eranian wrote:
>> +static u64 perf_get_page_size(unsigned long addr)
>> +{
>> + unsigned long flags;
>> + u64 size;
>> +
>> + if (!addr)
>> + return 0;
>> +
>> + /*
>> + * Software page-table walkers must disable IRQs,
>> + * which prevents any tear down of the page tables.
>> + */
>> + local_irq_save(flags);
>> +
>> + size = __perf_get_page_size(current->active_mm, addr);
>> +
> When I tested on my kernel, it panicked because I suspect
> current->active_mm could be NULL. Adding a check for NULL avoided the
> problem. But I suspect this is not the correct solution.
>

I guess the NULL active_mm should be a rare case. If so, I think it's
not bad to add a check and return 0 page size.

Thanks,
Kan