Re: [PATCH v4 3/3] selftests/mm: restore enable_soft_offline in hugetlb-soft-offline
From: David Hildenbrand (Arm)
Date: Thu Sep 10 2026 - 05:42:12 EST
On 8/25/26 10:57, Song Hu wrote:
> hugetlb-soft-offline toggles /proc/sys/vm/enable_soft_offline between 1
> and 0 (test_soft_offline_common(1) then (0)) and leaves it at 0 when it
> finishes, silently disabling soft offlining for the whole system after
> the run.
>
> Save the original value before the test and restore it from an
> atexit() handler, as hugepage_restore_settings_atexit() in
> hugepage_settings.c already does. Use read_num()/write_num() from
> vm_util instead of hand-rolled popen()/fopen() helpers.
>
> The restore handler must not call write_num(): on failure it
> re-enters exit() through ksft_exit_fail_msg(), which is undefined
> behavior from inside an atexit handler. A non-root run hits it
> directly - the restore write fails the same way the write that
> triggered the exit did. Restore with plain open()/write(), best
> effort.
>
> Signed-off-by: Song Hu <husong@xxxxxxxxxx>
>
> ---
Acked-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
--
Cheers,
David