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