[PATCH v3 5/5] arm64: vdso32: Implement __vdso_futex_robust_try_unlock()
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri May 29 12:15:40 PDT 2026
> +__u32 __vdso_futex_robust_list32_try_unlock(__u32 *lock, __u32 tid, __u32 *pop)
> +{
> + register __u32 *pop_reg asm("r2") = pop;
> + __u32 val, result, zero = 0;
> +
> + asm volatile (
> + GLOBLS(32)
> + "retry: \n"
> + " ldrex %[val], %[lock] \n"
> + " cmp %[tid], %[val] \n"
> + " bne " LABEL(end, 32)" \n"
> + " strex %[result], %[zero], %[lock] \n"
Here too the address range between strex (success) and start is not
covered. Failure to fixup if the process is killed here.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com
More information about the linux-arm-kernel
mailing list