DragonFly BSD
DragonFly submit List (threaded) for 2003-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: syscall separation part 5


From: "David P. Reese, Jr." <daver@xxxxxxxxxxxx>
Date: Mon, 29 Sep 2003 23:43:17 -0700

On Mon, Sep 29, 2003 at 11:09:16PM -0700, Matthew Dillon wrote:
> 
> :Create a MSG_KERN_IOV flag for use in kern_{send,recv}msg().  This should
> :allow us to modify the contents of an iov in the emulation code and pass
> :it to kern_{send,recv}msg() without the use of the stackgap.
> :
> :Also, catch some spots where I forgot to pass flags in a message.
> :
> :http://gomerbud.com/daver/patches/dragonfly/syscall-separation-5.diff
> :
> :I'd like to commit this tomorrow night if it gets good reviews.
> :
> :-- 
> :   David P. Reese, Jr.                                     daver@xxxxxxxxxxxx
> :                                               http://www.gomerbud.com/daver/
>  
>     This looks reasonable to me.  I'm wondering if it makes sense to 
>     encapsulate the IOV in a UIO instead, but that might involve more
>     work then is reasonable at this stage.
> 
> 					-Matt

That was my first idea when I split kern_{send,recv}msg().  I decided not
to because I felt it would push too much code into the syscall entry point
functions.  I don't like the idea of abusing flags as was done with
MSG_COMPAT, so I think I'll spend the next couple of days rewriting these
functions to use uio's.  The calling convention would look something like
this:

    int kern_sendmsg(int s, struct sockaddr *sa, struct uio *auio,
        struct cmsghdr *control, int flags);
    int kern_recvmsg(int s, struct sockaddr *sa, struct uio *auio,
        struct cmsghdr *control, int flags);

More code, soon...

-- 
   David P. Reese, Jr.                                     daver@xxxxxxxxxxxx
                                               http://www.gomerbud.com/daver/



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]