Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Dec 2011 11:30:14 GMT
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/163076: It is not possible to read in chunks from linprocfs and procfs.
Message-ID:  <201112061130.pB6BUE4d070215@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/163076; it has been noted by GNATS.

From: "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To: Jaakko Heinonen <jh@FreeBSD.org>
Cc: Petr Salinger <Petr.Salinger@seznam.cz>, bug-followup@FreeBSD.org
Subject: Re: kern/163076: It is not possible to read in chunks from linprocfs and procfs.
Date: Tue, 06 Dec 2011 11:20:09 +0000

 In message <20111205214201.GA37871@jh>, Jaakko Heinonen writes:
 >On 2011-12-05, Poul-Henning Kamp wrote:
 
 >> Sbufs were designed to have "latching error semantics" and any errors
 >> should not be cleared by sbuf_finish() for exactly that reason.
 >
 >Shouldn't sbuf_finish() then check s->s_error before appending the
 >trailing '\0' and setting the SBUF_FINISHED flag? The problem in
 >question wasn't caught earlier because sbuf_finish() happily finishes
 >the buffer even if it has an error.
 
 I belive the code is written so that there is always reserved space 
 for the final '\0'
 
 sbuf_finish() should finish _any_ sbuf, and return zero only if
 the finished buffer is fully OK.
 
 I belive it does that, if not its a bug.
 
 The intent is that you don't have to check for errors more than
 one place: sbuf_finish()
 
 -- 
 Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
 phk@FreeBSD.ORG         | TCP/IP since RFC 956
 FreeBSD committer       | BSD since 4.3-tahoe    
 Never attribute to malice what can adequately be explained by incompetence.



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