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 firstname.lastname@example.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