This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add finit_module syscall for Linux


On Wed, Jan 23, 2013 at 9:58 PM, David Miller <davem@davemloft.net> wrote:
> From: Roland McGrath <roland@hack.frob.com>
> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]