On Mon, Apr 15, 2024 at 11:21 AM Linus Torvalds torvalds@linux-foundation.org wrote:
On Mon, 15 Apr 2024 at 11:11, Muhammad Usama Anjum usama.anjum@collabora.com wrote:
It isn't logical to wire up something which isn't present
Actually, with system calls, the rules end up being almost opposite.
There's no point in adding the code if it's not reachable. So adding the system call code before adding the wiring makes no sense.
So you have two cases: add the stubs first, or add the code first. Neither does anything without the other.
So then you go "add both in the same commit" option, which ends up being horrible from a "review the code" standpoint. The two parts are entirely different and mixing them up makes the patch very unclear (and has very different target audiences for reviewing it - the MM people really shouldn't have to look at the architecture wiring parts).
End result: there are no "this is the logical ordering" cases.
But the "wire up system calls" part actually has some reasons to be first:
it reserves the system call number
it adds the "when system call isn't enabled, return -ENOSYS"
conditional system call logic
so I actually tend prefer this ordering when it comes to system calls.
I confirm that the wire up change can be merged by its own, i.e. build will pass, and -ENOSYS will be returned at runtime.
Thanks Linus for clarifying this. -Jeff
Linus