Re: [PATCH v3 3/6] parisc: add system call table generation support

From: Firoz Khan
Date: Tue Oct 09 2018 - 01:35:52 EST


Hi Eugene, Arnd,

On Mon, 8 Oct 2018 at 19:27, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Mon, Oct 8, 2018 at 3:02 PM Eugene Syromiatnikov <esyr@xxxxxxxxxx> wrote:
> > > On Mon, 8 Oct 2018 at 10:47, Firoz Khan <firoz.khan@xxxxxxxxxx> wrote:
> > > > diff --git a/arch/parisc/kernel/syscalls/syscall.tbl b/arch/parisc/kernel/syscalls/syscall.tbl
> >
> > > > +84 common lstat sys_newlstat compat_sys_newlstat
> > > > +85 common readlink sys_readlink
> > > > +86 common uselib sys_ni_syscall
> >
> > Why uselib is declared, contrary to all the skipped syscalls below,
> > that were sys_ni_syscall previously? Only __NR_socketcall was explicitly
> > undefined in arch/parisc/include/uapi/asm/unistd.h.
>
> Good catch, I didn't see that in my earlier review. I agree we want the
> files to be identical to the version they replace, so the macros need to
> be there for now.
>
> We may later decide to clean this up and remove all __NR_* that have
> no entry point, but the conversion to the new table format needs to
> otherwise be a nop.
>
> > > > +87 common swapon sys_swapon
> > > > +88 common reboot sys_reboot
> > > > +89 common mmap2 sys_mmap2
> > > > +90 common mmap sys_mmap
> > > > +91 common munmap sys_munmap
> > > > +92 common truncate sys_truncate compat_sys_truncate
> > > > +93 common ftruncate sys_ftruncate compat_sys_ftruncate
> > > > +94 common fchmod sys_fchmod
> > > > +95 common fchown sys_fchown
> > > > +96 common getpriority sys_getpriority
> > > > +97 common setpriority sys_setpriority
> > > > +98 common recv sys_recv
> > > > +99 common statfs sys_statfs compat_sys_statfs
> > > > +100 common fstatfs sys_fstatfs compat_sys_fstatfs
> > > > +101 common stat64 sys_stat64
> >
> > It is probably worth adding a comment here that syscall 102 was
> > socketcall, in order to make reason for this jump in syscall numeration
> > self-evident.
>
> +1
>
> In general, I'd argue we want to keep all the nontrivial comments that
> were present in either unistd.h or syscall_table.S.

unistd_32.h, unistd_64.h, syscall_table_32.h, syscall_table_64.h and
syscall_table_c32.h
are generated files. unistd.h and syscall_table.S file include
generated files. I had the
support to keep the comments in the generated files.

Eg:- from github
https://github.com/frzkhn/system_call_table_generator/blob/5fe5fb5a3ad457b234e7600d8a4b61b2e3629acd/ia64/syscall.tbl#L105

But I got to know the generated file don't carry any license info and
comment section. That's
why I removed it from all architecture.

I'm ok to keep this support for all architecture. Please feel free to
comment here.

>
> > > > +103 common syslog sys_syslog
> > > > +104 common setitimer sys_setitimer compat_sys_setitimer
> > > > +105 common getitimer sys_getitimer compat_sys_getitimer
> > > > +106 common capget sys_capget
> > > > +107 common capset sys_capset
> >
> > > > +108 32 pread64 parisc_pread64
> > > > +108 64 pread64 sys_pread64 parisc_pread64
> >
> > It would be probably nice to have some syntax that would allow avoid
> > this duplication (as compat handler on 64 bit and native on 32 bit are
> > the same).
>
> I think I would prefer to have the compat table be generated with the '32'
> abi rather than the '64' abi, so we end up with
>
> 108 32 pread64 parisc_pread64
> parisc_pread64
> 108 64 pread64 sys_pread64
>
> I think this makes more sense, in particular on the other architectures
> that have different macro names in some cases. When we do this,
> the entries could get compressed to
>
> 108 32 pread64 parisc_pread64
> 108 64 pread64 sys_pread64
>

Sure. I can do this thing. The above one may be applicable for parisc not other
architecture. So the scripts might be slightly different. If we keep a
standard way,
the script will be unique. So the only difference will be Makefile and
.tbl files for all
architecture; I think that is our one of the goal.

> > > > +348 common pwritev2 sys_pwritev2 compat_sys_pwritev2
> > > > +349 common statx sys_statx
> > > > +350 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
> > > > \ No newline at end of file
>
> As others have commented several times, Firoz still needs to fix
> the missing newline.

Sure. I was wondering why the checkpatch script is not catching this one.
Where ever I came across I fixed it.

Thanks
Firoz

>
> Firoz, please fix all the newlines before you repost any further
> patches.
>
> Arnd