Date: Sun, 21 Mar 2010 20:12:22 -0400 (EDT) From: Rick Macklem <rmacklem@uoguelph.ca> To: Mikolaj Golub <to.my.trociny@gmail.com> Cc: freebsd-fs@FreeBSD.org, Kai Kockro <kkockro@web.de>, bug-followup@FreeBSD.org Subject: Re: kern/144330: [nfs] mbuf leakage in nfsd with zfs Message-ID: <Pine.GSO.4.63.1003212005170.28991@muncher.cs.uoguelph.ca> In-Reply-To: <86tys9eqo6.fsf@kopusha.onet> References: <201003171120.o2HBK3CV082081@freefall.freebsd.org> <20100317113953.GA14582@icarus.home.lan> <Pine.GSO.4.63.1003171844120.20254@muncher.cs.uoguelph.ca> <86tys9eqo6.fsf@kopusha.onet>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 21 Mar 2010, Mikolaj Golub wrote: [good stuff snipped] > > Athough it might be another issue then reported in this pr :-). > I think it's the same one, since disabling the replay cache made the leak go away. > Reviewing rpc/svc.c:svc_getreq() it looks for me that for RS_DONE case args > are nevere freed. Shouldn't it be like in the attached patch? > Good catch!! It certainly looks like what would have caused the leak to me. Since r_args has not been set to args for that case, svc_freereq() wouldn't free args, just as you observed. Hopefully Jeremy can test this, but I suspect you've found/fixed the culprit. Sorry, I can't remember if you are a committer? (If not, I'll try and get dfr to review it and then get it committed.) Again, good job, rick ps: I was looking for a leak of the copy in the cache and didn't think of the request coming in.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.63.1003212005170.28991>