lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 23 Sep 2021 12:25:07 +0200
From:   Arnd Bergmann <>
Cc:     Arnd Bergmann <>,
        Linux FS-devel Mailing List <>,
        Linux API <>,
        linux-aio <>,
        y2038 Mailman List <>,
        Andy Lutomirski <>,
        Thomas Gleixner <>,
        Ingo Molnar <>, Borislav Petkov <>,
        "the arch/x86 maintainers" <>,
        "H. Peter Anvin" <>,
        Deepa Dinamani <>,
        Linux Kernel Mailing List <>,
        LTP List <>
Subject: Re: ia32 signed long treated as x64 unsigned int by __ia32_sys*

On Thu, Sep 23, 2021 at 12:01 PM Richard Palethorpe <> wrote:
> Arnd Bergmann <> writes:
> > On Wed, Sep 22, 2021 at 10:46 AM Richard Palethorpe <> wrote:
> >> Richard Palethorpe <> 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.


Powered by blists - more mailing lists