tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: getsockopt(2)
David Holland <dholland-tech%netbsd.org@localhost> wrote:
>On Mon, Dec 18, 2017 at 07:21:33PM +0000, David Holland wrote:
> > On Thu, Dec 07, 2017 at 03:04:32PM +0000, Robert Swindells wrote:
> > > I wrote:
> > >> Does anyone know why we don't use the input 'optlen' parameter to the
> > >> getsockopt(2) syscall, we do write back to it on return.
> > >> [...]
> > >>
> > >> There are also lots of places in sctp_usrreq that want to use it.
> > >>
> > >> I can set it with the following patch (line numbers will be slightly
> > >> out), but wondered if there was a reason for the current behaviour.
> > >> [...]
> > >
> > > Has anyone had any other thoughts on this ?
> > >
> > > I still think that the one line change shown here is correct, it will
> > > allocate a buffer that gets filled by the stuff to be copied back to
> > > userspace.
> >
> > The man page for getsockopt says [irrelevant stuff]
>
>Oops, I guess I am missing something.
The current code isn't wrong.
In the "get" path, sockopt_set() or sockopt_setmbuf() will allocate a
buffer if needed, most other values are ints and can go in the 4 byte
buffer in the sockopt.
I guess it avoids needing to free the buffer if there is an error while
building up the data to return.
Home |
Main Index |
Thread Index |
Old Index