From be7a02dd2b97c2ae3ee8892d8716a09ce7b8b04e Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Sun, 29 Dec 2002 18:59:06 -0800 Subject: [PATCH] Fix MODULE_PARM for arrays of s. I interpreted "1-10s" to mean a string of 1-10 chars. It actually means 1-10 comma-separated strings. --- kernel/module.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) (limited to 'kernel') diff --git a/kernel/module.c b/kernel/module.c index 4b789cf97f5d..c33aac2d23b9 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -569,20 +569,6 @@ static int param_set_byte(const char *val, struct kernel_param *kp) return 0; } -static int param_string(const char *name, const char *val, - unsigned int min, unsigned int max, - char *dest) -{ - if (strlen(val) < min || strlen(val) > max) { - printk(KERN_ERR - "Parameter %s length must be %u-%u characters\n", - name, min, max); - return -EINVAL; - } - strcpy(dest, val); - return 0; -} - extern int set_obsolete(const char *val, struct kernel_param *kp) { unsigned int min, max; @@ -618,7 +604,8 @@ extern int set_obsolete(const char *val, struct kernel_param *kp) return param_array(kp->name, val, min, max, obsparm->addr, sizeof(long), param_set_long); case 's': - return param_string(kp->name, val, min, max, obsparm->addr); + return param_array(kp->name, val, min, max, obsparm->addr, + sizeof(char *), param_set_charp); } printk(KERN_ERR "Unknown obsolete parameter type %s\n", obsparm->type); return -EINVAL; -- cgit v1.2.3