kern/163076: It is not possible to read in chunks from linprocfs and procfs.

Jaakko Heinonen jh at FreeBSD.org
Mon Dec 5 21:50:11 UTC 2011


The following reply was made to PR kern/163076; it has been noted by GNATS.

From: Jaakko Heinonen <jh at FreeBSD.org>
To: Poul-Henning Kamp <phk at phk.freebsd.dk>
Cc: Petr Salinger <Petr.Salinger at seznam.cz>, bug-followup at 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


More information about the freebsd-bugs mailing list