|
Message-ID: <CAK8P3a2MDvXCQGbjcUiXZko8yWgn+r1Gc0G6ajYG08m41ibY8g@mail.gmail.com> Date: Wed, 2 Jun 2021 13:52:43 +0200 From: Arnd Bergmann <arnd@...nel.org> To: musl@...ts.openwall.com Cc: Rich Felker <dalias@...c.org>, Markus Wichmann <nullplan@....net>, Florian Weimer <fweimer@...hat.com> Subject: Re: Backwards kernel compatibility On Wed, Jun 2, 2021 at 9:38 AM Martin Vajnar <martin.vajnar@...il.com> wrote: > > Hi Rich, > > thank you for such detailed reply.> Cc: <stable@...r.kernel.org> > Cc: Martin Vajnar <martin.vajnar@...il.com> > Cc: musl@...ts.openwall.com > Acked-by: Will Deacon <will.deacon@....com> > Signed-off-by: Michael Weiser <michael.weiser@....de> > Signed-off-by: Will Deacon <will.deacon@....com> > Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org> > Signed-off-by: Arnd Bergmann <arnd@...db.de> > --- > This was backported to v4.14 and later, but is missing in v4.4 and > before, apparently because of a trivial merge conflict. This is > a manual backport I did after I saw a report about the issue > by Martin Vajnar on the musl mailing list. > Signed-off-by: Arnd Bergmann <arnd@...db.de> > --- > arch/arm64/kernel/traps.c | 8 -------- > 1 file changed, 8 deletions(-) > > diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c > index 9322be69ca09..db4163808c76 100644 > --- a/arch/arm64/kernel/traps.c > +++ b/arch/arm64/kernel/traps.c > @@ -363,14 +363,6 @@ asmlinkage long do_ni_syscall(struct pt_regs *regs) > } > #endif > > - if (show_unhandled_signals && printk_ratelimit()) { > - pr_info("%s[%d]: syscall %d\n", current->comm, > - task_pid_nr(current), (int)regs->syscallno); > - dump_instr("", regs); > - if (user_mode(regs)) > - __show_regs(regs); > - } > - > return sys_ni_syscall(); > } > > -- > 2.29.2 > > > Ășt 25. 5. 2021 v 0:00 odesĂlatel Rich Felker <dalias@...c.org> napsal: > > > > On Mon, May 24, 2021 at 03:52:44PM +0200, Martin Vajnar wrote: > > > Hi, Markus, > > > > > > sorry for the late reply it was quite busy lately. You're describing > > > exactly the issue, we are facing in our project. We need to use old kernel > > > which we have only in binary form and have headers for it. At the same time > > > we would like to have the latest musl running on it. > > > > > > The problem we encounter is that for unsupported (or better said, not > > > supported yet) syscalls we get performance overhead because of the ENOSYS. > > > > Can you give some information on what syscalls these are and if/how > > you measured the performance overhead as being significant? > > > The main source of overhead comes from the kernel 4.4 which on arm64 > produces stack traces when not implemented syscall is invoked: > > https://github.com/torvalds/linux/blob/afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc/arch/arm64/kernel/traps.c#L369 That is clearly a bug that was fixed in mainline and backported to linux-4.14 but not 4.4 or 4.9. I've sent a manual backport for inclusion in those kernels now. Arnd
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.