> Got the following with 2.0.31pre9.
> EIP: 0010:[<0012d448>]
> >>EIP: 12d448 <locks_remove_locks+c/38>
it's a completely garbled file array structure. Could you try the
attached (untested) diagnostic patch, does it produce logging output?
-- mingo
--- .exit.c.original Wed Sep 17 14:49:57 1997
+++ exit.c Wed Sep 17 14:55:06 1997
@@ -393,10 +393,18 @@
}
}
+#include <linux/kernel_stat.h>
+#define NOSCHEDULE_ON() int __curr_ctx = kstat.context_swtch;
+#define NOSCHEDULE_OFF() if (__curr_ctx != kstat.context_swtch) \
+ printk("Hey! illegal scheduling at: %s:%d.\n", \
+ __LINE__,__FILE__);
+
static inline void close_files(struct files_struct * files)
{
int i, j;
+ NOSCHEDULE_ON();
+
j = 0;
for (;;) {
unsigned long set = files->open_fds.fds_bits[j];
@@ -411,6 +419,8 @@
set >>= 1;
}
}
+
+ NOSCHEDULE_OFF();
}
static inline void __exit_files(struct task_struct *tsk)