From owner-freebsd-current Wed Dec 19 11: 9:10 2001 Delivered-To: freebsd-current@freebsd.org Received: from mail12.speakeasy.net (mail12.speakeasy.net [216.254.0.212]) by hub.freebsd.org (Postfix) with ESMTP id 6C54A37B405 for ; Wed, 19 Dec 2001 11:09:06 -0800 (PST) Received: (qmail 20204 invoked from network); 19 Dec 2001 19:09:06 -0000 Received: from unknown (HELO laptop.baldwin.cx) ([64.81.54.73]) (envelope-sender ) by mail12.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 19 Dec 2001 19:09:06 -0000 Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200112191905.fBJJ5M190050@apollo.backplane.com> Date: Wed, 19 Dec 2001 11:08:51 -0800 (PST) From: John Baldwin To: Matthew Dillon Subject: Re: cvs commit: src/sys/kern vfs_subr.c vfs_vnops.c src/sys/sys Cc: freebsd-current@FreeBSD.ORG, Josef Karthauser Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 19-Dec-01 Matthew Dillon wrote: > >:> hmm.. ok, there are some subsystems using sbuf's: >:>=20 >:> linprocfs >:> procfs >:> pseudofs >:>=20 >:> I think someone may have broken something in pseudofs, procfs, >:> and/or linprocfs that is causing the VFS cache and sbuf MALLOC >:> area to run away. >:>=20 >:> Anybody have any ideas? >: >:This certainly appear to be the case. I've unmounted procfs and >:linprocfs and I've got an uptime of 5 hours now. Result! :) >: >:Joe > > Excellent! Can you narrow the problem down further, to either procfs or > linprocfs? > > I think I *may* have found it. Or at least I've found one error. There > could be more: > > void > sbuf_delete(struct sbuf *s) > { > assert_sbuf_integrity(s); > /* don't care if it's finished or not */ > > if (SBUF_ISDYNAMIC(s)) > SBFREE(s->s_buf); > bzero(s, sizeof *s); > if (SBUF_ISDYNSTRUCT(s)) > SBFREE(s); > } > > The structure is being bzero()'d before its dynamic flag gets checked. > I've included a patch below. Josef, I would appreciate it if you would > apply the patch and try your system with the various procfs devices > mounted again. It's an obvious bug so I'm comitting it to -current now, > the question is: Is it the *only* bug? > > -Matt Hmm, why bzero at all if you are just going to free it? Why not move the bzero to an else after the ISDYNSTRUCT check? (Not that this is really all that important, but... :) -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message