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

Berend De Schouwer (bds@jhb.ucs.co.za)
12 Dec 2001 12:30:19 +0200


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/