Re: problem rmmod'ing module

From: Keith Owens
Date: Tue Feb 17 2004 - 23:56:32 EST


On Tue, 17 Feb 2004 15:38:58 -0600,
Matthew Rench <lists@xxxxxxxxxxxx> wrote:
>I'm getting some strange behavior while trying to rmmod a module from my
>2.4.21 kernel. Each call to "rmmod" segfaults, leaving the module usage count
>incremented.

kernel/module.c bumps the use count at the start of each query, to
prevent the module being removed while it is being queried. The use
count is droped at the end of normal query processing, but
kernel/module.c is breaking and leaving the raised use count.

>When I strace rmmod, the last few lines are:
>
> query_module(NULL, QM_MODULES, { /* 5 entries */ }, 5) = 0
> query_module("serial", QM_INFO, {address=0xd8816000, size=43620, flags=MOD_RUNNING, usecount=14}, 16) = 0
> query_module( <unfinished ...>
> +++ killed by SIGSEGV +++

Information about the second module in the chain (after "serial") is
corrupt. What does lsmod report?

You should have several oops reports in your syslog. Run the first two
through ksymoops and send in the ksymoops output.

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