Re: PROBLEM: Kernel Oops on cat /proc/ioports

From: Berend De Schouwer (bds@jhb.ucs.co.za)
Date: Wed Dec 12 2001 - 05:30:19 EST


On Wed, 2001-12-12 at 03:06, Andrew Morton wrote:
> Berend De Schouwer wrote:
> >
> > [1.] One line summary of the problem:
> >
> > Running "cat /proc/ioports" causes a segfault and kernel oops.
> >
> > ...
> > [7.3.] Module information (from /proc/modules):
> >
> > cyclades 147616 16 (autoclean)
>
> cyclades does request_region(), but forgets to do release_region().
> This will leave the region allocated in kernel data structures,
> but its "name" field resides in module memory.
>
> So if you load cyclades.o, then rmmod it, then cat /proc/ioports,
> you'll touch unmapped memory and go boom.

I have confirmed this. rmmod cyclades && cat /proc/ioports causes the
oops (but not necessarily a system crash). I have a applied your patch,
and repeatedly ran insmod cyclades && rmmod cyclades && cat
/proc/ioports without causing the kernel oops.
>
> Some brave soul needs to teach cyclades about release_region().
> Shame the Nobel prizes are all gone this year.

Thanks very much for the patch.

PS. I needed to change the offsets to apply your patch to 2.4.14, but
no logic was changed.

> -

-- 
Berend De Schouwer

- 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/



This archive was generated by hypermail 2b29 : Sat Dec 15 2001 - 21:00:23 EST