[PATCH v4 0/5] arm64: vdso: Implement __vdso_futex_robust_try_unlock()
Thomas Gleixner
tglx at kernel.org
Sun Jul 5 13:23:55 PDT 2026
On Sun, Jul 05 2026 at 14:56, André Almeida wrote:
> As explained in the Testing section above, we developed a test that puts
> breakpoints in the code to test if a user code being interrupted really clears
> the op_pending pointer. This test wasn't initially working because of this check
> at futex_fixup_robust_unlock():
>
> /*
> * Avoid dereferencing current->mm if not returning from interrupt.
> * current->rseq.event is going to be used subsequently, so bringing the
> * cache line in is not a big deal.
> */
> if (!current->rseq.event.user_irq)
> return;
>
> rseq.event.user_irq was always false during my tests, and it prevents the fixup
> to happen. I figured out that arm64_syscall_enter_from_user_mode() was the
> issue because it doesn't set user_irq to true when the task comes from a
> syscall.
I have no idea what you are babbling about.
A syscall enter never sets user_irq to true. It's only set to true when
an interrupt/exception entry comes from user space, i.e. via
irqentry_enter_from_user_mode()
rseq_note_user_irq_entry()
No?
Thanks,
tglx
More information about the linux-arm-kernel
mailing list