syscall copy{in,out} separation

David P. Reese Jr. daver at
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.

   David P. Reese, Jr.                                     daver at xxxxxxxxxxxx

More information about the Submit mailing list