Re: [PATCH v2] x32: Implement prctl in assembly

Florian Weimer <[email protected]> Mon, 08 Dec 2025 10:09:59 +0100
Newsgroups org.kernel.vger.util-linux
Message-ID <[email protected]>
* H. J. Lu:

> On Mon, Dec 8, 2025 at 4:11 PM Florian Weimer <[email protected]> wrote:
>>
>> * H. J. Lu:
>> > Here is the v2 patch to implement prctl in assembly for x32.
>> >
>> > Since the variadic prctl function takes at most 5 integer arguments which
>> > are passed in the same integer registers on x32 as the function with 5
>> > integer arguments, we can use assembly for prctl.  Since upper 32-bits in
>> > the last 4 arguments of prctl must be cleared to match the x32 prctl
>> > syscall interface where the last 4 arguments are unsigned 64 bit longs,
>> > implement prctl in assembly to clear upper 32-bits in the last 4 arguments
>> > and add a test to verify it.
>>
>> What's the advantage of the assembler implementation over the C
>> implementation?  I'm missing the context for this change.
>>
>
> It is inspired by
>
> commit 6a04404521ac4119ae36827eeb288ea84eee7cf6
> Author: Florian Weimer <[email protected]>
> Date:   Sat Feb 17 09:17:04 2024 +0100
>
>     Linux: Switch back to assembly syscall wrapper for prctl (bug 29770)

The justification for that does not apply to x32, though, because prctl
doesn't take floating point arguments.  I don't have a strong opinion,
the C and assembler versions are of similar complexity.

Thanks,
Florian