Re: [PATCH v3] mm/page_alloc: only update lowmem_reserve_ratio on sysctl write
From: Andrew Morton
Date: Sat Aug 01 2026 - 14:45:02 EST
On Sat, 1 Aug 2026 23:11:25 +0800 Jianlin Shi <shijianlin11@xxxxxxxxxxx> wrote:
> lowmem_reserve_ratio_sysctl_handler() ignores the return value of
> proc_dointvec_minmax() and always calls setup_per_zone_lowmem_reserve(),
> even for read operations.
>
> Fix two issues:
>
> 1. Propagate errors from proc_dointvec_minmax() instead of always
> returning success. For example, writing non-integer garbage to the
> sysctl now returns an error instead of silently succeeding with
> unchanged values.
AI review suggest that this caused a new problem:
https://sashiko.dev/#/patchset/tencent_1BB7A5C4D5EEA67346634417753190E92A09@xxxxxx
Not sure what to do here. Perhaps pass proc_dointvec_minmax() a
temporary then copy that into sysctl_lowmem_reserve_ratio if all
proc_dointvec_minmax() returns "OK".
But really this is a flaw in proc_dointvec_minmax() isn't it? It
shouldn't update the table data until all the data has been validated.