Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Michael Kerrisk <mtk.manpages <at> gmail.com>
Subject: Re: [PATCH] Add finit_module syscall for Linux
Newsgroups: gmane.comp.lib.glibc.alpha
Date: Thursday 24th January 2013 23:26:10 UTC (over 4 years ago)
On Wed, Jan 23, 2013 at 9:58 PM, David Miller  wrote:
> From: Roland McGrath 
> Date: Wed, 23 Jan 2013 12:54:34 -0800 (PST)
>
>> This is both ignoring and rehashing the previous discussion on this
topic,
>> while not adding any new arguments.
>
> It makes no sense for every tool that wants to support
> doing things with kernel modules to do the syscall()
> thing, propagating potential errors in argument signatures
> into more than one location instead of getting it right in
> one canonical place, libc.

Some background data to the discussion. According to man-pages, the
following Linux syscalls do not get the full export treatment by
glibc. In several cases, there are obviously good reasons for glibc
not to export the syscall, but for others there seems room for
discussion.

    delete_module(2)      [calling signature changed in 2.6.x]
    finit_module(2)
    getcpu(2)             [but there is sched_getcpu(3)]
    getdents(2)           [but readdir(3) is preferred]
    get_robust_list(2)
    get_thread_area(2)
    gettid(2)
    init_module(2)
    io_cancel(2)
    io_destroy(2)
    io_getevents(2)
    ioprio_get(2)
    ioprio_set(2)
    io_setup(2)
    io_submit(2)
    kcmp(2)
    kexec_load(2)
    modify_ldt(2)
    mq_getsetattr(2)      [but there are suitable mq_*(3) wrappers]
    perf_event_open(2)
    pivot_root(2)
    query_module(2)       [obsolete]
    readdir(2)            [but readdir(3) is preferred]
    restart_syscall(2)
    rt_sigqueueinfo(2)    [but there is sigqueue(3)]
    rt_tgsigqueueinfo(2)  [but there is pthread_sigqueue(3)]
    s390_runtime_instr(2) [s390 specific]
    set_robust_list(2)
    set_thread_area(2)
    sgetmask(2)           [obsolete, use sigprocmask(2) instead]
    spu_create(2)         [PowerPC specific]
    spu_run(2)            [PowerPC specific]
    ssetmask(2)           [obsolete, use sigprocmask(2) instead]
    subpage_prot(2)       [PowerPC specific]
    sysctl(2)             [deprecated]
    tgkill(2)
    tkill(2)              [obsolete]

Cheers,

Michael
 
CD: 4ms