Re: Panic `cat /proc/ioports`

Andrew Morton (akpm@digeo.com)
Wed, 12 Feb 2003 09:22:24 -0800


"Richard B. Johnson" <root@chaos.analogic.com> wrote:
>
> On Tue, 11 Feb 2003, Andrew Morton wrote:
>
> > "Richard B. Johnson" <root@chaos.analogic.com> wrote:
> > >
> > > Linux version 2.4.18, after it runs for a few days, will panic
> > > if I do `cat /proc/ioports`. Has this been reported/fixed in
> > > later versions?
> > >
> > > : Unable to handle kernel paging request at virtual address d48e2fa0
> >
> > This means that some driver which was previously loaded forgot to do a
> > release_region(). Later, the /proc code tries to read stuff from within the
> > driver which isn't there any more and oopses.
> >
>
> Yes. I just noticed that most network board drivers in version 2.4.18
> do not execute release_region() after they have done a request_region(),
> if they fail to install because of some error.

Fairly common error.

> The error in this case was
> the failure to allocate memory because I told the kernel I only had 4
> megabytes (exprimental ioremap() of the rest in another module).
>
> Is somebody fixing these drivers (do you know).

There is ongoing janitorial work, and things are getting better.
But I'm not aware of anyone specifically auditing for missing
release_region()s. And given that it is a box-killer rather than
just a memory leak, yes, it is worth an audit.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/