Date: Thu, 23 Dec 2004 17:12:06 -0500 (EST) From: Daniel Eischen <deischen@freebsd.org> To: Jan Engelhardt <jengelh@linux01.gwdg.de> Cc: freebsd-hackers@freebsd.org Subject: Re: Kernel crash w/o reason Message-ID: <Pine.GSO.4.43.0412231700480.8053-100000@sea.ntplx.net> In-Reply-To: <Pine.LNX.4.61.0412232230270.11442@yvahk01.tjqt.qr>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 23 Dec 2004, Jan Engelhardt wrote: > Hello list, > > > for some reason, the Freebsd (5.3) kernel crashes whenever I do "simple > operations", in conjunction with a (self-written) kernel module. > > I have trimmed the original program down from approx 120 KB to the 7 KB (lots > of spacing and tabs :) to follow the common advise to find the shortest > codepiece showing the problem. > Well, you can retrieve the short prog at http://linux01.org/~jengelh/BUG.tbz2 > Both files (rpldev.c and rpld.c) seem perfectly fine, but ... > see rpld.c for the details of the crash. > > Hope someone can shed some light on this. I don't think you are suppose to leave the kernel with mutex(es) held. A mutex is a short term lock, and at best you are abusing it's intended use. Moreover, I don't think you should leave the kernel with _any_ kernel synchronization object held. In the case of the mutex, the thread performing the close() may not be the thread that did the open() and which owns the mutex. -- DE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.43.0412231700480.8053-100000>