Re: [PATCH RFC v2 1/2] arm64: vdso: Prepare for robust futex unlock support

Thomas Weißschuh
2026-04-26T19:04:28Z

One more thing, sorry for the spam.

On 2026-04-24 15:56:00-0300, André Almeida wrote:
(...)

> +#ifdef CONFIG_FUTEX_ROBUST_UNLOCK
> +static void vdso_futex_robust_unlock_update_ips(enum vdso_abi abi, struct mm_struct *mm)
> +{
> + unsigned long vdso = (unsigned long) mm->context.vdso;
> + struct futex_mm_data *fd = &mm->futex;
> + uintptr_t success, end;
> +
> + if (abi == VDSO_ABI_AA64) {
> + success = (uintptr_t) VDSO_SYMBOL(vdso, futex_list64_try_unlock_cs_success);
> + end = (uintptr_t) VDSO_SYMBOL(vdso, futex_list64_try_unlock_cs_end);
> +
> + futex_set_vdso_cs_range(fd, 0, vdso, success, end, false);
> + }
> +
> +#ifdef CONFIG_COMPAT_VDSO
> + if (abi == VDSO_ABI_AA32) {
> + success = (uintptr_t) VDSO_SYMBOL(vdso, futex_list32_try_unlock_cs_success);
> + end = (uintptr_t) VDSO_SYMBOL(vdso, futex_list32_try_unlock_cs_end);

The futex_list32_ symbols here are in the 64-bit vDSO. They are not
applicable for VDSO_ABI_AA32 processes.

> +
> + futex_set_vdso_cs_range(fd, 1, vdso, success, end, true);
> + }
> +#endif
> +}

(...)