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

Thomas Gleixner <[email protected]>
Newsgroups org.kernel.vger.linux-arch,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel
Message-ID <87qzlhjick.ffs@fw13>
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
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.