Re: Slab corruption after unloading a module

From: zhiyi huang
Date: Sun Apr 16 2006 - 05:39:05 EST



On 16/04/2006, at 4:21 PM, Randy.Dunlap wrote:

On Thu, 13 Apr 2006 11:04:39 +1200 Zhiyi Huang wrote:

2.6.8 is an old kernel, you could very well be hitting a kernel bug
that has been fixed already. Can you reproduce this with 2.6.16?

I will try that soon.

Also,
you're not including sources to your module so it's impossible to tell
whether you're doing something wrong.

Pekka

Below is my baby module which only uses kmalloc and kfree for my device
structure. I found the slab corruption address is the address of the structure.
It seems to be a bug for kmalloc and kfree.

/* The parameter for testing */
int major=0;
MODULE_PARM(major, "i");
MODULE_PARM_DESC(major, "device major number");

Hi,
I had no problem loading and unloading your module on
2.6.17-rc1 [after changing MODULE_PARM() to
module_param(major, int, 0644);
].

---
~Randy

There was no problem if I just load and unload the module. But if I write to the device using "ls > /dev/temp" and then unload the module, I would get slab corruption. I tried to install 2.6.16.5 at the moment but got stuck when I was making an initrd image file (no output file produced! and no errors displayed). Once I get around this problem, I should be able to test it on the new kernel.
Zhiyi
-
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/