LWN.net Logo

Re: [PATCH] Add finit_module syscall for Linux

From:  KOSAKI Motohiro <kosaki.motohiro-AT-gmail.com>
To:  Michael Kerrisk <mtk.manpages-AT-gmail.com>
Subject:  Re: [PATCH] Add finit_module syscall for Linux
Date:  Fri, 25 Jan 2013 12:31:24 -0500
Message-ID:  <CAHGf_=qVkoDoEw69aiT5n2+LpGwSdS_LvPKZ40ZXr2S12hZu5A@mail.gmail.com>
Cc:  David Miller <davem-AT-davemloft.net>, Roland McGrath <roland-AT-hack.frob.com>, Kees Cook <keescook-AT-chromium.org>, "Joseph S. Myers" <joseph-AT-codesourcery.com>, Mike Frysinger <vapier-AT-gentoo.org>, libc-alpha <libc-alpha-AT-sourceware.org>
Archive-link:  Article, Thread

Seems they can be separated 5 categories

1. only one or few specific application use.

>     delete_module(2)      [calling signature changed in 2.6.x]
>     finit_module(2)
>     init_module(2)
>     kcmp(2)
>     kexec_load(2)
>     modify_ldt(2)
>     perf_event_open(2)
>     pivot_root(2)
>     s390_runtime_instr(2) [s390 specific]
>     spu_create(2)         [PowerPC specific]
>     spu_run(2)            [PowerPC specific]
>     subpage_prot(2)       [PowerPC specific]


2. exported another name

>     getcpu(2)             [but there is sched_getcpu(3)]
>     rt_sigqueueinfo(2)    [but there is sigqueue(3)]
>     rt_tgsigqueueinfo(2)  [but there is pthread_sigqueue(3)]
>     tgkill(2)


3. for libc or kernel internal uses

>     getdents(2)           [but readdir(3) is preferred]
>     get_robust_list(2)
>     get_thread_area(2)
>     mq_getsetattr(2)      [but there are suitable mq_*(3) wrappers]
>     restart_syscall(2)
>     set_robust_list(2)
>     set_thread_area(2)

4. obsolete

>     query_module(2)       [obsolete]
>     readdir(2)            [but readdir(3) is preferred]
>     sgetmask(2)           [obsolete, use sigprocmask(2) instead]
>     ssetmask(2)           [obsolete, use sigprocmask(2) instead]
>     sysctl(2)             [deprecated]
>     tkill(2)              [obsolete]

I'm not interested these categories so much. however rest are interesting to me.

>     gettid(2)

Very frequently uses. because linux /proc uses tid. pthrad_self()
don't help us when facing libc/kernel combination issue.
I have no seen any issue of exporting.


>     io_cancel(2)
>     io_destroy(2)
>     io_getevents(2)
>     io_setup(2)
>     io_submit(2)

Traditionally exported via libaio (i.e. out of glibc project).
But since the kernel.org security problem, upstream libaio was dead.

http://lists.busybox.net/pipermail/buildroot/2012-May/053...
http://git.kernel.org/?p=libs/libaio/libaio.git   [404 - No such project ]

It would be nice if libc export them properly.


>     ioprio_get(2)
>     ioprio_set(2)

I aso have no seen good reason to not export them. Why io knob
should not be exported? glibc already exports several linux specific
syscalls.



(Log in to post comments)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds