[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK8P3a3H3ZikSfqoeh0=PQQuFw6PTg2KgP+p=4G26ayuzgwQeQ@mail.gmail.com>
Date: Thu, 23 Sep 2021 12:25:07 +0200
From: Arnd Bergmann <arnd@...db.de>
To: rpalethorpe@...e.de
Cc: Arnd Bergmann <arnd@...db.de>,
Linux FS-devel Mailing List <linux-fsdevel@...r.kernel.org>,
Linux API <linux-api@...r.kernel.org>,
linux-aio <linux-aio@...ck.org>,
y2038 Mailman List <y2038@...ts.linaro.org>,
Andy Lutomirski <luto@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"the arch/x86 maintainers" <x86@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>,
Deepa Dinamani <deepa.kernel@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
LTP List <ltp@...ts.linux.it>
Subject: Re: ia32 signed long treated as x64 unsigned int by __ia32_sys*
On Thu, Sep 23, 2021 at 12:01 PM Richard Palethorpe <rpalethorpe@...e.de> wrote:
> Arnd Bergmann <arnd@...db.de> writes:
> > On Wed, Sep 22, 2021 at 10:46 AM Richard Palethorpe <rpalethorpe@...e.de> wrote:
> >> Richard Palethorpe <rpalethorpe@...e.de> writes:
> >
> > I also noticed that only x86 and s390 even have separate entry
> > points for normal syscalls when called in compat mode, while
> > the others all just zero the upper halves of the registers in the
> > low-level entry code and then call the native entry point.
>
> It looks to me like aarch64 also has something similar? At any rate, I
> can try to fix it for x86 and investigate what else might be effected.
arm64 also has a custom asm/syscall_wrapper.h, but it only does
this for accessing pt_regs (as x86 does), not for doing any
argument conversion. x86 does the 32-to-64 widening in the
wrapper, arm64 relies on the pt_regs already having the upper
halves zeroed.
Arnd
Powered by blists - more mailing lists