lkml.org 
[lkml]   [2012]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/6] trace: add support for 32 bit compat syscalls on x86_64
    On 03/26/2012 11:39 AM, Vaibhav Nagarnaik wrote:
    > +/*
    > + * syscall metadata for 32 bit compatible system calls
    > + *
    > + * The metadata entries are in the same order as the system call table
    > + * but this is just to make it easier to check them for completeness
    > + * and correctness.
    > + */
    > +
    > +COMPAT_SYSCALL_METADATA0(restart_syscall)
    > +COMPAT_SYSCALL_METADATA1(exit, int, error_code)
    [...]
    > +COMPAT_SYSCALL_METADATA5(recvmmsg, int, fd, struct mmsghdr __user *, mmsg, unsigned int, vlen, unsigned int, flags, struct timespec __user *, timeout)

    > +/*
    > + * This is truly horrible.

    Yes, it is. How on Earth do you expect the above to ever be maintained?

    > + *
    > + * There is no header file that defines a *complete* set of 32 bit system
    > + * call numbers (unistd_32.h only defines ones that are currently exported
    > + * to user space and omits lots of old system calls that are still implemented
    > + * by the kernel.

    > + * There is also no table that can be used to map a system call number into
    > + * the canonical name of that system call.

    arch/x86/syscalls has all of those. If it's not in there, it doesn't
    exist, because that's where the system call table comes from.

    -hpa


    \
     
     \ /
      Last update: 2012-03-27 06:53    [W:0.022 / U:30.488 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site