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