Date: Wed, 20 Feb 2002 12:52:14 +0100 From: Mark Santcroos <marks@ripe.net> To: Terry Lambert <tlambert2@mindspring.com> Cc: freebsd-current@FreeBSD.ORG, Alfred Perlstein <bright@mu.org> Subject: Re: Ethernet tunnel device Message-ID: <20020220125214.A425@laptop.6bone.nl> In-Reply-To: <3C6E2011.65DDAD2A@mindspring.com>; from tlambert2@mindspring.com on Sat, Feb 16, 2002 at 01:02:09AM -0800 References: <20020211032336.A2135@kashmir.etowns.net> <20020211170131.A79104@laptop.6bone.nl> <20020212074327.A3466@laptop.6bone.nl> <20020213111358.A3235@kashmir.etowns.net> <20020213111937.A10146@Odin.AC.HMC.Edu> <3C6B0BFD.F27F040F@mindspring.com> <20020216004146.A57907@laptop.6bone.nl> <3C6DD38B.BF38EC80@mindspring.com> <20020215214430.A7255@Odin.AC.HMC.Edu> <3C6E2011.65DDAD2A@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--pWyiEgJYm5f9v55/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, Feb 16, 2002 at 01:02:09AM -0800, Terry Lambert wrote: > Pretty clearly, if it happens, and the process is truly > gone, then there is a resource track cleanup that's > missing (perhaps it's a reference that results from the > Linux mmap resource track cleanup not releasing it?). It was indeed a linux_compat specific resource cleanup issue. I managed to create a simple linux program that had the same problem. From there on it was easy... The problem was created by Alfred's locking commit of Jan 13. (No hard feelings, it helped me to understand the code alot better! ;) ) Can someone please commit the attached (trivial) patch? Mark ps. there might be more pieces of code like this maybe. -- Mark Santcroos RIPE Network Coordination Centre http://www.ripe.net/home/mark/ New Projects Group/TTM --pWyiEgJYm5f9v55/ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="linux_ioctl.c.patch" --- linux_ioctl.c.orig Wed Feb 20 12:34:46 2002 +++ linux_ioctl.c Wed Feb 20 12:35:06 2002 @@ -2313,9 +2313,10 @@ TAILQ_FOREACH(he, &handlers, list) { if (cmd >= he->low && cmd <= he->high) { error = (*he->func)(td, args); - if (error != ENOIOCTL) + if (error != ENOIOCTL) { fdrop(fp, td); return (error); + } } } fdrop(fp, td); --pWyiEgJYm5f9v55/-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020220125214.A425>