Re: [PATCH 0/4 v3] exec: inherit HWCAPs from the parent process
From: Cyrill Gorcunov
Date: Tue Feb 10 2026 - 14:28:37 EST
On Mon, Feb 09, 2026 at 07:06:01PM +0000, Andrei Vagin wrote:
> This patch series introduces a mechanism to inherit hardware capabilities
> (AT_HWCAP, AT_HWCAP2, etc.) from a parent process when they have been
> modified via prctl.
>
> To support C/R operations (snapshots, live migration) in heterogeneous
> clusters, we must ensure that processes utilize CPU features available
> on all potential target nodes. To solve this, we need to advertise a
> common feature set across the cluster.
>
> Initially, a cgroup-based approach was considered, but it was decided
> that inheriting HWCAPs from a parent process that has set its own
> auxiliary vector via prctl is a simpler and more flexible solution.
>
> This implementation adds a new mm flag MMF_USER_HWCAP, which is set when the
> auxiliary vector is modified via prctl(PR_SET_MM_AUXV). When execve() is
> called, if the current process has MMF_USER_HWCAP set, the HWCAP values are
> extracted from the current auxiliary vector and inherited by the new process.
>
> The first patch fixes AUXV size calculation for ELF_HWCAP3 and ELF_HWCAP4
> in binfmt_elf_fdpic and updates AT_VECTOR_SIZE_BASE.
>
> The second patch implements the core inheritance logic in execve().
>
> The third patch adds a selftest to verify that HWCAPs are correctly
> inherited across execve().
>
> v3: synchronize saved_auxv access with arg_lock
>
> v1: https://lkml.org/lkml/2025/12/5/65
> v2: https://lkml.org/lkml/2026/1/8/219
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Chen Ridong <chenridong@xxxxxxxxxx>
> Cc: Christian Brauner <brauner@xxxxxxxxxx>
> Cc: David Hildenbrand <david@xxxxxxxxxx>
> Cc: Eric Biederman <ebiederm@xxxxxxxxxxxx>
> Cc: Kees Cook <kees@xxxxxxxxxx>
> Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Cc: Michal Koutny <mkoutny@xxxxxxxx>
> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
Looks ok to me. Thanks, Andrei!
Reviewed-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx>