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

André Almeida <[email protected]>
Newsgroups org.kernel.vger.linux-arch,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
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
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.