Date: Mon, 5 Dec 2011 21:50:10 GMT From: Jaakko Heinonen <jh@FreeBSD.org> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/163076: It is not possible to read in chunks from linprocfs and procfs. Message-ID: <201112052150.pB5LoAYt078206@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: Jaakko Heinonen <jh@FreeBSD.org> To: Poul-Henning Kamp <phk@phk.freebsd.dk> 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: Mon, 5 Dec 2011 23:42:02 +0200 On 2011-12-05, Poul-Henning Kamp wrote: > >Yes, r222004 changed sbuf_finish() to not clear s->s_error which causes > >the regression. I am not sure if we should blame r222004 or the pseudofs > >code. > > The sbuf code is correct. > > 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. -- Jaakko
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112052150.pB5LoAYt078206>