Messages in this thread | | | From | Linus Torvalds <> | Date | Tue, 19 Dec 2023 12:17:40 -0800 | Subject | Re: [linus:master] [x86/entry] be5341eb0d: WARNING:CPU:#PID:#at_int80_emulation |
| |
On Tue, 19 Dec 2023 at 11:15, Andrew Cooper <andrew.cooper3@citrix.com> wrote: > > -asmlinkage long sys_ni_posix_timers(void); > +asmlinkage long sys_ni_posix_timers(const struct pt_regs *regs);
I don't think it should be asmlinkage. That means "use legacy asm calling conventions", and for x86-32 that means pass on stack. Which I don't think these actually are.
I think it's an old artefect, and it doesn't matter for something that doesn't take any arguments, but when you add an argument it's actively wrong.
Of course, that argument isn't _used_, so it still doesn't matter, but if the point is to use the right prototype, I think we should just make it be
long sys_ni_posix_timers(const struct pt_regs *regs);
although I think Sami's suggestion is probably nicer.
That said, I still think that just getting rid of this horrid special case for posix timers is the right thing, and we should just remove that SYS_NI() alias thing entirely.
Linus
| |