Re: [PATCH 1/1] syscalls: Fix references to filenames containing syscall defs

From: Thomas Gleixner
Date: Wed Nov 06 2019 - 12:02:50 EST


On Wed, 6 Nov 2019, Mohammad Nasirifar wrote:

> On Tue, Nov 05, 2019 at 10:49:12AM +0100, Arnd Bergmann wrote:
> > On Tue, Nov 5, 2019 at 10:34 AM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> > > On Mon, 4 Nov 2019, Mohammad Nasirifar wrote:
> > > > Fix stale references to files containing syscall definitions in
> > > > 'include/linux/syscalls.h' and 'include/uapi/asm-generic/unistd.h',
> > > > pointing to 'kernel/itimer.c', 'kernel/hrtimer.c', and 'kernel/time.c'.
> > > > They are now under 'kernel/time'.
> > > >
> > > > Also definitions of 'getpid', 'getppid', 'getuid', 'geteuid', 'getgid',
> > > > 'getegid', 'gettid', and 'sysinfo' are now in 'kernel/sys.c'.
> > >
> > > Can we please remove these file references completely. They are going
> > > to be stale sooner than later again and they really do not provide
> > > any value.
>
> I actually refer to them a lot when locating syscall implementations,
> which is how I found out that they were stale in the first place.

# git grep -n 'SYSCALL.*(nanosleep'

kernel/time/hrtimer.c:1945:SYSCALL_DEFINE2(nanosleep, struct ...
kernel/time/hrtimer.c:1965:SYSCALL_DEFINE2(nanosleep_time32, struct ...

Gives you the always correct answer including the line number.

So there is really no value in keeping those file references and have them
outdated once a function or a file moves. It's just matter of fact that
nobody ever fixes them up when a function or a file moves. Why? Because
they have no connection. The compiler does not complain and there are no
tools which could ever validate them. So removing them is the right thing
to do.

Thanks,

tglx