cvs commit: src/sys/sys protosw.h src/sys/kern uipc_domain.cuipc_socket2.c

Sam Leffler sam at errno.com
Tue Oct 19 21:44:42 PDT 2004


Andre Oppermann wrote:
> Sam Leffler wrote:
> 
>>Andre Oppermann wrote:
>>
>>>andre       2004-10-19 15:13:30 UTC
>>>
>>>  FreeBSD src repository
>>>
>>>  Modified files:
>>>    sys/sys              protosw.h
>>>    sys/kern             uipc_domain.c uipc_socket2.c
>>>  Log:
>>>  Support for dynamically loadable and unloadable protocols within existing protocol
>>>  families.
>>>
>>
>>I don't recall seeing this posted anywhere for comment.  I have some
>>concerns about this general topic and this code seems incomplete (e.g. I
>>see no locking).
> 
> 
> Locking is not needed because there are no dead moments in transitioning
> from unregistered to registered and back.  All calls to any of the protocol
> specific functions will return a valid result (even if it is only EOPNOTSUPP).
> There is no list manipulation going on.
> 
> The caller of the function is required to assure that no dangeling sockets,
> references or memory allocations are left behind after unregistering.  It's
> simply impossible to solve otherwise.  For IPDIVERT which I have converted
> this works very well (it will simply refuse to unload if a divert socket is
> open).
> 
> What remaining concerns do you have?

I went away for the day.  It seems many people have responded though not 
addressing all my concerns.  While I applaud your effort to attack this 
problem I must say I am totally disgusted by the way in which you've 
dropped this code in the tree with no review or opportunity for comment. 
  There are many decisions made here that I disagree with and from the 
subsequent commits to patchup issues it's clear your work needed some 
"soak time" before going in CVS.

	Sam


More information about the cvs-all mailing list