Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: KOSAKI Motohiro <kosaki.motohiro <at> gmail.com>
Subject: Re: [PATCH] Add finit_module syscall for Linux
Newsgroups: gmane.comp.lib.glibc.alpha
Date: Friday 25th January 2013 17:31:24 UTC (over 4 years ago)
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.
 
CD: 3ms