Re: patch for 2.1.45-7 wrapping counts

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 16 Jul 1997 22:08:32 +0100 (BST)


> It appears that since sock_alloc is a public function, there may be some
> uses of sockets that don't get a dentry reference. Alternatively, if
> sock_alloc could be made private, then all uses of sockets would go
> through get_fd, and the iput() in sock_release could be removed.

There are possible cases for this. We allocate socket objects directly for
several purposes, although these will not have an associated file handle.

You may also want to check accept() and the file passing in AF_UNIX do
the right things too.

The main socket allocators are the network file systems. If its a problem
then making sock_alloc() the "allocate kernel socket" call, and making
socket/accept etc use sock_alloc_fd() or whatever should do fine without
breaking other code

Alan