Re: [PATCH v3 5/5] arm64: vdso32: Implement __vdso_futex_robust_try_unlock()

From: Mathieu Desnoyers

Date: Fri May 29 2026 - 15:15:57 EST


+__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