Re: [PATCH] crash_core: optimize crash_exclude_mem_range()

From: Andrew Morton
Date: Fri Dec 29 2023 - 15:10:21 EST


On Wed, 20 Dec 2023 00:34:18 +0800 Yuntao Wang <ytcoode@xxxxxxxxx> wrote:

> Because memory ranges in mem->ranges are stored in ascending order, when we
> detect `p_end < start`, we can break the for loop early, as the subsequent
> memory ranges must also be outside the range we are looking for.
>
> Signed-off-by: Yuntao Wang <ytcoode@xxxxxxxxx>
> ---
> Hi Andrew,
>
> Patch "[PATCH 2/2] crash_core: fix out-of-bounds access check in
> crash_exclude_mem_range()" can be ignored, use this patch instead.
>

Some reviewer input on this would be helpful please?

> --- a/kernel/crash_core.c
> +++ b/kernel/crash_core.c
> @@ -575,9 +575,12 @@ int crash_exclude_mem_range(struct crash_mem *mem,
> p_start = mstart;
> p_end = mend;
>
> - if (p_start > end || p_end < start)
> + if (p_start > end)
> continue;
>
> + if (p_end < start)
> + break;
> +
> /* Truncate any area outside of range */
> if (p_start < start)
> p_start = start;
> --
> 2.43.0