Re: [linus:master] [x86/entry] be5341eb0d: WARNING:CPU:#PID:#at_int80_emulation

From: Sami Tolvanen
Date: Wed Dec 20 2023 - 18:40:28 EST


On Tue, Dec 19, 2023 at 3:15 PM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Tue, 19 Dec 2023 at 12:17, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > 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.
>
> IOW, something like the attached patch.
>
> It's not extensively tested, but hey, the diffstat looks nice:
>
> arch/arm64/include/asm/syscall_wrapper.h | 4 ---
> arch/riscv/include/asm/syscall_wrapper.h | 5 ----
> arch/s390/include/asm/syscall_wrapper.h | 13 +--------
> arch/x86/include/asm/syscall_wrapper.h | 34 +++---------------------
> kernel/sys_ni.c | 14 ++++++++++
> kernel/time/posix-stubs.c | 45 --------------------------------
> 6 files changed, 19 insertions(+), 96 deletions(-)
>
> and it builds in at least a *couple* of configurations, including with
> CONFIG_POSIX_TIMERS disabled.
>
> I did *not* check whether it might fix the warning, since I doubt my
> user space would even boot without that posix timer support (actually,
> honestly, because I'm just lazy and "it _looks_ fine to me" was the
> main real thing).

I tested the patch with the 0-day bot reproducer and it does fix the
warning. My usual arm64 and riscv configs also seem to build and boot
just fine.

> But that SYS_NI() thing really does deserve to die, as it was purely
> used as a hack for some random timer system calls.
>
> Comments?

Removing the SYS_NI bits is definitely a cleaner solution. Looks good to me.

Reviewed-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
Tested-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>

Sami