syscall copy{in,out} separation

David P. Reese Jr. daver at gomerbud.com
Sat Aug 23 20:00:23 PDT 2003


On Sat, Aug 23, 2003 at 09:18:58AM -0700, Matthew Dillon wrote:
>     This looks really good.  I think you do have to use dynamic allocation
>     for accept*(), what you have now will crash the system :-) because
>     the namelen set by userland may be larger then the locally declared
>     sockaddr in accept().  I think it is acceptable to have accept1()
>     return the sockaddr allocated by soaccept() and then have accept()
>     FREE it.

Strangely enough, I couldn't get the old patch to crash the system using
tcp6.  Oh well...

Here's a new patch that uses dynamic allocation and cleans up the end
of accept1().  I tested it with a tcp daytime client based on an example
from W. Richard Steven's UNIX Network Programming book just to make sure
that nothing was blatantly wrong.

http://gomerbud.com/daver/patches/dragonfly/syscall-separation-1a.diff

-- 
   David P. Reese, Jr.                                     daver at xxxxxxxxxxxx





More information about the Submit mailing list