From owner-freebsd-bugs@FreeBSD.ORG Fri Dec 9 16:10:13 2011 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA90E106564A for ; Fri, 9 Dec 2011 16:10:13 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D9E748FC17 for ; Fri, 9 Dec 2011 16:10:13 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id pB9GADjf083521 for ; Fri, 9 Dec 2011 16:10:13 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id pB9GADbp083520; Fri, 9 Dec 2011 16:10:13 GMT (envelope-from gnats) Date: Fri, 9 Dec 2011 16:10:13 GMT Message-Id: <201112091610.pB9GADbp083520@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Petr Salinger Cc: Subject: Re: kern/163076: It is not possible to read in chunks from linprocfs and procfs. X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Petr Salinger List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Dec 2011 16:10:14 -0000 The following reply was made to PR kern/163076; it has been noted by GNATS. From: Petr Salinger To: mdf@FreeBSD.org Cc: Jaakko Heinonen , =?ISO-8859-15?Q?Dag-Erling_Sm=F8rgrav?= , Poul-Henning Kamp , bug-followup@FreeBSD.org Subject: Re: kern/163076: It is not possible to read in chunks from linprocfs and procfs. Date: Fri, 9 Dec 2011 17:18:00 +0100 (CET) User-Agent: Alpine 2.02 (LRH 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-FELK-MailScanner-Information: X-MailScanner-ID: pB9G4r01051652 X-FELK-MailScanner: Found to be clean X-FELK-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-1.12, required 6, BAYES_00 -1.90, FREEMAIL_FROM 0.00, SPF_NEUTRAL 0.78) X-FELK-MailScanner-From: petr.salinger@seznam.cz X-FELK-MailScanner-To: bug-followup@freebsd.org, des@des.no, jh@freebsd.org, mdf@freebsd.org, phk@phk.freebsd.dk X-FELK-MailScanner-Watermark: 1324051494.72495@1Eu3fJUhMt52tBWic+21fw X-Spam-Status: No >> As I wrote existing code depends on sbuf_len() to return the actual >> length regardless of the error status after sbuf_finish(). I am not >> willing to through all code using sbufs to check where it causes >> problems. phk@ asserts that r222004 is correct. > > What is causing sbuf to have an error in the first place? The size of > flies in /proc are generally small and malloc(3) errors are rare. In this particular case, the userland wants to read first n bytes, the sbuf is allocated as fixed for n bytes. The first n bytes are generated and correctly stored in sbuf, for the rest bytes, there is no space in sbuf, but these bytes are not needed later anyway. In stable-8, sbuf_data(sb) point to data, the sbuf_len(sb) returns number of stored bytes. In stable-9, sbuf_data(sb) point to data, the sbuf_len(sb) returns -1. Petr