Date: Fri, 20 Dec 2002 19:24:15 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Sean Kelly <smkelly@zombie.org> Cc: current@FreeBSD.ORG Subject: Re: `cat /dev/io` leads to system lockup. Message-ID: <20021220190007.B344-100000@gamplex.bde.org> In-Reply-To: <20021220062935.GA699@edgemaster.zombie.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 20 Dec 2002, Sean Kelly wrote: > On my 5.0-CURRENT kernel built 45 minutes ago, I can bring my system to its > knees by doing > > # cat /dev/io > > While I understand that this isn't exactly something one would normally be > doing, is it really something that should bring the system down? No. Writing to /dev/io is not supported. write(2) to a device that doesn't support writing should return -1 and set errno to ENODEV. This was broken mainly by removing the default case from mem.c:mmrw(). This causes mmrw() to loop endlessly without giving up control. Giant locking in -current makes this especially fatal -- mmrw() holds Giant so even most interrupt handlers are blocked. In RELENG_4 the only bug near here is that mmrw() returns ENXIO instead of ENODEV for writes to /dev/io. Bruce 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?20021220190007.B344-100000>