[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250618165641.bKu1_p0P@linutronix.de>
Date: Wed, 18 Jun 2025 18:56:41 +0200
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: André Almeida <andrealmeid@...lia.com>
Cc: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Darren Hart <dvhart@...radead.org>,
Davidlohr Bueso <dave@...olabs.net>, Shuah Khan <shuah@...nel.org>,
Arnd Bergmann <arnd@...db.de>, Waiman Long <longman@...hat.com>,
linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
linux-api@...r.kernel.org, kernel-dev@...lia.com
Subject: Re: [PATCH RESEND v4 0/7] futex: Create set_robust_list2
On 2025-06-18 13:39:46 [-0300], André Almeida wrote:
>
> Ops, I forgot to address them. I will do it for v5.
>
> > - You say 64bit x86-64 does not have the problem due the compat syscall.
> > Arm64 has this problem. New arm64 do not provide arm32 facility. You
> > introduce the syscall here. Why not introduce the compat syscall
> > instead? I'm sorry if this has been answered somewhere below but this
> > was one question I had while I initially skimmed over the patches.
> >
>
> The main target for this new syscall is Arm64, that can't handle 32 pointers
> in the current syscall, so this new interface allows the robust list
> mechanism to know if it needs to do 64 or 32 bit pointer arithmetic
> operations to walk in the list.
>
> Introducing a compat syscall won't fix this, giving that it only works in
> x86-64. We need an entry point for Arm64 that can handle 32 bit pointers.
I would need to dig into details to figure out why it won't work for
arm64 and works only for x86-64.
There is the set_robust_list syscall as compat which sets
::compat_robust_list. And non-compat sets ::robust_list. The 32bit
application on 64bit kernel should set ::compat_robust_list which what
your syscall provides.
That is why I don't understand the need for it so far. Maybe I am
missing a detail.
We have other architectures with 64 bit kernel and a possible 32bit
userland such as mips, s390 or powerpc which would have the same issue
then. Or there is something special about arm64 in this case which makes
it unique.
Sebastian
Powered by blists - more mailing lists