Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jul 2002 04:30:43 -0700 (PDT)
From:      Don Lewis <dl-freebsd@catspoiler.org>
To:        bde@zeta.org.au
Cc:        arch@FreeBSD.ORG
Subject:   Re: wiring the sysctl output buffer
Message-ID:  <200207171130.g6HBUhwr029921@gw.catspoiler.org>
In-Reply-To: <200207170755.g6H7t1wr029257@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 17 Jul, Don Lewis wrote:
> On 17 Jul, Bruce Evans wrote:
>> I think no time should be spent changing interfaces for this.  The
>> following hack might work well: use the current code in sysctl_old_user()
>> if req->oldlen is not huge.  Otherwise, vslock() only the region being
>> copied out to and vsunlock() it after the copy so that we don't have to
>> keep track of what is vslock()ed.
> 
> That doesn't fix sysctl_kern_function_list(), which grabs a lock and
> then walks a linked list, calling SYSCTL_OUT() on each element.

Two other places that we have the similar problems are tcp_pcblist() and
udp_pcblist().  This code appears to have other problems as well, such
as the possibility of looking at stale data on the free list ...


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207171130.g6HBUhwr029921>