Skip site navigation (1)Skip section navigation (2)
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>