Patch follows. It had fixed ALSA-triggered memory corruption here -
what happens in vanilla 2.5.70 is that clear_inode() is not called when
procfs character device inodes are freed. That leaves a freed inode on
a cyclic list, with obvious unpleasantness following when we try to traverse
it (e.g. when unregistering a device).
Please, apply. Folks who'd seen oopsen/memory corruption after
ALSA access - please, check if that fixes all problems.
--- C70/fs/proc/inode.c Mon May 26 22:21:40 2003
+++ C70-current/fs/proc/inode.c Tue May 27 20:07:01 2003
@@ -61,8 +61,6 @@
struct proc_dir_entry *de;
struct task_struct *tsk;
- inode->i_state = I_CLEAR;
-
/* Let go of any associated process */
tsk = PROC_I(inode)->task;
if (tsk)
@@ -75,6 +73,7 @@
module_put(de->owner);
de_put(de);
}
+ clear_inode(inode);
}
struct vfsmount *proc_mnt;
-
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/