This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Add finit_module syscall for Linux
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/053452.html
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.