The `SYSCALL_DEFINEx` macro and syscall table registration you're documenting here is the real onboarding path the Linux kernel requires for every new syscall (io_uring and pidfd_open both went through this exact process), and it's also why kernel CVEs so often trace back to a missing `copy_from_user` bounds check on a new syscall's arguments. Once assigned, a syscall number is effectively permanent ABI — removing io_uring's early numbers would break every binary that already calls them.