Re: Oops on 2.6.24.2 "rmmod fan" && "rmmod 8250_pnp"

From: Alexey Dobriyan
Date: Mon Feb 18 2008 - 16:16:04 EST


On Mon, Feb 18, 2008 at 04:59:04AM -0800, Andrew Morton wrote:
> On Fri, 15 Feb 2008 00:34:19 +0000 linux-kernel@xxxxxxxxxxxxxxxx wrote:
>
> > Hi,
> >
> > Just trying out 2.6.24.2 and in unloading some modules which I don't need
> > managed to generate kernel oopsii. My apologies if these had been reported,
> > I did a search and didn't see any other reports.
> >
> > rmmod fan gives:
> >
> > Feb 14 19:02:22 nike kernel: [ 150.012343] WARNING: at fs/proc/generic.c:736 remove_proc_entry()
> > Feb 14 19:02:22 nike kernel: [ 150.012379] Pid: 3570, comm: rmmod Not tainted 2.6.24.2 #1
> > Feb 14 19:02:22 nike kernel: [ 150.012465]
> > Feb 14 19:02:22 nike kernel: [ 150.012466] Call Trace:
> > Feb 14 19:02:22 nike kernel: [ 150.012536] [<ffffffff802ea0db>] remove_proc_entry+0x198/0x1df
> > Feb 14 19:02:22 nike kernel: [ 150.012587] [<ffffffff8032a8de>] kobject_release+0x0/0xf
> > Feb 14 19:02:22 nike kernel: [ 150.012619] [<ffffffff8032a8eb>] kobject_release+0xd/0xf
> > Feb 14 19:02:22 nike kernel: [ 150.012650] [<ffffffff8032b906>] kref_put+0x5f/0x6b
> > Feb 14 19:02:22 nike kernel: [ 150.012682] [<ffffffff8032a844>] kobject_put+0x19/0x1b
> > Feb 14 19:02:22 nike kernel: [ 150.012714] [<ffffffff803988aa>] bus_put+0xd/0xf
> > Feb 14 19:02:22 nike kernel: [ 150.012746] [<ffffffff80398966>] bus_remove_driver+0xba/0xc3
> > Feb 14 19:02:22 nike kernel: [ 150.012783] [<ffffffff881e3367>] :fan:acpi_fan_exit+0x23/0x25
> > Feb 14 19:02:22 nike kernel: [ 150.012815] [<ffffffff80264c1d>] sys_delete_module+0x1b0/0x1e3
> > Feb 14 19:02:22 nike kernel: [ 150.012851] [<ffffffff8020f707>] syscall_trace_enter+0xb7/0xbb
> > Feb 14 19:02:22 nike kernel: [ 150.012885] [<ffffffff8020c21a>] tracesys+0xdc/0xe1
> > Feb 14 19:02:22 nike kernel: [ 150.012920]
>
> Alexey touched it last!

I wore gloves!!!

> Might be acpi doing something bad.

What I can't understand is why acpi_bus_register_driver() copies ->owner
but nobody supplies one.


Please apply this patch and post the message from it. It can be double
addition of "state" in acpi_fan_add_fs(). How many "/proc/acpi/fan/state"'s
do you have?

--- a/fs/proc/generic.c~proc-print-more-information-when-removing-non-empty-directories
+++ a/fs/proc/generic.c
@@ -769,7 +769,12 @@ continue_removing:
if (S_ISDIR(de->mode))
parent->nlink--;
de->nlink = 0;
- WARN_ON(de->subdir);
+ if (de->subdir) {
+ printk(KERN_WARNING "%s: removing non-empty directory "
+ "'%s/%s', leaking at least '%s'\n", __func__,
+ de->parent->name, de->name, de->subdir->name);
+ WARN_ON(1);
+ }
if (atomic_dec_and_test(&de->count))
free_proc_entry(de);
break;
_
--
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/