Hi Rusty, (If you are not the culprit, please forward to the guilty party).
The patch the the Wavelan driver that I quote below introduces a nice bug that can crash the kernel. Maybe you want to think about fixing it, or maybe I should revert the patch... As a side note... I personally don't like the "string pointer" module parameter, previously 'p' and currently 'charp', because I can easily lead to this kind of bug, add extra bloat in the module for various checks and doesn't have a clean way to return the error to user space. I personally introduced the "double char array" module parameter, 'c', to fix that. I even sent you the patch to add 'c' support in your new module loader (see set_obsolete()). Would it be possible to carry this feature with the new module_param_array ? Thanks in advance... Jean ------------------------------------------------------------- diff -Nru a/drivers/net/wireless/wavelan.c b/drivers/net/wireless/wavelan.c --- a/drivers/net/wireless/wavelan.c 2005-01-11 20:03:09 -08:00 +++ b/drivers/net/wireless/wavelan.c 2005-01-11 20:03:09 -08:00 @@ -4344,7 +4344,8 @@ struct net_device *dev = alloc_etherdev(sizeof(net_local)); if (!dev) break; - memcpy(dev->name, name[i], IFNAMSIZ); /* Copy name */ + if (name[i]) + strcpy(dev->name, name[i]); /* Copy name */ dev->base_addr = io[i]; dev->irq = irq[i]; diff -Nru a/drivers/net/wireless/wavelan.p.h b/drivers/net/wireless/wavelan.p.h --- a/drivers/net/wireless/wavelan.p.h 2005-01-11 20:03:07 -08:00 +++ b/drivers/net/wireless/wavelan.p.h 2005-01-11 20:03:07 -08:00 @@ -703,10 +703,11 @@ /* Parameters set by insmod */ static int io[4]; static int irq[4]; -static char name[4][IFNAMSIZ]; -MODULE_PARM(io, "1-4i"); -MODULE_PARM(irq, "1-4i"); -MODULE_PARM(name, "1-4c" __MODULE_STRING(IFNAMSIZ)); +static char *name[4]; +module_param_array(io, int, NULL, 0); +module_param_array(irq, int, NULL, 0); +module_param_array(name, charp, NULL, 0); + MODULE_PARM_DESC(io, "WaveLAN I/O base address(es),required"); MODULE_PARM_DESC(irq, "WaveLAN IRQ number(s)"); MODULE_PARM_DESC(name, "WaveLAN interface neme(s)"); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/