[PATCH v4 0/5] arm64: vdso: Implement __vdso_futex_robust_try_unlock()

André Almeida andrealmeid at igalia.com
Mon Jul 6 12:02:17 PDT 2026


Thomas!

Em 05/07/2026 17:23, Thomas Gleixner escreveu:
> 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()
> 

Sorry for the babbling, you are right. I got confused by analyzing the 
kernel stack trace after running the tests and wrongly thought that I 
spotted something missing. Please ignore patch 1/5.

> No?
> 
> Thanks,
> 
>          tglx
> 




More information about the linux-arm-kernel mailing list